acdream/launch-a6-issue98-polydump.ps1
Erik f29c9d5e61 docs(research): A6.P3 #98 — comparison harness findings + neighborhood fixtures
Session-end documentation for the 2026-05-23 evening session in
which:

1. The PhysicsResolveCapture apparatus shipped (committed earlier
   in fb5fba6).
2. A live capture (41K records) drove the first LiveCompare_* tests
   in CellarUpTrajectoryReplayTests, two of which PASS bit-perfect.
3. The failing third test pinpointed the cap-event divergence.
4. A second capture (70K records + 16 cell dumps + per-poly probes)
   identified the cottage GfxObj 0xA9B47900 as the blocker — a
   landblock-baked static building whose floor polygons live in the
   GfxObj's BSP, NOT in any cottage cell.

The findings doc has:
- TL;DR + chronological commits
- Apparatus inventory (PhysicsResolveCapture, comparison tests,
  fixtures, launch scripts)
- The math: head sphere top at Z=foot+1.68 reaches the cottage floor
  at Z=94.0 when foot Z=92.74, matching the observed cap.
- User's confirming observation (cap fires on pure-vertical jump too,
  ruling out every step-up / AdjustOffset hypothesis)
- What's NOT yet known (why retail doesn't have this cap; full
  cottage GfxObj polygon list)
- Next-session pickup with two ranked options

Adds:
- docs/research/2026-05-23-a6-p3-issue98-comparison-harness-findings.md
- launch-a6-issue98-capture.ps1 (capture-only launch)
- launch-a6-issue98-polydump.ps1 (capture + diagnostic probes + 16-cell dump)
- 13 new cell-dump fixtures (0xA9B40140-0xA9B40142, 0xA9B40144,
  0xA9B40145, 0xA9B40148-0xA9B4014F) at 272 KB total. The harness now
  has the full 0xA9B4014X neighborhood available for any future
  comparison test that needs adjacent cell geometry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 20:12:43 +02:00

42 lines
2 KiB
PowerShell

$env:ACDREAM_DAT_DIR = "$env:USERPROFILE\Documents\Asheron's Call"
$env:ACDREAM_LIVE = '1'
$env:ACDREAM_TEST_HOST = '127.0.0.1'
$env:ACDREAM_TEST_PORT = '9000'
$env:ACDREAM_TEST_USER = 'testaccount'
$env:ACDREAM_TEST_PASS = 'testpassword'
# A6.P3 #98 — second capture pass to identify the missing fixture cell.
# Dump cells 0xA9B40140-0xA9B4014F (all 16 cells in the cottage neighborhood)
# so we can see geometry of cells beyond just 143, 146, 147. The blocking
# polygon at world Z~94 / XY~(141.4, 7.0) facing DOWN must be in one of
# these neighbors.
$dumpRange = @(
'0xA9B40140','0xA9B40141','0xA9B40142','0xA9B40143',
'0xA9B40144','0xA9B40145','0xA9B40146','0xA9B40147',
'0xA9B40148','0xA9B40149','0xA9B4014A','0xA9B4014B',
'0xA9B4014C','0xA9B4014D','0xA9B4014E','0xA9B4014F'
) -join ','
$env:ACDREAM_DUMP_CELLS = $dumpRange
$env:ACDREAM_DUMP_CELLS_DIR = 'tests/AcDream.Core.Tests/Fixtures/issue98'
# Per-push-back polygon dump — when the head sphere is blocked by a
# polygon (the cap event), this logs which cell + poly id + world verts.
$env:ACDREAM_PROBE_POLY_DUMP = '1'
$env:ACDREAM_PROBE_PUSH_BACK = '1'
# Cell-set summary at the cap point so we see what cells the multi-cell
# iteration enumerated.
$env:ACDREAM_PROBE_RESOLVE = '1'
$env:ACDREAM_PROBE_CELL = '1'
$env:ACDREAM_PROBE_INDOOR_BSP = '1'
# Keep the live capture going too — augments the data with the
# corresponding ResolveWithTransition records for cross-reference.
$capturePath = Join-Path 'C:\Users\erikn\source\repos\acdream\.claude\worktrees\strange-albattani-3fc83c' 'a6-issue98-resolve-capture-2.jsonl'
if (Test-Path $capturePath) { Remove-Item $capturePath -Force }
$env:ACDREAM_CAPTURE_RESOLVE = $capturePath
Write-Host "Capture path: $capturePath"
Write-Host "Cell-dump range: $dumpRange"
Set-Location 'C:\Users\erikn\source\repos\acdream\.claude\worktrees\strange-albattani-3fc83c'
dotnet run --project src\AcDream.App\AcDream.App.csproj --no-build -c Debug *> 'C:\Users\erikn\source\repos\acdream\.claude\worktrees\strange-albattani-3fc83c\a6-issue98-polydump-launch.log'