Skip to content

Commit e39f3f9

Browse files
authored
Merge pull request #473 from AdaWorldAPI/claude/cesium-osm-substrate-v1
docs(cesium-osm): OpenStreetMap as 6th source class — 7 D-OSM-* deliverables + Q1/Q2/Q3 OGAR coordination locked
2 parents 159728b + a25565b commit e39f3f9

4 files changed

Lines changed: 375 additions & 0 deletions

File tree

.claude/board/AGENT_LOG.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,42 @@
1+
## [Opus 4.7 / 1M ctx, main thread] cesium-osm-substrate-v1 — OSM as 6th Cesium ingest source class (cross-session coordination with OGAR)
2+
3+
**Branch:** `claude/cesium-osm-substrate-v1` (new branch off `main`). **Files (this commit, lance-graph side):**
4+
- `.claude/plans/cesium-osm-substrate-v1.md` (new, ~430 lines) — companion to `3DGS-ArcGIS-Cesium-ingestion-plan.md` (parent) and `splat-native-ultrasound-v1.md` (substrate-sibling); 7 D-OSM-* deliverables; OGAR Q1/Q2/Q3 rulings locked.
5+
- `.claude/board/INTEGRATION_PLANS.md` — PREPEND cesium-osm-substrate-v1 entry.
6+
- `.claude/board/STATUS_BOARD.md` — new section with 7 D-OSM-* deliverable rows.
7+
- `.claude/board/AGENT_LOG.md` — this entry.
8+
9+
**Companion PR (separate, runtime-side stub):**
10+
- `ndarray/crates/cesium/src/osm_pbf.rs` — D-OSM-1 stub (mirrors `arcgis_pbf.rs` 428 LOC shape; OsmNode/OsmWay/OsmRelation/OsmPbfBlock stub types + OSM-XYZ → TMS Y-flip boundary helper); registered in `lib.rs` as `pub mod osm_pbf;`.
11+
12+
**Companion PR (queued behind this one):**
13+
- OGAR-side docs PR (`DOMAIN-INSTANCES.md §2.6` + `RDF-OWL-ALIGNMENT.md §10 Phase 2c`) — citation-only; cites D-OSM-1..7 by ID; signed off as "wait for runtime side first" coordination discipline.
14+
15+
**Tests:** none (docs/board only; `cargo` not invoked per the docs-PR pattern). Source code lands per phase P1-P4 sprint-window as user ratifies OQ-OSM-1..5.
16+
17+
**Architecture summary** (full detail in plan §0-§10):
18+
- 7 deliverables across ndarray + lance-graph + lance-graph-ontology + 1-2 new crates.
19+
- Phases P1-P4: substrate (sprint 1-2) → SPO contract (sprint 3) → splat-fit + 3D Tiles writer (sprint 4-5) → UX-edge (sprint 6+ optional).
20+
- Critical-path edges: D-OSM-1 (ndarray foundation) → D-OSM-2 (lance-graph ingest) → D-OSM-5 (splat-fit-geo) → D-OSM-6 (3D Tiles writer — the genuine Rust gap, first-of-its-kind).
21+
- 5 open questions OQ-OSM-1..5 with default proposals.
22+
- Inherits (no new build): osmpbf v0.4 (b-r-u, only production-grade Rust OSM crate); gltf Rust crate (D-OSM-6 building block); georaster + srtm_reader (D-OSM-4 reference); cesium SSE/HLOD/implicit_tiling already shipped in ndarray.
23+
24+
**Cross-arc substrate reuse (explicit; same as splat-native arc payoff):**
25+
- D-SPLAT-1 `Gaussian3D` carrier — reused verbatim in D-OSM-5.
26+
- D-SPLAT-2 SIMD ops — all five (cholesky/mahalanobis/opacity_blend/sh_eval_l3/se3_transform) reused; D-OSM-4 adds `batched_sample_height` as a W1c sibling primitive.
27+
- D-SPLAT-3 `SplatBatch<N>` SoA — reused verbatim in D-OSM-5 emit + D-OSM-6 writer input.
28+
- D-SPLAT-12 `splat-render` — same renderer; OSM + ultrasound become two scene backends behind the same render surface.
29+
30+
**OGAR cross-session coordination (locked 2026-06-05):**
31+
- Q1 (tags → IR): Tag-as-Class (c) end-state; `tags: List<Struct<key,value>>` Arrow column (b) v1 fallback.
32+
- Q2 (NiblePath): Cesium TMS quadkey `osm/qk:<level>/<x>/<y>/<type>/<id>`.
33+
- Q3 (Y-axis): OSM-XYZ → TMS flip at ingest boundary per I-LEGACY-API-FEATURE-GATED.
34+
- OGAR session "going quiet" with green light; queued action = docs PR after this lands so they cite D-OSM-* by ID.
35+
36+
**Outcome:** plan + 7 deliverable rows + governance ledger entries + OGAR coordination rulings preserved; substrate-reuse claim captured before it dilutes across sessions; the §6 FMA litmus from splat-native-ultrasound-v1 gets a geographic litmus complement (Marienplatz is_in Munich in sub-microsecond, same HHTL primitive as Femur is_a LongBone).
37+
38+
---
39+
140
## [Opus 4.7 / 1M ctx, main thread] splat-native-ultrasound-v1 — cross-workspace integration plan + per-repo work-division + interconnect map
241

342
**Branch:** `claude/splat-native-ultrasound-v1` (new branch off `main` at `38627e9c5a`). **Files (this commit, lance-graph side):**

.claude/board/INTEGRATION_PLANS.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
## 2026-06-05 — cesium-osm-substrate-v1 (OpenStreetMap as 6th source class for the 3DGS-ArcGIS-Cesium ingestion plan; OSM PBF → Arrow → Lance → SPO → cesium tileset → splat renderer; substrate-reuse with splat-native-ultrasound-v1)
2+
3+
**Status:** PROPOSAL. Design-spec only, no code. **Plan file:** `.claude/plans/cesium-osm-substrate-v1.md` (~430 LOC). **Trigger:** user feasibility question on OSM × Cesium × Gaussian-splat coupling; cross-session coordination with OGAR.
4+
**Owns:** 7 deliverables D-OSM-1..7. ndarray D-OSM-1 (cesium stub), D-OSM-4 (SIMD `batched_sample_height`), D-OSM-6 (`cesium-3dtiles-writer` — the genuine Rust gap, no existing crate produces b3dm/i3dm/cmpt); lance-graph D-OSM-2 (osmpbf → Arrow → Lance), D-OSM-7 (Nominatim sidecar; optional); lance-graph-ontology D-OSM-3 (OSM tag → SPO triple lift; **OGAR-crossing contract**); new `crates/splat-fit-geo` or `splat-fit` `geo` feature D-OSM-5 (OSM footprint × DEM → extruded Gaussian3D).
5+
**OGAR coordination (locked 2026-06-05):** Q1 ruling = Tag-as-Class (c) end-state with `tags: List<Struct<key,value>>` Arrow column (b) as v1 fallback. Q2 ruling = Cesium TMS quadkey NiblePath `osm/qk:<level>/<x>/<y>/<type>/<id>`. Q3 ruling = OSM-XYZ → TMS Y-flip at ingest boundary (per `I-LEGACY-API-FEATURE-GATED`). OGAR-side docs PR (`DOMAIN-INSTANCES.md §2.6` + `RDF-OWL-ALIGNMENT.md §10 Phase 2c`) queued behind this PR to cite D-OSM-* by ID.
6+
**Anchored:** E-SOA-IS-THE-ONLY (one substrate, three operations — fit/accumulate/render — shared across ultrasound + geospatial; D-SPLAT-1/2/3/12 reused verbatim in D-OSM-5/6), I-VSA-IDENTITIES (Tag identity fingerprints not content bundling), I-LEGACY-API-FEATURE-GATED (Y-axis Q3 boundary), I-NOISE-FLOOR-JIRAK (geocode significance under weak dependence).
7+
**Companion plans:** `3DGS-ArcGIS-Cesium-ingestion-plan.md` (parent / structural; 5 source classes — this adds 6th), `splat-native-ultrasound-v1.md` (substrate-sibling; Gaussian3D carrier reuse anchor).
8+
**5 open questions:** OQ-OSM-1 Tag canonicalization rules · OQ-OSM-2 DEM source (default: SRTM 1-arcsec) · OQ-OSM-3 writer scope (MVP: b3dm + cmpt + tileset.json; full: + i3dm/pnts/subtree) · OQ-OSM-4 ingest discipline (per-country PBF v1; planet-scale sharded) · OQ-OSM-5 coordinate-policy compliance for DEM CRS declaration.
9+
10+
---
11+
112
## 2026-06-05 — splat-native-ultrasound-v1 (CPU-only Gaussian-splat ultrasound SaMD: probe RF/IQ → splat-fit → Mailbox<Gaussian3D> → 4-phase Rubicon kanban → FMA-atlas Σ-sandwich registration → AR rendering; the explicit customer of OGAR PR #30 §6 FMA litmus + ADR-022 firewall as SaMD Class IIa evidence base)
213

314
**Status:** PROPOSAL. Design-spec only, no code. **Plan file:** `.claude/plans/splat-native-ultrasound-v1.md` (~930 LOC, 12 sections incl. §10 per-repo work-division + interconnect map). **Trigger:** user-supplied architecture diagrams (English 6-stage + German business-facing).

.claude/board/STATUS_BOARD.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
## cesium-osm-substrate-v1 — OpenStreetMap as 6th Cesium ingest source class (7 deliverables; substrate-reuse with splat-native)
2+
3+
Plan path: `.claude/plans/cesium-osm-substrate-v1.md`. Parent: `3DGS-ArcGIS-Cesium-ingestion-plan.md` (structural). Sibling: `splat-native-ultrasound-v1.md` (Gaussian3D carrier reuse). OGAR coordination 2026-06-05 locked Q1/Q2/Q3 rulings. OGAR-side docs PR (DOMAIN-INSTANCES §2.6 + RDF-OWL-ALIGNMENT §10 Phase 2c) queued behind this PR.
4+
5+
| D-id | Title | Crate(s) / repo | ~LOC | Risk | Sprint | Status | PR / Evidence |
6+
|---|---|---|---|---|---|---|---|
7+
| D-OSM-1 | `crates/cesium/src/osm_pbf.rs` stub (mirrors `arcgis_pbf.rs` shape; OsmNode/OsmWay/OsmRelation/OsmPbfBlock + OSM-XYZ → TMS Y-flip helper; no osmpbf dep yet) | `ndarray` | 400 | LOW | P1 sprint 1 | **Queued** | foundation; gates nothing upstream |
8+
| D-OSM-2 | osmpbf v0.4 consumer + Arrow RecordBatch emitter → Lance datasets `osm_nodes` / `osm_ways` / `osm_relations` (tags as Q1 v1 fallback `List<Struct<key,value>>`; qk_tms_path per Q2) | `lance-graph` | 600 | MED | P1 sprint 1-2 | **Queued** | gates on D-OSM-1 |
9+
| D-OSM-3 | OSM tag → SPO triple lift (`(Way#123, ogar:hasTag, "building=yes")`); **OGAR-crossing contract** that `ogar-from-osm-pbf` Phase 2c consumes | `lance-graph-ontology` | 200 | LOW | P2 sprint 3 | **Queued** | gates on D-OSM-2 + OGAR readiness signal |
10+
| D-OSM-4 | `ndarray::simd::dem::batched_sample_height` W1c primitive (bilinear interp; all three backends AVX-512/NEON/scalar) | `ndarray` | 300 | MED | P2 sprint 3 | **Queued** | foundation; sibling to D-SPLAT-2 |
11+
| D-OSM-5 | Geospatial splat-fit: OSM footprint × DEM → extruded `Gaussian3D` batch (consumes D-SPLAT-1 carrier + D-SPLAT-3 SoA verbatim — substrate-reuse payoff) | new `crates/splat-fit-geo` OR `splat-fit` `geo` feature | 800 | MED-HIGH | P3 sprint 4-5 | **Queued** | gates on D-OSM-1 + D-OSM-2 + D-OSM-4 + D-SPLAT-1 + D-SPLAT-3 |
12+
| D-OSM-6 | `cesium-3dtiles-writer` crate — b3dm/cmpt/tileset.json emitter (**the genuine Rust gap; first-of-its-kind**); MVP scope, gltf-crate-based | `ndarray` (new `crates/cesium-3dtiles-writer` or `writer` feature on existing `cesium` crate) | 500 | HIGH | P3 sprint 4-5 | **Queued** | gates on D-OSM-5 + D-SPLAT-3 |
13+
| D-OSM-7 | Nominatim sidecar HTTP adapter (UX-edge optional; geocoding/reverse-geocoding via reqwest); response → D-OSM-2 primary path | `lance-graph` or new `crates/nominatim-client` | 150 | LOW | P4 sprint 6+ (optional; ship on UX-edge demand only) | **Queued** | independent path |
14+
15+
---
16+
117
## splat-native-ultrasound-v1 — CPU-only Gaussian-splat ultrasound SaMD (14 deliverables across ndarray/lance-graph/MedCare-rs/OGAR + new standalone crates)
218

319
Plan path: `.claude/plans/splat-native-ultrasound-v1.md`. Companions: ndarray `.claude/plans/splat-native-ultrasound-simd-substrate-v1.md`; OGAR `docs/SPLAT-NATIVE-CUSTOMER.md`; MedCare-rs `.claude/handovers/2026-06-05-splat-native-medcare-hipaa-wire.md`. Customer of OGAR PR #30 §6 FMA bones-rendering litmus + ADR-022 SaMD audit-controls evidence base.

0 commit comments

Comments
 (0)