You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Parent:#259 (techdesign) — see sdlc/#259/design.md, lever L1. References #60. Reanalyzed 2026-07-04: groundwork premise corrected; scope otherwise stands.
Why
The importer re-imports every chunk unconditionally on every run — still true on master (no fingerprint/skip logic anywhere in SFMapImporterWindow.cs). The real workflow is many re-imports after localized data fixes, so this remains the highest-value iteration lever: a re-import after a small fix should drop from minutes to seconds.
⚠ Correction (2026-07-04): the groundwork does NOT exist
The earlier body claimed GeneratedAssets.ChunkFingerprint(...) / GeneratorVersion "are already defined in PipelineTypes.cs". False — they were added in 61cc74e2 (#66) and deleted in a08384f2 (#79) together with the old C# generator, before this ticket was written. Nothing on master computes a chunk fingerprint today. Prior art is git history only:
Fingerprint per chunk: either Python writes chunkHashes into manifest.json (small serialize.py add), or the importer hashes the chunk's .binand sidecars (_buildings.json, _parked.json, _names.json, overrides) — sidecars now shape the output (templates, decals), so they must dirty the chunk.
In RunImport(): fingerprint match andChunkPrefabPath(coord) exists → InstantiatePrefab the existing prefab and continue (flow per sdlc/#60/design.md).
Reintroduce a GeneratorVersion constant; bump when import code changes.
Parent: #259 (techdesign) — see
sdlc/#259/design.md, lever L1. References #60.Reanalyzed 2026-07-04: groundwork premise corrected; scope otherwise stands.
Why
The importer re-imports every chunk unconditionally on every run — still true on master (no fingerprint/skip logic anywhere in
SFMapImporterWindow.cs). The real workflow is many re-imports after localized data fixes, so this remains the highest-value iteration lever: a re-import after a small fix should drop from minutes to seconds.⚠ Correction (2026-07-04): the groundwork does NOT exist
The earlier body claimed
GeneratedAssets.ChunkFingerprint(...)/GeneratorVersion"are already defined inPipelineTypes.cs". False — they were added in61cc74e2(#66) and deleted ina08384f2(#79) together with the old C# generator, before this ticket was written. Nothing on master computes a chunk fingerprint today. Prior art is git history only:61cc74e2— fingerprint helper (FNV-1a over inputs + params + version)f75769e5— skip-loop pattern (fingerprint match + prefab exists →InstantiatePrefab+continue)SFMapPipelineWindow.cs); reference pattern only.What
chunkHashesintomanifest.json(smallserialize.pyadd), or the importer hashes the chunk's.binand sidecars (_buildings.json,_parked.json,_names.json, overrides) — sidecars now shape the output (templates, decals), so they must dirty the chunk.RunImport(): fingerprint match andChunkPrefabPath(coord)exists →InstantiatePrefabthe existing prefab andcontinue(flow persdlc/#60/design.md).GeneratorVersionconstant; bump when import code changes.Done when
A re-import with unchanged source data skips already-current chunks and completes in a fraction of cold-import time, with identical resulting assets.