capture run decoded: #126 spawn-through-roof + #127 bistable flood admissions + #128 session-sticky invisible staircase filed; [viewer] probe gains fwd=
The users tower capture (tower-viewer-capture.log, 551 [viewer] lines) decodes into three distinct issues: - #126 (HIGH, #107/#111 family): an OUTDOOR spawn claim on the tower roof (z=127.2) is grounded to TERRAIN z=112 - the player is warped through the roof into the tower interior, outdoor-classified -> the transparent-interior spawn. The snap outdoor branch must ground to the nearest WALKABLE surface (roofs/GfxObj floors), not terrain. - #127 (HIGH, the flap mechanism): per-building flood admissions are BISTABLE per frame under the outdoor root - flood size oscillates +-1-3 cells at millimetre eye deltas (45<->52 standing on the roof, including a byte-static eye flip). Every oscillation = building interiors dropping in/out -> the roof/edge flap; running past a building = #123. Interior side shows the same family (flood 1<->3, outPolys 0<->1 during the climb). - #128: the staircase was invisible the WHOLE climb under a HEALTHY interior root (0xAAB30107 FullScreen views - the cone cannot cull a root-cell static), while the SAME build rendered it perfectly in a different session (diag spawn + screenshot, meshMissing=0). Session-sticky nondeterminism; the barrel tracks this bug (a partial subset of staircase parts), NOT dat content (user axiom: no barrel in retail). Needs a diag-instrumented repro of the users session shape. The [viewer] probe now logs the camera forward (fwd=) so the next capture can be replayed headlessly - Build clip results depend on the view-projection, not just the eye. Suites: App 238+1skip, Core 1422+2skip, UI 420, Net 294. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
a974504e6e
commit
cd12d3dbbc
2 changed files with 79 additions and 1 deletions
|
|
@ -9692,8 +9692,12 @@ public sealed class GameWindow : IDisposable
|
|||
if (sig != _lastViewerProbeSig)
|
||||
{
|
||||
_lastViewerProbeSig = sig;
|
||||
// fwd = camera forward (3rd view column negated) — required to
|
||||
// REPLAY a captured frame headlessly: Build's clip results
|
||||
// depend on the view-projection, not just the eye.
|
||||
var v = _cameraController?.Active.View ?? System.Numerics.Matrix4x4.Identity;
|
||||
Console.WriteLine(System.FormattableString.Invariant(
|
||||
$"[viewer] {sig} eye=({camPos.X:F3},{camPos.Y:F3},{camPos.Z:F3}) viewerCell=0x{viewerCellId:X8}"));
|
||||
$"[viewer] {sig} eye=({camPos.X:F3},{camPos.Y:F3},{camPos.Z:F3}) fwd=({-v.M13:F4},{-v.M23:F4},{-v.M33:F4}) viewerCell=0x{viewerCellId:X8}"));
|
||||
}
|
||||
}
|
||||
if (AcDream.Core.Rendering.RenderingDiagnostics.ProbeVisibilityEnabled)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue