exploratory · off the HST main path

One sparse stream for camera, RFID & barcode

Normalize heterogeneous warehouse sensor events into a single sparse state-update stream, then let HST schedule only the affected computation. Once events are normalized, HST doesn't care whether a change came from a camera, an RFID antenna, or a barcode scanner.

Every source collapses to one update

asset_location_updated(asset_id, location_id)
rfid_tag_detected(tag_id, antenna_id)
barcode_scan(barcode_id, station_id)   ──►   SparseUpdate{ j, delta }
object_state_updated(camera_id, tile_id, object_id)
inventory_delta(item_id, quantity_delta)
zone_occupancy_updated(zone_id, occupancy_count)

A warehouse has M state cells; analytics operator A (M→N) maps state to derived quantities. Each tick a sparse batch of events perturbs cells by dx; we recompute A·(x+dx) as a full mat-vec vs HST scheduled delta.

Result — N=M=40k, fill=0.40, 1500 ticks

event mixdirty cells/tickdirty tiles/tickfull recomputeHST scheduledspeedup
rfid_sparse14.32.0556.7 ms56.2 ms9.91×
barcode_station21.33.0558.6 ms81.9 ms6.82×
asset_location28.44.0558.1 ms97.9 ms5.70×
mixed_warehouse42.56.0561.1 ms141.2 ms3.97×
camera_light87.616.0570.6 ms328.9 ms1.73×
camera_heavy240.962.9576.9 ms1245.9 ms0.46×

Answers "hundreds of barcode readers + RF antennas vs cameras":

→ RFID / barcode / asset location: 5–10× — sparse, tile-local, HST's home turf.
→ blended + light camera analytics: ~2–4×.
→ dense per-frame camera object churn: <1× — the dirty set stops being sparse; full recompute wins.

Mirrors the measured RTSP-CV finding. Every path validated rel_err ≈ 1e-16 against full recompute.