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,10 +1,17 @@
> **⛔ SUPERSEDED / REFUTED 2026-06-08 (evening). DO NOT IMPLEMENT.** Live `ACDREAM_PROBE_PORTAL_CHURN`
> measured ZERO churn at the flap (`maxPop=1` across ~13k oscillating frames; 0 of ~63k reciprocals
> ever clipped empty). The flap is NOT re-enqueue churn — it is a STRUCTURAL divergence (retail has
> ONE `DrawInside(viewer_cell)` path, no inside/outside branch; we invented one + a unified flood).
> Decision: full retail port (Option A). Canonical:
> [`docs/research/2026-06-08-full-retail-render-port-OPTION-A-handoff.md`](../../research/2026-06-08-full-retail-render-port-OPTION-A-handoff.md).
> (The Phase-1 churn *probe* this plan added is fine and was the tool that disproved the hypothesis.)
> **✅ REVIVED 2026-06-09.** Phase 1 (the churn probe) is done; **Phase 2 (port the bound) is now the
> active R-A2b work** — design: [`../specs/2026-06-09-portal-flood-bounded-propagation-r-a2b-design.md`](../specs/2026-06-09-portal-flood-bounded-propagation-r-a2b-design.md).
> The `⛔` banner below was wrong: the `maxPop=1` reading came from a **camera-turn-at-rest** capture
> (the calm position, root `0172`), the wrong reproduction. A 2026-06-09 doorway **walk-through** capture
> (`launch-churn-confirm.log`, the proper Phase-1 Task-4 pin) measured `maxPop=16` on 44 % of frames →
> churn confirmed. Task 4's prediction ("redundant reciprocal back-contribution stays non-empty") is
> confirmed by `recip=1->1, grew=True`.
>
> ---
>
> **⛔ (HISTORICAL — corrected above) SUPERSEDED 2026-06-08 (evening).** Live `ACDREAM_PROBE_PORTAL_CHURN`
> measured `maxPop=1` — **but on the wrong reproduction (camera turn at rest), not a doorway crossing
> (see the revival note above).** The Phase-1 churn *probe* this plan added is correct and is the tool
> that ultimately confirmed (not disproved) the churn once aimed at the actual flap.
# Portal-Flood Bounded-Propagation Port Implementation Plan