docs(overhaul): contract s5 c5 cleanup
This commit is contained in:
parent
b372467cf5
commit
b77989c323
2 changed files with 224 additions and 1 deletions
|
|
@ -695,7 +695,8 @@ Update immediately when a slice changes state. Chat is not the ledger.
|
|||
| S5-c4 | **LANDED + REVIEW-CLOSED 2026-09-05; LEAD GRAPHICAL GATE PROVISIONAL PASS.** Campaign stack `75664805f` -> `15ed57a1e` -> `d5cfd1c91` -> `03a108ffa`; reviewed scratch tip `db8136448`; packet §§22–26. | G4 UNPASSED | Retail/material pass 3/10 PASS. Full production pass 4/10 found one classic/private detail-off regression; fix round 3 restored the prior AlphaBlend/coalescing path, and narrow production pass 5/10 PASS reproduced all three mutations. Fresh campaign Release 0W/0E, App 245/245, Content 71/71; scratch hermetic 16,971/16,971 and InstalledDat 469/10/1 with both manifests 32/32. Full recipe-10 bake: 2,237,865 keys, zero failures, SHA `4E0FA6C5…29B59B`. Gate `logs/selfgate-20260905-020703-s5c4-onepass-detail`: 13/13 PNGs, exit 0, graceful, no client left; visual PASS provisional. #471 DONE; #470 narrowed to local-sidecar indexing. |
|
||||
| S5-#470 | **LANDED + REVIEW-CLOSED 2026-09-05; LEAD GRAPHICAL A/B PROVISIONAL PASS.** Campaign implementation stack `15a796c3a` -> `7506e5f14` -> `b333edb4f`; route `19b44e5e3`; reviewed scratch `51f974da4` -> `2cad9c84` -> `98c004aa7`; packet §§27–30. | G4 UNPASSED | Retail/behavior pass 2/10 and production pass 4/10 closed the two evidence-only findings. Fresh campaign Release 0W/0E and focused 48/48; exact scratch hermetic 16,976/16,976 and canonical InstalledDat 386/10/1, manifests 30/30. Pinned gate `logs/selfgate-20260905-032132-s5-470-pinned-shadow-ab-r1`: retail/off -> High -> retail/off, 3/3 PNGs, exit 0, graceful, no client; visual PASS provisional. The stale recipe-8 pre-route launch is excluded and recorded in §30. |
|
||||
| S5-#469 | **LANDED + REVIEW-CLOSED 2026-09-05; LEAD GRAPHICAL TRANSITION PROVISIONAL PASS.** Contract `809887524`; reviewed scratch `c09b6cf0f`; campaign implementation `94ddde69a`; route `62efc72cb`; packet §§31–32. | G4 UNPASSED | Retail/deviation pass 1/10 and production pass 2/10 both PASS with no finding. The two atmospheric vertex receivers keep retail's authored unnormalized `uLights` direction across every shadow gate; celestial direction remains for opt-in shadow/volumetric projection; IA-24 corrected in the same commit. Exact scratch: Release 0W/0E, focused 126/126, Vulkan 2/2, hermetic 16,983/16,983, InstalledDat 386/10/1. Fresh campaign Release 0W/0E, focused 82/82, Vulkan 2/2. Gate `logs/selfgate-20260905-040449-s5-469-lighting-transition-r1`: five PNGs, active 2,500-caster/four-cascade High rows, no near-black relight, exit 0/graceful, no client; visual PASS provisional. |
|
||||
| S5 | IN FLIGHT — c1–c4 plus #470/#469 landed, review-closed, and provisionally self-gated; c5, closeout, and G4 remain | G4 | Packet §§7 and 12–32 are binding. Next: write and execute c5 cleanup, then closeout and G4. Never merge main before G4. |
|
||||
| S5-c5 | **CONTRACTED 2026-09-05; implementation next.** Packet §33. | G4 UNPASSED | Delete the callerless portal-BFS/research types, obsolete renderer probes and hidden scratch/call sites; preserve the one typed walk transcript; correct architecture/register/launch-option truth; add guards for one graph owner, no frame-time DAT dependency, no independent visibility builder, order-preserving submission, and absence of deleted diagnostics. |
|
||||
| S5 | IN FLIGHT — c1–c4 plus #470/#469 landed, review-closed, and provisionally self-gated; c5 contracted; closeout and G4 remain | G4 | Packet §§7 and 12–33 are binding. Next: implement/review/self-gate c5, then closeout and G4. Never merge main before G4. |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -2927,3 +2927,225 @@ relight is gone; the retail-before/after frames restore, while High retains its
|
|||
expected shadows and post-processing. This closes #469; no new divergence row
|
||||
is required beyond the truthful IA-24 amendment. Next is S5-c5, then closeout
|
||||
and G4. Nothing has merged to `main`.
|
||||
|
||||
## 33. S5-c5 contract — delete the superseded visibility/probe apparatus and pin the final graph
|
||||
|
||||
This is a deletion-and-architecture chunk. It changes no retail draw decision,
|
||||
no membership result, no event order, no alpha route, no material state, and no
|
||||
shader. The retained production authority is the already-reviewed
|
||||
`RetailFrameWalk`/`WalkFrameDriver` path. The work removes the independently
|
||||
compiled research path and output-only diagnostics that can otherwise be
|
||||
mistaken for production owners.
|
||||
|
||||
### 33.1 Lead-verified boundary
|
||||
|
||||
The named Sept-2013 retail decomp has one normal-world call chain:
|
||||
|
||||
- `SmartBox::RenderNormalMode @0x00453AA0` calls `LScape::draw`;
|
||||
- `LScape::draw @0x00506330` reaches the retained PView path;
|
||||
- `PView::DrawCells @0x005A4840` owns the landscape/cell-pass boundary; and
|
||||
- `PView::DrawInside @0x005A5860` constructs and draws the one PView graph.
|
||||
|
||||
These anchors were re-read in
|
||||
`docs/research/named-retail/acclient_2013_pseudo_c.txt` at lines
|
||||
92635/92683, 267912, 432709/432719, and 433793/433819. The paired executable
|
||||
was re-hashed before this contract:
|
||||
`C:\Users\erikn\Downloads\acclient.exe`, SHA-256
|
||||
`006FFEADC5D679C871497112A5BD1F87714D0E273E2166BAE5052DDE369297B1`,
|
||||
paired with `refs/acclient.pdb`, SHA-256
|
||||
`B1AA774B458C7EFDED9F3BB7E1B18B31A508514D6F2089800629B1B51C154925`
|
||||
(the already-verified CodeView identity is
|
||||
`{9E847E2F-777C-4BD9-886C-22256BB87F32}`, age 1). The first 64 bytes at the
|
||||
four executable anchors hash respectively to
|
||||
`B69DF08F6B30118463B6148A09CEAF2D47F640303039912224DB4D29FCB93FC7`,
|
||||
`9319B607C0505D0656935719C27E9F7C00B5281574643614A367C02C88EA7CC3`,
|
||||
`16E12B476CDABE0F7CD0B1380A31EF194B00901A76D5AFB295CD0C30B4DB36CC`,
|
||||
and
|
||||
`DE6E16EC73EDFC04632E2C7A059AB26519099391637318805EF15AB6DBA682C4`.
|
||||
|
||||
Current-source reachability was also checked independently. Outside its own
|
||||
file, production contains no construction or call of
|
||||
`PortalVisibilityBuilder`, `PortalVisibilityFrame`, `IndoorDrawPlan`, or
|
||||
`ViewconeCuller`. The only surviving `PortalVisibilityFrame` production uses
|
||||
are the dead `ClipFrameAssembler.Assemble` overload and
|
||||
`IndoorDrawPlan.ShellPass`; both are called only by tests. The live assembler
|
||||
entry points are `BeginWalkFrame` and `ReassembleOutsideViewFromWalk`.
|
||||
`RetailFrameWalk` alone retains the interior/outdoor `WalkPView` objects, and
|
||||
`RetailPViewRenderer` alone retains the `RetailFrameWalk`/`WalkFrameDriver`
|
||||
frame owner.
|
||||
|
||||
Therefore this chunk is not a new retail port. Its retail claim is narrower:
|
||||
deleting an unreachable competing implementation cannot alter the one live
|
||||
walk. If a compile repair would change a live walk, draw, queue, material, or
|
||||
shader method, stop and return that fact instead of widening this contract.
|
||||
|
||||
### 33.2 C1 — remove the independently compiled portal-BFS research path
|
||||
|
||||
Delete these production artifacts outright:
|
||||
|
||||
- `Rendering/PortalVisibilityBuilder.cs`, including
|
||||
`PortalVisibilityFrame` and `ExteriorPortalSeed`;
|
||||
- `Rendering/IndoorDrawPlan.cs`, including `CellDrawEntry`;
|
||||
- `Rendering/ViewconeCuller.cs`; and
|
||||
- the `ClipFrameAssembler.Assemble(ClipFrame, PortalVisibilityFrame, ...)`
|
||||
overload and its builder-only comments.
|
||||
|
||||
Keep `LoadedCell`, `CellVisibility`, `PortalView`/`CellView`,
|
||||
`PortalProjection`, `ClipPlaneSet`, `ClipFrame`, `BeginWalkFrame`, and
|
||||
`ReassembleOutsideViewFromWalk`: the current walk, portal fan, and preparation
|
||||
paths still consume those primitives. Rewrite their stale comments to name the
|
||||
walk rather than the deleted builder; comments must not imply the synthetic
|
||||
outdoor node performs a second portal flood.
|
||||
|
||||
Delete old-builder-only tests rather than keeping a second implementation alive
|
||||
as test code. This includes the dedicated builder/robustness/flood-replay,
|
||||
`IndoorDrawPlan`, `ViewconeCullerReuse`, and `TowerAscentReplay` files, plus the
|
||||
builder-only cases in mixed files. Preserve the first two live
|
||||
`ClipFrameAssemblerTests` (`BeginWalkFrame` outdoor/interior reset) and every
|
||||
`WalkOutsideViewReassemblyTests` case by driving `BeginWalkFrame` directly.
|
||||
`OutdoorCellNodeTests` keeps its construction invariant and drops only the
|
||||
deleted-builder assertion. A currently live CELLARRAY/walk assertion may be
|
||||
moved to a focused file if it is unique; do not retain a builder dependency to
|
||||
save a redundant diagnostic test.
|
||||
|
||||
### 33.3 C2 — remove obsolete renderer probes and their hidden frame cost
|
||||
|
||||
Delete the complete Facility stair family named by the plan:
|
||||
|
||||
- `RenderingDiagnostics.ProbeFacilityStairsEnabled` and the environment read;
|
||||
- `WbDrawDispatcher.FacilityStairProbe.cs`;
|
||||
- all Facility/cathedral signature, classifier, ordered-stream, upload, and
|
||||
submission probe fields/methods/call sites in `RetailPViewRenderer`,
|
||||
`WalkPView`, `WalkProductionWorldData`, `WalkStaticStreamPopulator`, and
|
||||
`WbDrawDispatcher.OrderedStream/WalkClassify`; and
|
||||
- the probe-only `WalkProductionWorldData.StaticBucketContains` method and
|
||||
`[walk-membership]` print. Keep
|
||||
`UnregisteredRenderMembershipCount` itself and its exact tests: it remains a
|
||||
cheap invariant/result, not a logging owner.
|
||||
|
||||
The remaining renderer flags explicitly documented as throwaway, relic, or
|
||||
closed-investigation probes are deleted in the same sweep:
|
||||
|
||||
- `ProbeIndoorWalkEnabled`, `ProbeIndoorLookupEnabled`,
|
||||
`ProbeIndoorUploadEnabled`, `ProbeIndoorXformEnabled`,
|
||||
`ProbeIndoorCullEnabled`, and their `IndoorAll` cascade;
|
||||
- `ProbeVisibilityEnabled`/`EmitVis` and `ProbeEnvCellEnabled`;
|
||||
- `ProbeFlapEnabled`, `ProbePvInputEnabled`, `ProbeGlStateEnabled`,
|
||||
`ProbeClipRouteEnabled`, and `ProbePortalChurnEnabled`;
|
||||
- `ProbeIndoorLightEnabled`/`EmitIndoorLight`; and
|
||||
- `ProbeSeamDrawEnabled`/`SeamDrawTargetCells` and their parse/format helpers.
|
||||
|
||||
Remove every production output branch and scratch field used only by those
|
||||
flags, including the `[flap*]`, `[pv-input]`, `[render-sig]`, `[vis]`,
|
||||
`[gl-state*]`, `[clip-route*]`, `[indoor-*]`, `[envcells]`, `[light]`,
|
||||
`[seam-*]`, and `[facility-*]` families. `WorldRenderDiagnostics` keeps its
|
||||
terrain timing/publication responsibility but loses the dead raw-GL reader,
|
||||
state/scissor records, and the obsolete render-probe methods.
|
||||
`WorldSceneDiagnosticsController` keeps collision/debug-fact publication but
|
||||
loses the two probe-only interface methods and the post-world GL sample.
|
||||
|
||||
Delete the corresponding tests and `docs/launch-options.md` rows. Historical
|
||||
research/capture documents remain historical evidence and are not rewritten.
|
||||
Comments in still-live production code may describe a historical capture, but
|
||||
must not cite a deleted runtime flag or claim a deleted probe remains callable.
|
||||
|
||||
The retained diagnostics are explicit nonchanges:
|
||||
`RenderingDiagnostics.LightDebugMode`, `ShouldRenderIndoor`,
|
||||
`FrameProfEnabled`, and `DumpWalkTranscriptEnabled`. In particular,
|
||||
`ACDREAM_DUMP_WALK_TRANSCRIPT` is the plan's one retained, typed, print-only
|
||||
retail-conformance flag; c5 must not remove or weaken its existing pins.
|
||||
Physics/audio/streaming probes outside the renderer cleanup inventory are also
|
||||
out of scope.
|
||||
|
||||
### 33.4 C3 — make architecture and register prose match the landed renderer
|
||||
|
||||
Update `docs/architecture/acdream-architecture.md` so it states that the old
|
||||
builder is deleted, not merely callerless. Replace the stale three-item
|
||||
“known non-retail order” paragraph with the landed S3/S4 facts: per-landcell
|
||||
terrain and sort-cell turns, outside-view/latch-gated clear+seals, and the two
|
||||
bounded CLIP/ALPHA FIFO lists drained at exact barriers. Name the still-live
|
||||
AP-238 through AP-243 residuals without resurrecting the superseded model.
|
||||
|
||||
Update `docs/architecture/worldbuilder-inventory.md` to remove the deleted
|
||||
`[walk-membership]`/Facility flag claim while retaining the
|
||||
`UnregisteredRenderMembershipCount` invariant and its AD-116 meaning. Amend
|
||||
AD-116 accordingly in `retail-divergence-register.md`. Retire AP-19 in the
|
||||
same commit because its only implementation, the deleted builder's 1 cm
|
||||
epsilon, no longer exists; do not reuse its id. AP-238–AP-243 remain active.
|
||||
Remove stale current claims from `docs/launch-options.md`; do not erase old
|
||||
research or the superseded ledger history.
|
||||
|
||||
### 33.5 C4 — architecture guards
|
||||
|
||||
Add one focused compiled/source architecture test file with these
|
||||
discriminating guards:
|
||||
|
||||
1. the App assembly contains no `PortalVisibilityBuilder`,
|
||||
`PortalVisibilityFrame`, `ExteriorPortalSeed`, `IndoorDrawPlan`,
|
||||
`CellDrawEntry`, or `ViewconeCuller` type;
|
||||
2. only `RetailFrameWalk` declares `WalkPView` fields and only
|
||||
`RetailPViewRenderer` declares a `RetailFrameWalk` field; the renderer owns
|
||||
exactly one such field;
|
||||
3. the frame-time walk/renderer/submitter owner types have no raw
|
||||
`DatCollection`/`IDatReaderWriter` field, property, parameter, or return
|
||||
dependency. Construction-time DAT adapters such as `WalkBuildingFactory`
|
||||
remain outside this frame-time list;
|
||||
4. no consumer reconstructs a second portal visibility result: production
|
||||
source has no banned old type/symbol and no call/new edge to a second graph
|
||||
builder;
|
||||
5. `WbDrawDispatcher.OrderedStream.cs` contains no `Sort`, `OrderBy`, or
|
||||
equivalent cross-stream reorder; existing merge-run tests continue to prove
|
||||
adjacent-only, order-preserving batching across semantic boundaries; and
|
||||
6. production source contains none of the deleted probe symbols or environment
|
||||
names listed in §33.3, while the retained walk transcript symbol is still
|
||||
present and its flag-off and transcript-conformance tests still run.
|
||||
|
||||
The guards may read repository source where absence itself is the contract,
|
||||
but paths are resolved from the solution root and comparisons are explicit.
|
||||
Do not use brittle line numbers or broad words such as `probe`/`visibility`
|
||||
that would outlaw retained production concepts.
|
||||
|
||||
Required mutations, each restored exactly before return:
|
||||
|
||||
- restore one deleted old type name: guard 1/4 fails;
|
||||
- restore `ACDREAM_PROBE_FACILITY_STAIRS`: guard 6 fails;
|
||||
- add a second `RetailFrameWalk` owner field: guard 2 fails;
|
||||
- add `OrderBy` to `WbDrawDispatcher.OrderedStream.cs`: guard 5 fails; and
|
||||
- add an `IDatReaderWriter` parameter to a listed frame-time owner: guard 3
|
||||
fails.
|
||||
|
||||
### 33.6 Scope, gates, return, and reviews
|
||||
|
||||
Production edits are limited to the deleted/residual files and direct probe or
|
||||
compile-fallout sites named in §§33.2–33.3. Test edits are limited to deleting
|
||||
old research tests, preserving/adapting the named live tests, simplifying
|
||||
direct probe-constructor fixtures, and adding the architecture guard.
|
||||
Documentation edits are limited to this packet, the plan ledger,
|
||||
`docs/launch-options.md`, the two architecture documents, the divergence
|
||||
register, and Current memory. No shader, prepared-content, wire, physics,
|
||||
membership, walk-order, material, or queue behavior change is allowed. If a
|
||||
deletion exposes a live dependency outside these bounds, stop and report it.
|
||||
|
||||
Return one implementation commit with every documentation/register change in
|
||||
the same commit as the deletion. Required evidence:
|
||||
|
||||
- `git diff --check` and a Release solution build with zero warnings/errors;
|
||||
- focused architecture, walk transcript, `BeginWalkFrame`, outside-view,
|
||||
ordered-stream, membership, terrain diagnostics, and directly affected
|
||||
suites;
|
||||
- official hermetic and canonical InstalledDat lanes, with exact
|
||||
pass/fail/skip identities and SHA manifests;
|
||||
- source/type absence searches for every deleted family; and
|
||||
- all five mutation transcripts.
|
||||
|
||||
Review is sequential. Lens 1 checks retail/deletion faithfulness, retained
|
||||
walk primitives, AP-19/AD-116/register truth, and absence of a second graph.
|
||||
Lens 2 checks production reachability, hidden-cost removal, architecture-test
|
||||
non-vacuity, order/DAT boundaries, allowed scope, and gate provenance. A
|
||||
failed lens gets one bounded fix contract. Review stops only after pass 10.
|
||||
|
||||
After review and campaign landing, the lead runs a fresh Release/focused gate,
|
||||
checks tree/ACE/client state, and performs one graphical smoke route over an
|
||||
outdoor town, Facility stairs, and one interior/portal transition. It must
|
||||
exit gracefully, leave no client, emit no deleted probe prefix, and record
|
||||
exact PNG paths. Visual status remains provisional until the owner inspects it.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue