acdream/docs/bugs.md
Erik 6c3bd4ce4b docs: reconcile project status and navigation
Add a canonical documentation map, modernize the public README, and align milestone, roadmap, architecture, issue, divergence, and session guidance with the July 20 baseline. Correct the far-teleport residual to issue #153, close visually accepted indicator and terrain-tiling work, record the remaining detail-overlay and build-warning debt, and deprecate the duplicate legacy bug ledger.

Co-authored-by: OpenAI Codex <codex@openai.com>
2026-07-20 13:00:41 +02:00

3.4 KiB

acdream — historical bug snapshot (deprecated)

Not an active issue tracker. This file preserves the 2026-04-14 snapshot for archaeology. Several “open” entries below were superseded, narrowed, or fixed by later collision/rendering work. Do not update status here and do not use these BUG numbers for new work. The canonical tactical ledger is ISSUES.md; current program navigation is in README.md.

The text below is intentionally retained as historical evidence of what was believed at the time.


Historical open snapshot (not current)

BUG-001: Wrong cloth textures on characters

  • Observed: 2026-04-13
  • Description: Character clothing renders with incorrect textures. ObjDesc Phase 5 (AnimPartChange + TextureChanges + SubPalettes) is shipped but something is off — either a texture-swap ordering issue, a missing remapping step, or a palette application bug.
  • Repro: Connect to ACE server, observe player character or NPCs.
  • Likely area: WorldEntity ObjDesc application, TextureCache, or the CreaturePalette pipeline in InstancedMeshRenderer.
  • Phase: Unassigned (investigate after rendering rebuild Step 5).

BUG-005: Collision penetration — body enters objects before blocking

  • Observed: 2026-04-14
  • Description: Player walks partway into boulders, trees, and walls before collision is detected. Root cause: static overlap detection instead of swept-sphere. Retail uses FindTimeOfCollision to compute the exact contact point BEFORE moving the sphere. Our system moves first, detects overlap, then tries to push out.
  • Repro: Walk into a boulder at any speed — body clips into it.
  • Fix required: Restructure Transition loop to compute collision time before advancing position. Use CollisionPrimitives.FindTimeOfCollision (already ported from FUN_00539BA0).
  • Phase: B.3 (collision completion)

BUG-006: Getting stuck at object corners and tight spaces

  • Observed: 2026-04-14
  • Description: Player gets permanently stuck when walking into building corners or between objects. The SlideSphere crease projection degenerates when two collision normals are nearly parallel or the sphere is already penetrating.
  • Repro: Run along a building wall and hit a corner.
  • Fix required: Pre-move collision prevents penetration (fixes BUG-005), which eliminates the degenerate crease case. Also need stuck detection + push-out as a safety valve.
  • Phase: B.3 (collision completion)

BUG-007: Some trees don't have collision

  • Observed: 2026-04-14
  • Description: Some scenery trees/objects pass through despite CylSphere collision being implemented. Likely missing CylSphere data in their Setup, or the Setup isn't cached in PhysicsDataCache.
  • Repro: Walk through certain trees near Holtburg.
  • Phase: B.3 (collision completion)

Historical fixed snapshot

BUG-002: Jump not visible from retail client

  • Fixed: 5634e71 — Jump packet (opcode 0xF61B) now sent to server.

BUG-003: Facing direction mismatch with server

  • Fixed: 6523c71 — YawToAcQuaternion converts from our yaw convention to AC heading (0=West, 90=North) using holtburger's from_heading formula.

BUG-004: Run speed not verified working

  • Fixed: bb7eced — Server doesn't echo UpdateMotion to sender. Compute RunRate locally via PlayerWeenie.InqRunRate (Run skill 200 → 9.5 m/s).