docs(overhaul): contract S5 c4 detail-off fix
This commit is contained in:
parent
c47a43eb72
commit
13dbb79eeb
2 changed files with 125 additions and 2 deletions
|
|
@ -692,8 +692,8 @@ Update immediately when a slice changes state. Chat is not the ledger.
|
|||
| S5-c1 | **LANDED 2026-09-04 after the owner-authorized documentation/evidence exception.** Mandatory stop `efb075619` remains in history; final campaign tip `1718832e2`, reviewed scratch tip `b2d56f9e3`. | G4 UNPASSED | Narrow exception re-review PASS. Clean evidence: hermetic 16,760/16,760; inclusive InstalledDat 385 pass / the same documented 10 fail / 1 skip; both exact `d6592d3ac`, `WorktreeDirty=false`, manifests fully verified. Fresh campaign Release 0W/0E, Core 111/111, visibility 38/38, allocation/AP-116 4/4. Lead graphical portal-haze gate PROVISIONAL PASS, exit 0/graceful, 10 PNGs under `logs/selfgate-20260904-171137-s5c1-particle-visibility`; owner inspection pending. |
|
||||
| S5-c2 | **LANDED + REVIEW-CLOSED 2026-09-04; lead graphical gate PROVISIONAL PASS.** Campaign stack `a4de2efc4` -> `048027e71` -> `ef819eedf`; reviewed scratch tip `521f5edda54`; packet §§14–16. The opt-in IA-24 path borrows the exact prior-completed landscape set/flag, selects world casters through S2 CELLARRAY or building `EffectCellId`, selects authored terrain slots, and projects exact active instance runs without rebuilding retained topology. Pack-off remains unchanged. | G4 UNPASSED | Retail/deviation PASS; production's documentation-only fix round 1 narrowly re-reviewed PASS. Fresh campaign Release 0W/0E and affected 137/137. Official evidence: hermetic 16,768/16,768; broader InstalledDat 468 pass / 10 fail / 1 skip; canonical 385 pass / the same 10 fail / 1 skip; manifests and nonpassing identities exact. Valid lead gate `logs/selfgate-20260904-183925-s5c2-candidate-shadow-ab`: seven PNGs, exit 0, graceful logout, no fatal match, no client left. Exact parent `5c106bcdf` A/B at `s5-c2-ab-parent/logs/selfgate-20260904-183815-s5c2-parent-shadow-ab` proves the gate-visible dark lighting switch predates c2; #469/IA-24 carry it for resolution or explicit owner acceptance before G4. Owner PNG inspection pending. |
|
||||
| S5-c3 | **LANDED + REVIEW-CLOSED 2026-09-04** at `c673f767e` (reviewed scratch `01e5a15d0`; packet §§17–21). | **C3 SCOPE SELF-GATE PROVISIONAL PASS; whole-renderer finding #470 OPEN. G4 UNPASSED.** | OpenAI retail pass 3/10 PASS and production narrow re-review pass 5/10 PASS. Fix round 3 added ordinary landblock-lifetime ownership for every unique nonzero ladder GfxObj, rearmed walk-frame miss requests, and made the one-tick-before-BeginFrame proof discriminating. Fresh clean campaign: Release 0W/0E; focused 101/101; hermetic 16,811/16,811; InstalledDat 469 pass / the unchanged documented 10 fail / 1 skip; manifests 30/30. Self-gate `logs/selfgate-20260904-223345-s5c3-building-degrade` produced five PNGs, exited 0/gracefully, and left no client. The selected building shells are complete; the Holtburg frame also exposed pre-existing atmospheric ordered-draw sidecar defect #470, which is not a c3 regression and blocks renderer-solid/G4 until repaired. |
|
||||
| S5-c4 | **IMPLEMENTED; RETAIL REVIEW PASSES 1–2/10 FAILED 2026-09-05. FIX ROUND 2 CONTRACTED** in packet §24. Scratch stack `91fb80de6` → `70751ef0e` remains unlanded. | G4 UNPASSED | Fix round 1 correctly carries raw blend/Clip/fog state through recipe 10 and passed clean hermetic 16,959/16,959 plus inclusive InstalledDat 469/10/1. Pass 2 found one remaining production mismatch: every blended+Clip row keeps depth writes off, while retail enables them whenever its alpha test remains armed. §24 requires depth-write-ON variants selected by the carried alpha-test state in both Wb/EnvCell, corrected real-pipeline oracles and mutations, narrow retail pass 3, then the full production lens. Nothing lands or launches yet. |
|
||||
| S5 | IN FLIGHT — c1–c3 landed/review-closed/provisionally self-gated; c4 fix round 2 contracted; c5, #469/#470 disposition, closeout, and G4 remain | G4 | Packet §§7 and 12–24 are binding. Next: implement S5-c4 fix round 2 on `70751ef0e`, then sequential review; never merge main before G4. |
|
||||
| S5-c4 | **IMPLEMENTED; RETAIL PASS 3/10 PASS, FULL PRODUCTION PASS 4/10 FAIL; FIX ROUND 3 CONTRACTED 2026-09-05** in packet §25. Scratch stack `91fb80de6` -> `70751ef0e` -> `472dc4fb7` remains unlanded. | G4 UNPASSED | Fix round 2 correctly adds depth-write-ON siblings for all five alpha-tested blend families; clean hermetic 16,964/16,964 and InstalledDat 469/10/1. The retail lens found no issue. The full production lens found one P2: the classic/private detail-off arm changed from the prior unconditional AlphaBlend/coalesced run to raw blend-family pipelines and split runs. §25 restores only that frozen path, keeps detail-active exact material state, and preserves c4's valid receiver-half narrowing of #470. Narrow production pass 5/10 follows; nothing lands or launches yet. |
|
||||
| S5 | IN FLIGHT — c1–c3 landed/review-closed/provisionally self-gated; c4 fix round 3 contracted; c5, #469/#470 disposition, closeout, and G4 remain | G4 | Packet §§7 and 12–25 are binding. Next: implement S5-c4 fix round 3 on `472dc4fb7`, narrow production review, integrate and self-gate c4; never merge main before G4. |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -2121,3 +2121,126 @@ the depth-write rule from the paired binary, inspect real production pipeline
|
|||
descriptors, verify AP truth, and reproduce at least three new mutations. Only
|
||||
after it passes may the full production/gate-honesty lens run over the complete
|
||||
S5-c4 stack. Nothing lands or launches graphically before both lenses pass.
|
||||
|
||||
## 25. S5-c4 fix round 3 — restore classic/private detail-off state
|
||||
|
||||
### 25.1 Full production review pass 4/10
|
||||
|
||||
Retail/material re-review pass 3/10 returned **PASS** on clean fix-round-2 tip
|
||||
`472dc4fb7fd246a6efe6ed4ed20ffc26419c9ffa`. It independently re-derived the
|
||||
Clip/depth-write rule from named `D3DPolyRender::SetSurface @0x0059C4D0` and
|
||||
paired bytes, inspected all ordinary/atmospheric Wb and EnvCell pipeline
|
||||
descriptors, reproduced three mutations, and found no retail/material issue.
|
||||
|
||||
The subsequent full production/gate-honesty review returned **FAIL** on one P2
|
||||
regression and no other code finding. Before c4,
|
||||
`DrawImmediateTransparentRhi` always bound `pipelines.AlphaBlend` for the
|
||||
classic grouped path's non-detail transparent commands and coalesced adjacent
|
||||
non-detail commands without a blend-family split. C4 instead binds
|
||||
`PipelineForBlend(pipelines, blend)` and adds `Translucency` equality to that
|
||||
run boundary. This changes detail-disabled/unavailable Additive and InvAlpha
|
||||
compositing and splits a previously coalesced run.
|
||||
|
||||
This is reachable production behavior, not a dead compatibility arm:
|
||||
`PrivateEntityViewportRenderer.Draw` calls the classic dispatcher without a
|
||||
collecting world-alpha queue, which reaches
|
||||
`ExecuteClassifiedGroups -> SubmitRhi -> DrawImmediateTransparentRhi`.
|
||||
The reviewer drove that exact path with detail disabled and one ordinary
|
||||
instance. Additive expected `wb-mesh-alpha-1x` but recorded
|
||||
`wb-mesh-additive-1x`; InvAlpha expected `wb-mesh-alpha-1x` but recorded
|
||||
`wb-mesh-inverse-1x`. Each case issued exactly one physical MDI. Temporarily
|
||||
changing only the false arm back to `pipelines.AlphaBlend` made both witnesses
|
||||
pass, and the reviewer restored the worktree byte-exactly afterward.
|
||||
|
||||
The rest of the complete-stack audit passed: opacity and immutable material
|
||||
state reach recipe-10 publication and every consumer; the 16-byte GPU batch
|
||||
ABI, shared shaders, one-pass equations, overlay deletion, #471 ordered arm,
|
||||
all five depth-write pairs, disposal/rollback, allocation, migration and
|
||||
artifact provenance are sound. Restored focused suites passed App 265/265,
|
||||
Content 92/92, and Launcher 8/8. The exact-tip hermetic artifact is
|
||||
16,964/16,964 with manifest 32/32; InstalledDat is the unchanged documented
|
||||
469 pass / 10 accepted fail / 1 accepted skip with manifest 30/30. The scratch
|
||||
worktree returned clean at `472dc4fb7`.
|
||||
|
||||
The review also corrected the chunk boundary: c4 necessarily repairs the
|
||||
**receiver half** of #470 by selecting the frame-aware atmospheric ordered
|
||||
pipeline and binding its receiver resources. That is valid support for the
|
||||
required atmospheric one-pass path and must remain. #470 stays open because
|
||||
`mesh_modern.vert` still uses the absolute transform index for locally based
|
||||
alpha/selection/light/detail sidecars. Describe #470 as narrowed at landing;
|
||||
do not claim c4 left all of it untouched or closed it.
|
||||
|
||||
### 25.2 Bounded production repair
|
||||
|
||||
On top of `472dc4fb7`, restore the pre-c4 detail-off behavior in
|
||||
`DrawImmediateTransparentRhi` only:
|
||||
|
||||
1. when the current command has no active detail material, bind
|
||||
`pipelines.AlphaBlend` regardless of its `TranslucencyKind` or carried raw
|
||||
SetSurface state;
|
||||
2. restore the prior coalescing rule for consecutive non-detail transparent
|
||||
commands: do not split a run merely because `TranslucencyKind` changes;
|
||||
when detail is enabled, the next detail-bearing command remains a boundary;
|
||||
3. keep each detail-active command on the exact
|
||||
`PipelineForMaterial(pipelines, materialState, pipelines.Opaque)` result,
|
||||
armed once on its existing physical draw, with neutral push state restored
|
||||
afterward; and
|
||||
4. preserve cull-run splitting inside `DrawIndirectRangeRhi`; this repair
|
||||
restores only the outer material-run boundary that c4 changed.
|
||||
|
||||
Do not generalize this into a detail-off retail correction. AP-244 remains the
|
||||
truthful disclosure for the existing detail-off Wb/EnvCell collapses. Do not
|
||||
change deferred-alpha submission, ordered-stream submission, EnvCell,
|
||||
extraction, recipe 10, GPU batch ABI, shaders/SPIR-V/manifest, blend enums or
|
||||
pipeline construction, alpha-test/depth/fog/reference state, queue membership,
|
||||
FIFO order, transforms/sidecars, lighting, allocation ownership, #469, or the
|
||||
remaining #470 sidecar-index repair. In particular, retain c4's frame-aware
|
||||
ordered receiver selection/bindings.
|
||||
|
||||
Allowed production change: only
|
||||
`src/AcDream.App/Rendering/Wb/WbDrawDispatcher.Rhi.cs`. Tests may change only
|
||||
in the directly affected existing Wb production-transcript suite. No register
|
||||
change is expected because this restores the disclosed prior behavior; if a
|
||||
new deviation or wider production dependency is discovered, stop and return
|
||||
the exact fact before expanding scope. No packet, plan, issue, architecture,
|
||||
package, artifact, or evidence file is changed by the implementer.
|
||||
|
||||
### 25.3 Discriminating proof and return
|
||||
|
||||
Add permanent tests through the actual classic production path, without a
|
||||
collecting alpha queue:
|
||||
|
||||
1. with detail disabled, one Additive and one InvAlpha ordinary instance each
|
||||
bind `wb-mesh-alpha-1x` and issue exactly one physical MDI;
|
||||
2. with the detail category unavailable, the same two rows retain that result;
|
||||
3. adjacent same-cull Alpha -> Additive -> InvAlpha detail-off commands remain
|
||||
one outer material run/MDI range rather than three blend-family runs;
|
||||
4. detail enabled with an eligible command still selects its exact carried
|
||||
detail-active material pipeline and arms slot/tiling/reference/fog once;
|
||||
5. non-detail -> detail -> non-detail adjacency does not leak detail state and
|
||||
preserves the two required boundaries; and
|
||||
6. existing deferred-alpha, ordered ordinary/atmospheric, EnvCell, depth-pair,
|
||||
disposal/rollback, allocation, shader/ABI and recipe-10 pins remain green.
|
||||
|
||||
Apply and independently restore these mutations, recording the first failing
|
||||
test/assertion for each:
|
||||
|
||||
1. restore `PipelineForBlend(pipelines, blend)` on the non-detail arm;
|
||||
2. restore the `TranslucencyKind` equality run split while leaving the pipeline
|
||||
arm correct; and
|
||||
3. force the detail-active command onto `pipelines.AlphaBlend`.
|
||||
|
||||
Return one clean fix-round-3 commit atop `472dc4fb7`; exact changed-file and
|
||||
line counts; mutation first failures; both `git diff --check` forms; Release
|
||||
solution build 0W/0E; focused classic/private material and complete affected
|
||||
Wb/EnvCell/ordered/content/launcher suites; exact-tip clean official hermetic
|
||||
and inclusive InstalledDat artifacts with manifests and every accepted
|
||||
nonpassing identity named. Recipe 10 is unchanged, so no bake is required. No
|
||||
graphical client launch.
|
||||
|
||||
Because this repair restores a production-only frozen detail-off path and
|
||||
changes no retail/material fact, the next review is the narrow production/
|
||||
gate-honesty pass 5/10 over this finding and its non-change boundary; no new
|
||||
retail lens is required. A PASS unlocks landing the complete c4 stack and its
|
||||
lead graphical gate. A FAIL receives another bounded contract within the
|
||||
owner-authorized ten-pass limit. Nothing lands or launches before that result.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue