docs(render): R-A2b spec — revive bounded-propagation, churn confirmed at flap-time

The indoor doorway flap is the portal flood's re-enqueue churn (0171<->0173 mutual re-contribution; drifted near-duplicate regions AddRegion won't dedup -> grew -> re-enqueue, capped at MaxReprocessPerCell=16 -> eye-sensitive flood depth -> grey flash). Confirmed live: launch-churn-confirm.log shows maxPop=16 on 44% of frames during a doorway walk-through. The 2026-06-08 'maxPop=1, churn refuted' verdict was a camera-turn-at-rest capture (wrong reproduction); its DO-NOT is overturned.

Fix (Option A, user-approved): contributions already covered by the neighbour's accumulated view don't grow it (no re-enqueue); only the uncovered remainder propagates -- retail's 'redundant -> empty before copy_view' (copy_view confirmed to just append). Remove MaxReprocessPerCell; keep re-processing of genuinely-new slices. Scope: PortalVisibilityBuilder only. Revives 2026-06-08 spec+plan (banners redirected).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-09 09:48:53 +02:00
parent 8f879bd7d9
commit 3fd71a123c
3 changed files with 223 additions and 10 deletions

View file

@ -1,6 +1,17 @@
> **⛔ SUPERSEDED / REFUTED 2026-06-08 (evening). DO NOT IMPLEMENT.** Both this spec's directions
> (enqueue-once AND the revised bounded-propagation) are dead: live measurement found ZERO portal
> re-enqueue churn at the flap (`maxPop=1`). The flap is a STRUCTURAL divergence — retail renders
> **✅ REVIVED 2026-06-09 — the REVISION banner (bounded propagation) is the live design; see
> [`2026-06-09-portal-flood-bounded-propagation-r-a2b-design.md`](2026-06-09-portal-flood-bounded-propagation-r-a2b-design.md).**
> The `⛔` banner below was wrong: the `maxPop=1` "refutation" was a **camera-turn-at-rest** capture (the
> calm position, root `0172`), NOT a doorway crossing. A 2026-06-09 walk-through re-capture
> (`launch-churn-confirm.log`) measured `maxPop=16` on 44 % of frames — the churn is confirmed at
> flap-time. The "enqueue-once" half (§4/§5) stays dead (re-processing IS retail-faithful); the
> **bounded-propagation** half (REVISION banner) is what ships, as R-A2b.
>
> ---
>
> **⛔ (HISTORICAL — corrected above) SUPERSEDED / REFUTED 2026-06-08 (evening).** Both this spec's directions
> (enqueue-once AND the revised bounded-propagation) were called dead: live measurement found ZERO portal
> re-enqueue churn at the flap (`maxPop=1`) — **but that sample was the wrong reproduction (see the revival
> note above).** The flap is a STRUCTURAL divergence — retail renders
> inside+outside through ONE `DrawInside(viewer_cell)` path with no inside/outside branch, and is
> robust to its own ~36 µm eye jitter via many small per-building floods. Decision: full retail port
> (Option A). Canonical: