docs: S4 packet — particles take the retail DrawMesh branch table; #459 names the unconsumed-attribute candidates
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
17315f0e7d
commit
6435655d73
2 changed files with 11 additions and 5 deletions
|
|
@ -132,10 +132,16 @@ seal/punch color-state row from S4-c1 kept or retired per its decision.
|
|||
`DrawBlock` call AFTER `DrawSortCell` returns, so chunk 2 adds one leaf
|
||||
method at the sort-cell EXIT (a `WalkFrameEventKind` of its own, ordered
|
||||
after the cell's object turn) — not a print-site change.
|
||||
- Where does the particle submitter's list membership come from — the
|
||||
particle draw is retail's own `AddMeshToAlphaList` consumer (billboards go
|
||||
to ALPHA), or is it drawn through the emitter's cell turn immediately?
|
||||
Check `ParticleRenderer.cs`'s submit site against the spec's §4 table.
|
||||
- PARTLY SETTLED (2026-09-03): `ParticleRenderer` submits every deferred
|
||||
particle draw (billboard and mesh kinds alike) to the single queue with a
|
||||
viewer distance (`queue.Submit(_alphaSource, token, sqrt(DistanceSq))`).
|
||||
In retail a particle is a `DrawMesh` like any other subset, so its list is
|
||||
decided by the §4 branch table on the emitter's subset mask and material
|
||||
(rows 3/4 → ALPHA under the default `0x0E` delay mask; row 1 immediate
|
||||
while `m_currentlyDrawingSky` is set — the weather emitters). Chunk 2
|
||||
routes particles through the same branch table, not a particle-specific
|
||||
rule; the parts capture (`*.parts.log`, `PD`/`DM` lines) is the oracle for
|
||||
which emitters ever appear as immediate draws.
|
||||
- SETTLED (2026-09-03): the `alphadepth` captures' `AM` lines carry the list
|
||||
selector (`AM mesh=… surf=… csurf=… new=… clip=… listSel=…` — `listSel`
|
||||
is the list, `new` the first-for-list flag, `clip` the clip-map duplicate,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue