Question
Every prior campaign on the BLE/CSI arm measured anchor placement statistically — c-csi-topology-sniffer-count (topology vs area discriminability), c-ble-anchor-placement (graded-count recovery), c-ble-csi-coregistration (presence vs headcount). None of them asked the deployment question directly and visibly: does the floor's placed-anchor sensing footprint actually cover where the crowd goes? This campaign couples a real crowd walk on each floor to the floor's placed anchors and produces the overlay nobody has rendered — the line-of-sight coverage map with the time-integrated footfall on top — plus the one scalar that matters operationally: the fraction of real occupancy that falls in a sensing blind-spot.
Framing discipline. First-order line-of-sight visibility (a cell is sensed when an anchor
within los_range_m has a wall-unobstructed segment to it) over a self-authored crowd. The
blind-spot fraction ranks placements and exposes demand/coverage mismatch — it is a design
diagnostic, not a measured detection rate. The radiometric refinement (link amplitude, Fresnel,
multipath) is c-csi-cross-geometry-resplan / exp-csi-static; the field defeater is the
IP-106 hardware
capture. No hardware claim here.
Why now — the thread this closes
c-ble-anchor-placement showed topology-informed (hub + large-room) placement partially
recovers the graded BLE count the dispersed anchors lost. c-csi-layout-drift showed error
grows only when furniture moves in the sensing geometry. Both say the same thing: where the
links sit relative to where people are governs the signal. That is a coverage statement, and it
has only ever been argued from scalar effect sizes. This campaign makes it a picture and a number,
across the ResPlan size ladder plus the designed test-lab-synth floor.
Datasets exercised
- ResPlan apartments (
dataset/resplan) — six floors carrying a placedcsi-link-*experiment (1374, 16157, 12419, 147440, 7421, and 12439 with the topology-informedtopo-anchorslayout), spanning small 4-room to large 11-room layouts: a topology spread at overlapping areas, the same contrast c-csi-topology-sniffer-count used. - test-lab-synth (
synthetic) — the one clean floor with designed sniffer placement (synth-sniffer-cor-e/w,r1,r4); the control where coverage was authored on purpose. - IP-040 PostGIS supplies both the walkable geometry (envelope + wall LineStrings, staged as
floor_geometry.json) and the anchor XY (gis_experiment_layout).
Out of scope: a real FIIT floor —
fiit-libraryis the known geometry blocker (unlinked boundaries / disconnected polygonised cells) andfiit-automatedis not loaded into PostGIS;test-lab-synthstands in for the designed-placement case until the QGIS wall-reconcile lands.
What the supervisor does
- Fan out
walk-notebookover the seven floors (one through-traffic crowd each, seed 0,kind: groups, symbolic east→west regions — the same scenario validated onresplan-1374). walk-notebook is cheap (~6 s/floor), so the grid is a single batch. Honour the walkable QC: a floor that hard-fails (n_outside_walkable > 0or an over-eroded core) is reported as a geometry finding and dropped from the coverage corpus. - Per floor, read the anchors via
gis_experiment_layout(coverage_anchors[floor])→ the Rx/Tx XY in cm + role. Assemble the reduction config: oneinputsentry per floor with that floor's stagedfloor_geometry.json, itstrajectory.parquet, and the anchor list. - Run the
coverage_meets_crowdsnotebook (runnerpython, IP-087) once over all floors → per-floorfig_coverage_<floor>.png, the cross-floorfig_coverage_summary.png, andcoverage_meets_crowds.parquet. - Synthesise the coverage-of-demand ranking, the area/anchor-count controls, and the topology-placement contrast (criterion 4), with the LOS-proxy framing stated.
Figure render request
coverage_meets_crowds — (a) the per-floor coverage × footfall overlays (the gallery of
deployment maps), (b) blindspot_footfall_frac ranked across floors, (c) blind-spot fraction vs
floor area with anchor count as point size (does more floor / fewer anchors mean more missed crowd?).
Out of scope
- Radiometric coverage (link amplitude, Fresnel, multipath) — this is geometric LOS only;
the propagation refinement is
exp-csi-staticover the same anchors. - Placement optimisation — this measures the placed anchors; searching for a better placement is the natural follow-on once the blind-spot metric exists.
- Hardware — IP-106.
Expected interpretation
- Blind-spot fraction varies with placement, lowest on test-lab-synth + the 12439 topo-anchors floor → "designed / topology-aware placement covers more of the demand; dispersed per-peripheral-room placement leaves transit corridors unseen." Feeds the System-Design sniffer-placement chain and the IP-106 anchor-placement decision.
- Blind-spot fraction tracks floor area, not placement → coverage is an area/anchor-budget problem, not a topology one; a cheap, clarifying negative that simplifies the deployment story.
- A floor fails the walkable QC → geometry-import finding for that ResPlan floor; report and drop it, do not interpret its (absent) coverage.