23 lines
786 B
Markdown
23 lines
786 B
Markdown
# P5A ZIP Export Design
|
|
|
|
The compiler owns a pure `exportNativeRoadPackage(result, destination)` function. It writes a
|
|
temporary root-flat directory from the already compiled Web/CLI state, validates it with the same
|
|
manifest/source validator used by compiler output, then writes a deterministic ZIP. The Web download
|
|
handler and CLI are thin callers of this function.
|
|
|
|
ZIP layout:
|
|
|
|
```text
|
|
manifest.json
|
|
compiled.json
|
|
diagnostics.json
|
|
comparison.json
|
|
traffic-signal-assemblies.json
|
|
traffic-signals.json
|
|
layers/<12 declared sources>.geojson
|
|
```
|
|
|
|
`manifest.generator` is informational only. The host accepts solely the `contract`, `areaId`, and
|
|
declared files. ZIP creation normalizes entry order and timestamps so the export is hash-stable.
|
|
Failure never replaces a chosen output file.
|