Commit graph

5 commits

Author SHA1 Message Date
Erik
d910d570a3 memory: extend 2026-04-17 session handoff with evening bug-bash work
Adds the three evening client-debugging commits + the five new
architectural findings they produced:

- NPC clothing by-camera-angle flicker → instance-batching dedup fix
  (`(GfxObjId, PaletteHash ^ SurfaceOverridesHash)` as group key)
- Run animation broadcast fix → wire WalkForward+HoldKey.Run +
  separate LocalAnimationCommand for local RunForward cycle
- Jump animation via MotionCommand.Falling SubState swap (not Action,
  not Modifier — just a plain SubState cycle)

Also captures the lessons learned from the jump saga: trust empirical
motion-table dumps over assumptions, the retail animation taxonomy
(Style/SubState/Modifier/Action masks), and the wire/local-animation
separation pattern.

Updates the pickup table with the small remaining polish items
(backward-walk jitter, stop-running twitch, remote-char Z offset).
2026-04-18 15:55:31 +02:00
Erik
d951304875 memory: capture full 2026-04-17 session + permanent research index
Two memory files landed:

1. Updated memory/project_session_2026_04_17.md — covers all three
   commits today:
   - ff325ab debug overlay + mouse controls
   - 7230c15 retail UI research + C# scaffold
   - 3f913f1 13-slice deep-dive marathon + scaffolds + roadmap

   Includes the "what to build tomorrow" lookup table, the architectural
   headline findings, and session lessons (Opus-4.7 parallel swarms are
   worth the cost; keystone.dll landmine; GameEvent dispatcher is the
   biggest network gap).

2. New memory/project_retail_research_index.md — permanent index for
   the 20 research docs (6 UI slices + 13 subsystem slices). Quick-
   lookup table "use this slice when you're doing X". Also captures the
   critical cross-cutting findings (architecture, wire, dat ranges) and
   already-extracted retail-faithful formulas for instant reference.

   This file is the standing invariant: before writing any retail-AC-
   specific code, open it first to find the matching slice.
2026-04-18 13:24:11 +02:00
Erik
ff325abd7b feat(ui): debug overlay + refined input controls
Adds the first on-screen HUD for the dev client plus today's mouse-control
refinements. Also lands yesterday's scenery-alignment changes that were
left uncommitted in the working tree.

Overlay:
- BitmapFont rasterizes a system TTF via StbTrueTypeSharp into a 512x512
  R8 atlas at startup (Consolas on Windows, DejaVu/Menlo fallbacks)
- TextRenderer batches 2D quads in screen-space with ortho projection;
  one shader + two draw calls (rect then text) for panel backgrounds
  under glyphs
- DebugOverlay composes info / stats / compass / help panels on top of
  the 3D scene; toggles via F1/F4/F5/F6; transient toasts for key events
- DebugLineRenderer and its shaders (carried over from the scenery work)
  are properly committed in this commit

Controls:
- Per-mode mouse sensitivity (Chase 0.15, Fly 1.0, Orbit 1.0); F8/F9 to
  adjust the active mode multiplicatively (x1.2)
- Hold RMB to free-orbit the chase camera around the player; release
  stays at the new angle (no snap-back)
- Mouse-wheel zooms chase distance between 2m and 40m
- Chase pitch widened to [-0.7, 1.4] so mouse-Y tilts both ways from
  the default neutral angle

Scenery alignment (carried from yesterday's session):
- ShadowObjectRegistry AllEntriesForDebug + Scale field
- SceneryGenerator uses ACViewer's OnRoad polygon test + baseLoc +
  set_heading rotation
- BSPQuery dispatchers accept localToWorld so normals/offsets transform
  correctly per part
- TransitionTypes.CylinderCollision rewritten with wall-slide + push-out
- PhysicsDataCache caches visual-mesh AABB for scenery that lacks
  physics Setup bounds
2026-04-17 18:45:38 +02:00
Erik
b16a149718 docs: session handoff + collision port mandate in memory
Session 2026-04-14 summary: rendering rebuild complete, movement
speed+jump+facing working, collision partially working but needs
full retail port.

Memory updated with explicit user feedback: no more patching
collision, must port from decompiled code faithfully per CLAUDE.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 15:48:21 +02:00
Erik
6c618937cb docs: collision port handoff — full retail system needed
Document current state (patchwork ~60-70%) and plan for clean port
from ACE's complete C# implementation. Lists all 12 files to port,
what to keep vs replace, and the correct approach.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 14:04:14 +02:00