Skip to content

Commit 67026a7

Browse files
committed
Add 3DGS epiphany roadmap plan
1 parent a4f0fbd commit 67026a7

1 file changed

Lines changed: 172 additions & 0 deletions

File tree

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
# 3DGS Epiphany Roadmap Plan — lance-graph
2+
3+
## Goal
4+
5+
Collect high-leverage follow-up ideas discovered during the 3DGS planning pass.
6+
7+
This file is intentionally exploratory. Promote items into separate plans when they become implementation-ready.
8+
9+
## 1. CHLOD: Certified Hierarchical Level of Detail
10+
11+
Replace heuristic-only LOD with certified decisions.
12+
13+
```text
14+
HLOD + error certificate + query relevance = CHLOD
15+
```
16+
17+
Key idea:
18+
19+
- parent tile can be accepted only if error certificate passes
20+
- child refinement is triggered by certified error, not just geometric error
21+
- stored certificates allow repeatable render decisions
22+
23+
Potential crate:
24+
25+
```text
26+
crates/geo-chlod
27+
```
28+
29+
## 2. 3DGS change detection with error envelopes
30+
31+
Use certificates to distinguish real scene change from approximation artifact.
32+
33+
Pipeline:
34+
35+
```text
36+
scan A
37+
scan B
38+
-> align / normalize
39+
-> compare splat blocks and features
40+
-> subtract known error envelopes
41+
-> emit changed regions above confidence threshold
42+
```
43+
44+
Useful for:
45+
46+
- construction progress
47+
- infrastructure inspection
48+
- forestry
49+
- archaeology
50+
- digital twins
51+
52+
## 3. Query-aware foveated traversal
53+
54+
Classic foveated rendering cares about camera gaze.
55+
56+
Query-aware traversal also cares about semantic focus:
57+
58+
```text
59+
camera focus + query focus + certificate budget -> tile priority
60+
```
61+
62+
Example:
63+
64+
- user selects pipe network
65+
- renderer refines splats near pipe assets
66+
- unrelated tiles stay coarse even if visually nearby
67+
68+
## 4. ArcGIS-compatible output mode
69+
70+
Goal: export enough 3D Tiles / FeatureServer-like resources to interoperate with GIS tools.
71+
72+
Do not reimplement full ArcGIS Server first.
73+
74+
Start with:
75+
76+
- static 3D Tiles export
77+
- GeoJSON / vector overlay export
78+
- simple FeatureServer-like query endpoint for local data
79+
80+
## 5. Lance-backed implicit subtree server
81+
82+
Use Lance tables as the source of truth for implicit tiling.
83+
84+
Endpoint generates subtree files from table rows and availability bitstreams.
85+
86+
Advantages:
87+
88+
- no giant JSON tile trees
89+
- fast updates
90+
- compact change sets
91+
- queryable availability
92+
93+
## 6. 3DGS tile compiler
94+
95+
Build a compiler:
96+
97+
```text
98+
raw splats / glTF / SPZ / photogrammetry output
99+
->
100+
local frames
101+
->
102+
HHTL partitioning
103+
->
104+
3D Tiles + Lance sidecar
105+
->
106+
certificates
107+
```
108+
109+
This is likely the first impressive demo path.
110+
111+
## 7. Scientific/medical sibling path
112+
113+
The same certified 3DGS machinery may work for volumetric ultrasound / medical field rendering.
114+
115+
Shared concepts:
116+
117+
- splat-like anisotropic kernels
118+
- covariance projection
119+
- certified uncertainty
120+
- queryable metadata
121+
- CPU-first previews
122+
123+
Keep this as a sibling idea, not in the core geospatial path.
124+
125+
## 8. Tile intelligence as graph
126+
127+
Represent the world as:
128+
129+
```text
130+
Tile -> Content -> SplatBlock -> Feature -> Asset -> Observation -> Certificate
131+
```
132+
133+
This makes visual data queryable and auditable.
134+
135+
The viewer becomes a spatial intelligence engine, not just a renderer.
136+
137+
## 9. External compatibility envelope, internal columnar core
138+
139+
Recommended strategy:
140+
141+
```text
142+
external envelope: 3D Tiles / glTF / ArcGIS-compatible outputs
143+
internal core: Lance / Arrow / ndarray SIMD / certificates
144+
```
145+
146+
This avoids fighting standards while still gaining performance and auditability.
147+
148+
## 10. First demo target
149+
150+
Do not start with the whole planet.
151+
152+
Start with:
153+
154+
```text
155+
one small 3DGS scene
156+
one tileset.json
157+
one Lance sidecar
158+
one camera traversal request
159+
one certified decision report
160+
one CPU projection preview
161+
```
162+
163+
Then grow from there.
164+
165+
## Promotion criteria
166+
167+
Promote an epiphany into its own plan when:
168+
169+
- it has a clear crate owner
170+
- it has a testable input/output boundary
171+
- it can be built without blocking the base 3D Tiles runtime
172+
- it improves either compatibility, performance, or auditability

0 commit comments

Comments
 (0)