Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
CellTransit.FindTransitCellsBox ports CEnvCell::find_transit_cells'
part-array overload @0x0052cae0 line-for-line: per-portal x per-part
order, the sphere cheap-reject at F_EPSILON+radius, the box admit whose
"Straddle or crossing-side" rule is exactly retail's `eax != side` under
the PDB Sidedness enum, leads-outside placed AFTER the admit, the
unconditional unloaded-neighbour hint without the sphere overload's
re-test, the destination box_intersects_cell gate with its deliberate
no-break, and add_all_outside_cells after the loop. The box-vs-cell BSP
traversal lands in BOTH representations behind the flat-authoritative
dispatcher with a graph referee whose 20,000 installed comparisons are
pinned by assertion (review F5), zero mismatch.
Dual Opus review: PASS on both lenses. The mandatory D0 pseudocode pass
caught that the contract's own supplementary note misattributed the box
block to the sphere overload — it belongs to a SECOND
check_building_transit overload @0x0052c680, whose portal-side
convention is INVERTED and whose admit differs; the pseudocode doc now
records that trap plus two byte confirmations made at review:
which_side @0x00444720 is strictly > eps for POSITIVE, and
intersect_box's in-plane early exit returns CROSSING(3)
(jp @0x005aa1bc -> mov eax,3), settling review items b1/b2 for the
future bridge porter. The bridge itself stays unported as AP-159's
explicit remainder.
The review also retired #335's severity premise honestly: "over-
inclusive only, never a missed one" is wrong at production shape ratios,
where the box (whole-vertex AABB) legitimately exceeds the sphere
(physics-polygon root sphere). Measured, both populations: rigged
(box << sphere) — 1,520 placements, 978 cells removed, 0 added;
production-ratio (box >= sphere) — 950 placements, 20 removed, 1 ADDED
through the loaded-neighbour gate, which is retail's direction, not a
defect. The no-op guard (review F4) asserts removal is nonzero so an
unwired admit cannot pass silently.
Process note: the implementer authored against this session's worktree
at bec5c69d, 25 commits stale — the recorded worktree-base class. All
six files were byte-identical between bases, the diff transplanted
losslessly, and every verdict-bearing run (referee, direction sweeps,
this clean-room) was re-executed on current main. S2's uncommitted
phase-1 edits were stashed for this landing so the suite verdicts
exactly one changeset.
Also untracks 341-slope-capture.jsonl (an accidental add) and
gitignores it.
Clean-room suite: 11,248 passed / 6 skipped / 0 failed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
111 lines
2.6 KiB
Text
111 lines
2.6 KiB
Text
# Build output
|
||
bin/
|
||
obj/
|
||
out/
|
||
|
||
# Rider / VS
|
||
.idea/
|
||
.vs/
|
||
*.user
|
||
*.suo
|
||
|
||
# NuGet
|
||
*.nupkg
|
||
packages/
|
||
|
||
# OS
|
||
.DS_Store
|
||
Thumbs.db
|
||
|
||
# Reference repos and retail client (large, not our code, separate licenses)
|
||
# WorldBuilder is exempt — it's a load-bearing dependency tracked as a git
|
||
# submodule pointing at our fork (Phase N, see docs/architecture/worldbuilder-inventory.md).
|
||
references/*
|
||
!references/WorldBuilder
|
||
!references/WorldBuilder/
|
||
|
||
# Claude Code session state
|
||
.claude/
|
||
# Superpowers brainstorm visual-companion scratch (mockups regenerate; not source)
|
||
/.superpowers/
|
||
launch.log
|
||
launch-*.log
|
||
proveout*.log
|
||
launch.utf8.log
|
||
n4-verify*.log
|
||
|
||
# A6.P5 (2026-05-25) — door-stuck reproduction captures (multi-MB);
|
||
# the 3-record fixture extracted from these lives at
|
||
# tests/AcDream.Core.Tests/Fixtures/door-bug/over-penetration-capture.jsonl
|
||
door-stuck-capture.jsonl
|
||
door-stuck-*.launch.log
|
||
door-stuck-*.launch.utf8.log
|
||
door-fix-*.launch.log
|
||
door-fix-*.jsonl
|
||
door-walkthrough.*
|
||
|
||
# ImGui auto-saved window/docking state (per-user, not source)
|
||
imgui.ini
|
||
|
||
# User-only download cache (per-developer, not source)
|
||
refs/
|
||
|
||
# Python tooling (under tools/) — bytecode caches
|
||
__pycache__/
|
||
*.pyc
|
||
|
||
# Per-session scratch (Claude commit message drafts, ad-hoc temp files)
|
||
tmp/
|
||
|
||
# Disposable dotnet test/build output redirected by local validation runs
|
||
.test-out/
|
||
|
||
# Connected-gate, benchmark, and visual-capture artifacts are machine-local
|
||
logs/
|
||
|
||
# Git worktrees for isolated feature work
|
||
.worktrees/
|
||
|
||
# Per-session retail-debugger scratch — cdb scripts, logs, analysis helpers.
|
||
# The committed reference workflow lives in CLAUDE.md "Retail debugger toolchain";
|
||
# session-specific traces should not pollute the repo.
|
||
*.cdb
|
||
# tools/cdb/ holds committed reference scripts — exempt them from the blanket rule above.
|
||
!tools/cdb/*.cdb
|
||
launch_*.log
|
||
launch_*.err
|
||
launch_*.ps1
|
||
launch[0-9]*.log
|
||
analyze_*.ps1
|
||
peek_*.ps1
|
||
run_cdb_*.ps1
|
||
find_cdb.ps1
|
||
find_acclient.ps1
|
||
kill_cdb.ps1
|
||
append_memory.ps1
|
||
sky_*.log
|
||
smoke_test*
|
||
steep_roof_trace*
|
||
substep_trace*
|
||
sg_built.txt
|
||
# Stray bash-mangled path artifacts from PowerShell-via-bash escaping
|
||
C[-]*
|
||
|
||
# Obsidian vault config (personal, not project-wide)
|
||
.obsidian/
|
||
|
||
# Junction to Claude Code per-project memory (Obsidian vault visibility)
|
||
claude-memory
|
||
studio-shots/
|
||
|
||
# MP1b acdream-bake output — user-machine artifact, never committed
|
||
# (docs/superpowers/plans/2026-07-05-mp1b-pak-and-bake.md, Task 5).
|
||
*.pak
|
||
|
||
# session-local physics capture artifacts (worktree root)
|
||
/resolve-*.jsonl
|
||
/launch-*.log
|
||
|
||
# Campaign V capture/evidence output - session-local, never tracked (423 MB lesson, 2026-07-29)
|
||
artifacts/
|
||
341-slope-capture.jsonl
|