docs(render): chunk 1 fix round 1 — SC at DrawSortCell entry, the weather OC, EC evidence, eight-kind conformance
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
4215222304
commit
6e3de1bc6b
1 changed files with 43 additions and 0 deletions
|
|
@ -849,6 +849,49 @@ worktree on top of `079483bb6`; round 1 of the two the plan allows.
|
|||
bespoke Facts (doorway-still, foundry-deep) — they need the full
|
||||
DAT-built world the theory body already uses, so either shape is
|
||||
acceptable; say why in a one-line comment.
|
||||
- **G7 — `SC` sits at `DrawSortCell` ENTRY, before `DrawBuilding` (blocking,
|
||||
transcript lens).** Retail's `bp 0059f140` fires at `RenderDeviceD3D::DrawSortCell`
|
||||
entry and `DrawBuilding` @0x0059f2a0 is called from INSIDE it, so retail
|
||||
prints `LC` → `SC` → `BLD` (`terrace-edge.walk.log:2331-2333`; a not-in-view
|
||||
cell prints `SC` then `BLD` with no `LC`, `:1042-1044`). acdream prints `SC`
|
||||
from `OnLandscapeCellTurn`, which `RetailFrameWalk` calls AFTER
|
||||
`DrawBuilding`. Fix: `RetailFrameWalk.DrawLandscape` calls a new
|
||||
`IWalkEventSink.OnSortCellTurn(landblockId, side, cellIndex)` at the
|
||||
`DrawSortCell` entry point (after the LC turn, before `DrawBuilding`, under
|
||||
the same `AlwaysDrawObjects || in view` gate); the driver prints `SC`
|
||||
there and nowhere else; the object-list turn after the building is
|
||||
unchanged. MUTATION: with the print moved back after `DrawBuilding`, the
|
||||
terrace-edge conformance row (G10) must fail on the first building.
|
||||
- **G8 — the trailing `OC <viewer land cell>` of every outdoor frame (major).**
|
||||
It is retail's WEATHER pass: `GameSky::Draw` @0x00506ff0 with `arg2 == 1`
|
||||
runs `if (LScape::weather_enabled != 0)
|
||||
DrawObjCellForDummies(this->after_sky_cell)` @0x005070da — the rain
|
||||
emitters live in the after-sky cell, whose DID is the viewer's land cell
|
||||
(`terrace-edge.walk.log:1416` `OC f418000b` = the `P` cell, once per
|
||||
complete frame; 12 EC vs 16 OC in that capture are exactly these four). It
|
||||
is NOT a walk turn and NOT the creature-mode `DrawObjCellForDummies(creature_cell)`
|
||||
@0x00452be1. acdream's equivalent is `RenderWeather`
|
||||
(`RetailPViewPassExecutor.DrawLandscapeSliceLate`, gated on the player
|
||||
being outside): print `OC <viewer land cell>` at that call when the weather
|
||||
pass actually runs, print-only, with the addresses in the comment; rewrite
|
||||
`PrintObjectCellTurn`'s doc, which currently denies the line exists.
|
||||
- **G9 — the EC evidence comment is false (minor).** "EC and OC counts are
|
||||
always equal" — terrace-edge has 12 EC / 16 OC (G8). The conclusion (EC is
|
||||
per flood visit; the stamp dedupe lives inside `DrawEnvCell`, past the
|
||||
breakpoint) is right; the proof is `holtburg-doorway-still.walk.log:1126,
|
||||
1131, 1134, 1137` — `EC a9b40100` four times in one frame across four
|
||||
look-in `DC` turns. Fix both comment sites.
|
||||
- **G10 — the conformance signature must see the new kinds (minor → required).**
|
||||
`WalkTraceReplayContext.Signature` drops LC/SC/EC/OC, so no test compares
|
||||
their placement against retail — which is how G7 shipped green. Extend
|
||||
the test-side `Recorder` with `OnLandCellTurn`/`OnSortCellTurn` and include
|
||||
`LC`/`SC` in BOTH signatures; derive `EC`/`OC` for each `DC` from its cell
|
||||
list (retail's two reverse loops: every shell far-to-near, then every
|
||||
object list far-to-near — the driver's own order) on both sides; exclude
|
||||
the trailing weather `OC` from the comparison (assert separately that an
|
||||
outdoor retail frame ends with `OC <P cell>`). The four kit-pose rows must
|
||||
then reproduce at the eight-kind level, or the FIRST divergence is
|
||||
reported in deviations with its position (a real finding, not a skip).
|
||||
- Gates unchanged (§11.3); the InstalledDat lane must still show only the
|
||||
three known failures; the new still-fixture rows must still reproduce.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue