Skip to content

Commit 42852f3

Browse files
committed
Add 3DGS SplatShaderBlas BLASGraph cross-pollination plan
1 parent a100446 commit 42852f3

1 file changed

Lines changed: 195 additions & 0 deletions

File tree

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
# 3DGS SplatShaderBlas / BLASGraph Cross-Pollination Plan — lance-graph
2+
3+
## Goal
4+
5+
Cross-pollinate the new geospatial 3DGS plans with the existing SplatShaderBlas, EWA-Sandwich, BLASGraph, and PR-X12 codec canon.
6+
7+
The older line already established:
8+
9+
```text
10+
splat deposition
11+
-> EWA sandwich propagation
12+
-> L1-L4 spatial BLAS framing
13+
-> SplatShaderBlas naming
14+
-> BLASGraph / tropical-GEMM / bgz17 scalar sparse substrate
15+
```
16+
17+
The new 3DGS plans should reuse this spine instead of inventing an unrelated renderer-only path.
18+
19+
## Existing canon to preserve
20+
21+
Prior work distinguishes two tiers:
22+
23+
```text
24+
SplatShaderBlas-Bitpacked
25+
storage: AwarenessPlane16K = [u64; 256]
26+
operation: popcount, AND/OR-popcount
27+
workloads: set membership, Jaccard, Adamic-Adar, triangle, LPA, Louvain
28+
29+
SplatShaderBlas-Palette
30+
storage: BGZ17 palette + distance table
31+
operation: D[palette_a[i]][palette_b[j]] lookup
32+
workloads: continuous metric similarity, CAM-PQ-like fields
33+
```
34+
35+
The geospatial 3DGS path adds a third sibling tier:
36+
37+
```text
38+
SplatShaderBlas-3DGS
39+
storage: Lance/Arrow 3DGS blocks + ndarray SoA views
40+
operation: EWA sandwich, tile/block traversal, certificate aggregation
41+
workloads: maps, ultrasound, raw-field kernels, certified visualization
42+
```
43+
44+
## BLASGraph correction
45+
46+
Older docs sometimes said:
47+
48+
```text
49+
lance-graph::blasgraph::tropical_gemm
50+
```
51+
52+
Newer PR-X12 follow-up corrected the current location:
53+
54+
```text
55+
lance-graph::bgz17::scalar_sparse::tropical_spmv
56+
```
57+
58+
Treat `blasgraph` as the future abstraction name, not necessarily the current symbol path.
59+
60+
## Responsibility split
61+
62+
```text
63+
ndarray:
64+
numerical kernels
65+
EWA/SYRK/MKL/OpenBLAS/AMX backend dispatch
66+
3DGS projection and certificates
67+
4x4 Block4 carrier math
68+
69+
lance-graph:
70+
graph/tile/block orchestration
71+
SplatShaderBlas naming and tier selection
72+
BLASGraph / bgz17 sparse substrate routing
73+
Lance/Arrow persistence
74+
query planning
75+
certified decision reports
76+
```
77+
78+
## Unified SplatShaderBlas model
79+
80+
Represent all three tiers under one conceptual interface:
81+
82+
```rust
83+
pub enum SplatShaderBlasTier {
84+
BitpackedPlane,
85+
PaletteDistance,
86+
Gaussian3d,
87+
}
88+
89+
pub struct SplatShaderBlasRequest {
90+
pub tier: SplatShaderBlasTier,
91+
pub source_ref: String,
92+
pub query_ref: Option<String>,
93+
pub budget_ref: Option<String>,
94+
}
95+
96+
pub struct SplatShaderBlasDecision {
97+
pub tier: SplatShaderBlasTier,
98+
pub action: String,
99+
pub score: f32,
100+
pub confidence: Option<f32>,
101+
pub certificate_id: Option<String>,
102+
pub reason_codes: Vec<String>,
103+
}
104+
```
105+
106+
This should start as a plan-level DTO, not immediate public API.
107+
108+
## Cross-pollination targets
109+
110+
### 1. EWA sandwich propagation
111+
112+
Use the same conceptual kernel across:
113+
114+
```text
115+
2D cognitive planes
116+
OSINT path covariance
117+
3DGS spatial covariance projection
118+
ultrasound PSF covariance
119+
raw-field Block4 carrier certification
120+
```
121+
122+
### 2. Tropical / sparse BLAS planning
123+
124+
Use tropical/spatial BLAS for decision planning:
125+
126+
```text
127+
tile refinement graph
128+
CTU / HHTL partition graph
129+
certificate propagation graph
130+
query relevance graph
131+
```
132+
133+
### 3. Palette substrate
134+
135+
Reuse palette/codebook machinery for:
136+
137+
```text
138+
3DGS Gaussian palette compression
139+
raw-field kernel block clustering
140+
attention/KV palette experiments
141+
genetics/neuron motif blocks
142+
```
143+
144+
### 4. Certified decision report
145+
146+
All tiers should return reports with:
147+
148+
```text
149+
source id
150+
operation tier
151+
error / confidence / certificate id
152+
reason codes
153+
fallback action
154+
```
155+
156+
## Integration into new 3DGS plans
157+
158+
Patch or reference these plans:
159+
160+
```text
161+
3DGS-Lance-Arrow-storage-plan.md
162+
add SplatShaderBlas tier metadata and certificate links
163+
164+
3DGS-certified-query-render-plan.md
165+
include SplatShaderBlas decision tiers
166+
167+
3DGS-4x4-cognitive-shader-integration-plan.md
168+
map Block4 carrier to SplatShaderBlas-3DGS
169+
170+
3DGS-epiphany-roadmap-plan.md
171+
add CHLOD + SplatShaderBlas convergence path
172+
```
173+
174+
## Acceptance criteria
175+
176+
- New 3DGS plans clearly reference the older SplatShaderBlas / PR-X12 line.
177+
- BLASGraph is treated as a future abstraction unless the current symbol exists.
178+
- Current path `bgz17::scalar_sparse::tropical_spmv` is recorded as the known implementation anchor.
179+
- The three tiers are named separately to avoid bitpacked/palette/3DGS conflation.
180+
- Tile/render/query decisions can consume SplatShaderBlas-style reports.
181+
182+
## Demo trajectory
183+
184+
First integrated demo should be deliberately small:
185+
186+
```text
187+
one 3DGS tile block
188+
one Lance sidecar
189+
one ndarray EWA projection report
190+
one SplatShaderBlas-3DGS decision
191+
one persisted certificate
192+
one query asking why the tile was rendered/refined/rejected
193+
```
194+
195+
This proves the seam without requiring the whole ArcGIS/Cesium stack.

0 commit comments

Comments
 (0)