araharah-executor
|
1ce35907d5
|
feat(06-01): CSR graph codec + committed mini-graph fixture + RouteStep.kind (GREEN)
- graph.ts: decodeGraph/encodeGraph over the pinned little-endian CSR
layout; header magic+version+exact byte-size validation BEFORE any view
allocation (T-06-03/T-06-03b fail-honest null); zero-copy typed-array
views; street-name pool with UNNAMED_NAME_ID sentinel
- header padded 60 -> 64 bytes so f64 views are 8-byte aligned — unaligned
Float64Array throws RangeError, making plan-literal offsets incompatible
with the plan's own zero-copy law (documented deviation; field
order/content/endian unchanged; consumers inherit via encodeGraph)
- build-mini-graph.mjs + committed mini-graph.bin: hand-built 5x5 grid,
25 nodes, 80 directed edges, 3 named streets, exactly ONE oneway pair,
two speed classes (60/30 km/h) — the A* ground truth (G7 pins it)
- types.ts: RouteStep gains optional kind (8 turn kinds) — Engine A
populates it (06-01); fixture-world steps stay empty arrays (D-10)
|
2026-10-24 12:07:17 +08:00 |
|
araharah-executor
|
c92a955272
|
feat(05-01): RoutingSource contract + day-one route model + fixture seed schema
- types.ts: the D-01 backend-ladder seam (fixture -> wasm-router -> valhalla),
D-03 null contract documented on the interface, D-07 day-one fields
(RouteStep typed + RouteGeometry.cumulativeDistanceM, GUID-05/06 obligation)
- route-fixtures.json: committed EMPTY seed with the ODbL header
(license/attribution/notice, T-05-06) — plan 05-02 populates it
|
2026-10-24 04:59:45 +08:00 |
|