Question
Does the wall material palette measurably shift CSI statistics — drywall (as stored) vs concrete (forced override) on identical geometry and placements — or is the material a fidelity knob the campaigns can safely ignore?
Discovered while authoring this brief: the 12439 staged scene palette is already uniform drywall — the import does not tag per-wall materials, so the original heterogeneous-vs-uniform framing is counterfactual on every current floor. That makes palette sensitivity the testable question, and per-wall material tagging an import-side follow-on if this probe shows sensitivity.
A null result licenses cheap uniform scenes for every material-insensitive campaign; a hit forces a fidelity caveat onto every prior CSI result that ran on default materials. Either answer changes how the platform is operated — that is what makes a methodological arm worth one CPU-hour.
What we already know
- The scene bridge resolves each
cell_space_boundaries.materialto an ITU-R P.2040RadioMaterial(vault names: drywall/concrete/brick/glass/...;MATERIAL_TABLEinmonad_knowledge/sim/scenegeom.py); the 12439 scene stages walls asdrywallonly. - Mean amplitude alone cannot answer this — material redistribution mostly moves multipath
(delay structure), so the discriminating statistics are second-order: the runner emits
delay_spread_nsper (frame, link) since 2026-06-04 exactly for this arm. - The override is
scene_overrides.uniform_material(added 2026-06-04): the runner forces every wall to the named material and fails loudly if it is not in the staged palette. - c-csi-crowd-occlusion / c-csi-through-wall-blockage / c-csi-cross-geometry-resplan all ran on the as-stored palette — they are the results a positive KS outcome would caveat.
Prerequisites
- The 2026-06-04
sionna-csi-runnerimage (uniform-material override +delay_spread_ns). - Nothing else — same floor, same link layout, same seeds as the through-wall rig.
What the supervisor does
Run the 8-cell grid (2 arms × 2 bands × 2 occupancy, seed 0, 64 placements). The reduction is a
small KS-test pass over the paired runs' links.parquet (paired by band × occupancy; ECDFs over
per-placement mean_amp_db and delay_spread_ns, split by link class where the layout allows);
the analysis-writer reports the KS-D table and applies criterion 3's decision rule verbatim.
Figure render request
csi_material_ks — ECDF small-multiples (heterogeneous vs uniform, per band × occupancy) for both
statistics + a KS-D summary table panel.
Out of scope
- Furniture scatterers — obstacle cells are not yet extruded into the scene (the named follow-on extension); this arm tests the wall palette only.
- Material calibration against real data (
exp-csi-calibration). - The geometry-continuum claim — gated on real data regardless of this outcome.
Expected interpretation
- Null (KS-D small everywhere) → uniform scenes licensed; staging simplified; note added to the simulator's curated note.
- Hit on second-order only → prior campaigns' mean-amplitude conclusions stand, but variance/delay-sensitive claims (Rician-K slopes, CV bundles) acquire a material caveat; name the affected sessions explicitly.
- Hit on first-order too → palette fidelity is load-bearing for everything; escalate to a furniture-scatterer + material-audit follow-on before further CSI campaigns.
Notes
scene_overrides.uniform_material: nullin the grid means "as stored" (no override) — the resolver passes the null through and the runner skips the override branch.- The override material name is the VAULT-level name (
concrete, notitu_concrete) and must be in the staged palette or the runner exits loudly. NOTE: the stagedmaterialslist only carries palette entries actually referenced by walls — the runner-side override therefore needs the override material injected into the palette at staging, or the supervisor passes a material the bridge already stages. Verify on the first run; a loud failure here is a scene-bridge finding.