D2R-3D Reimagined Edition — full project history

Oct 18 – Nov 7, 2026 · fork of emmericp/D2R-3D · offline single-player · rebuilt from git logs, records/ and handoff docs

D2R-3D Reimagined Edition — full project history Oct 18 – Nov 7, 2026 · fork of emmericp/D2R-3D · offline single-player · rebuilt from git logs, records/ and handoff docs Observed events Time: America/Chicago (UTC-05:00) · 1 quiet period(s) compressed (≈) Camera, movement & shadows (3dcam) Targeting & hitboxes Launcher & releases Ground fill & skybox (groundfx) Investigations, resets & records 10-20 00:00 10-22 00:00 10-24 00:00 10-26 00:00 11-03 00:00 11-05 00:00 11-07 00:00 ≈ 6 d 19 h D2R-3D Launcher project begins · Python/tkinter installer for the whole toolchain: MSVC Build Tools, Bazel, D2RLoader, Plugin SDK — builds and deploys the mod plugins. · Launcher & releases › 10-18 23:54:00 UTC-05:00 10-18 23:54 D2R-3D Launcherproject begins First commit: upstream fork snapshot · emmericp/D2R-3D source (Tandanu's 3D camera mod) + automated launcher committed to a new git repo ('d23d fork'). · Investigations, resets & records › 10-19 17:45:00 UTC-05:00 10-19 17:45 First commit: upstreamfork snapshot Self-healing launcher · Verifies real install state at launch and quarantines corrupt files instead of trusting the index. · Launcher & releases › 10-19 19:13:00 UTC-05:00 10-19 19:13 Self-healing launcher 3dcam 1.1.0 — auto-follow camera · Camera follows the character smoothly while moving; L toggles camera lock; MMB orbit no longer flickers the automap. · Camera, movement & shadows (3dcam) › 10-19 19:37:00 UTC-05:00 10-19 19:37 3dcam 1.1.0 —auto-follow camera Follow feel tuned & approved · Turn-rate cap + longer settle; 'mouse movement concept' snapshot becomes the known-good baseline. · Camera, movement & shadows (3dcam) › 10-19 19:53:00 UTC-05:00 10-19 19:53 Follow feel tuned &approved dev_keybinds: .key format reverse-engineered · Parser/patcher for D2R's keybind files — native WASD actions could be bound. · Investigations, resets & records › 10-19 20:20:00 UTC-05:00 10-19 20:20 dev_keybinds: .keyformatreverse-engineered 3dcam 1.2.0 — WASD mode · Turn keys + WASD toggle; native WASD binds patched in via .key files. · Camera, movement & shadows (3dcam) › 10-19 20:34:00 UTC-05:00 10-19 20:34 3dcam 1.2.0 — WASDmode 1.2.1 — A/D pan, Q/E strafe layout · Camera-pan turn keys; strafe on Q/E. · Camera, movement & shadows (3dcam) › 10-19 20:45:00 UTC-05:00 10-19 20:45 1.2.1 — A/D pan, Q/Estrafe layout WASD follow gate (no-swing rule) · No camera swing on backpedal/strafe while moving — the camera only recenters when it should. · Camera, movement & shadows (3dcam) › 10-19 21:11:00 UTC-05:00 10-19 21:11 WASD follow gate(no-swing rule) 1.3.0 — camera-relative WASD · Synthetic F13–F16 key injection drives the game's dormant native move actions; shoulder cam. · Camera, movement & shadows (3dcam) › 10-19 21:34:00 UTC-05:00 10-19 21:34 1.3.0 —camera-relative WASD Follow all directions + latched injection · User pans re-aim heading without follow loops; camera centered. · Camera, movement & shadows (3dcam) › 10-19 21:45:00 UTC-05:00 10-19 21:45 Follow all directions+ latched injection Input recorders online · In-plugin 3dcam-input.log (keys, injected dirs, yaw) + standalone dev_keylog.exe live feed. · Investigations, resets & records › 10-19 21:54:00 UTC-05:00 10-19 21:54 Input recorders online 1.3.1 — movement gate + tunable turn · Movement gate + relatch fix; turn speed saved to 3dcam.cfg. · Camera, movement & shadows (3dcam) › 10-19 22:15:00 UTC-05:00 10-19 22:15 1.3.1 — movement gate+ tunable turn 1.3.2 — smoothed pans · Follow suppression, eased turn, sector hysteresis. · Camera, movement & shadows (3dcam) › 10-20 18:37:00 UTC-05:00 10-20 18:37 1.3.2 — smoothed pans 1.3.3 — steering dwell + follow debounce · Kills the remaining steering stutter. · Camera, movement & shadows (3dcam) › 10-20 18:51:00 UTC-05:00 10-20 18:51 1.3.3 — steering dwell+ follow debounce 3dcam 1.4.0 — last pre-gamepad state · Keyboard WASD tuned to a smooth follow-cam feel; the gamepad concept that followed was abandoned — no controller work, ever. · Camera, movement & shadows (3dcam) › 10-20 20:00:00 UTC-05:00 10-20 20:00 3dcam 1.4.0 — lastpre-gamepad state Fresh start — new git repo · 'd23d fork new wasd movement concept': 1.4.0 snapshot + launcher project merged into one repo. · Investigations, resets & records › 10-21 11:08:00 UTC-05:00 10-21 11:08 Fresh start — new gitrepo 3dcam 2.0.0 — camera-pivot WASD · W runs away from camera, S runs toward it and swings the camera behind; A/D pans = the steering wheel; replaces the abandoned gamepad build. · Camera, movement & shadows (3dcam) › 10-21 11:18:00 UTC-05:00 10-21 11:18 3dcam 2.0.0 —camera-pivot WASD dev_keylog.exe — standalone recorder · Black always-on-top console, live key feed + timestamped Desktop logs; near-zero-latency hooks. · Investigations, resets & records › 10-21 11:29:00 UTC-05:00 10-21 11:29 dev_keylog.exe —standalone recorder 2.1.0 — instant backpedal snap + help card · S reversal snaps 180° in one frame; '3dcam help' prints all controls. · Camera, movement & shadows (3dcam) › 10-21 11:43:00 UTC-05:00 10-21 11:43 2.1.0 — instantbackpedal snap + helpcard raylog diagnostic — hitbox milestone opens · Clicks at 3D angles resolved against the wrong ground point; investigation begins. · Targeting & hitboxes › 10-21 15:26:00 UTC-05:00 10-21 15:26 raylog diagnostic —hitbox milestone opens 2.2.0 — click magnetism · Bend the world ray onto nearby unit bases. · Targeting & hitboxes › 10-21 16:06:00 UTC-05:00 10-21 16:06 2.2.0 — clickmagnetism 2.2.2 — pick-scorer hook · HookPickScore returns ray distance per unit; hash-table walk documented as a dead end (do not retry). · Targeting & hitboxes › 10-21 16:37:00 UTC-05:00 10-21 16:37 2.2.2 — pick-scorerhook 2.3.0 — hover-unit override · natpoh/diablo2-vr-port technique: scan unit hash, ray-vs-body-cylinder rescue for null picks. · Targeting & hitboxes › 10-21 17:11:00 UTC-05:00 10-21 17:11 2.3.0 — hover-unitoverride 2.3.2 CONFIRMED WORKING · 16.16-subtile position fix; nameplates on body hovers, kills from chest clicks — 'works wonderful'. · Targeting & hitboxes › 10-21 17:27:00 UTC-05:00 10-21 17:27 2.3.2 CONFIRMEDWORKING play.exe — self-healing CLI launcher · Restores the pinned known-good DLL before launch, boot spinner, exits with the game; play.bat kept only as an anti-example. · Launcher & releases › 10-21 19:00:00 UTC-05:00 10-21 19:00 play.exe —self-healing CLIlauncher Unified app — launcher absorbs play.exe · GUI launcher gains self-heal + boot watch + mod-entry launch; express install ships a bundled plugin zip. · Launcher & releases › 10-21 23:00:00 UTC-05:00 10-21 23:00 Unified app — launcherabsorbs play.exe v3.0.0 shipped · First-person mode, analog 360° walk (KeyMove hook, F13–F16 fallback), proportional aim assist. · Camera, movement & shadows (3dcam) › 10-21 23:15:00 UTC-05:00 10-21 23:15 v3.0.0 shipped v3.1.0 — server-verdict aim assist · ServerLookup/Relation/Line handshake: allies, summons, NPCs and walled units stop magnetizing. · Targeting & hitboxes › 10-21 23:25:00 UTC-05:00 10-21 23:25 v3.1.0 —server-verdict aimassist v3.1.1 — scorer rescue-only · min(orig, rayScore) never demotes the game's own pick; wallck opt-in; srvprobe diagnostics. · Targeting & hitboxes › 10-21 23:44:00 UTC-05:00 10-21 23:44 v3.1.1 — scorerrescue-only THE REAL BUG: mod dir vs global dir · Game loads plugins from mods\D2R-3D\... not the global dir — every recent test ran stale v2.3.2. Deploy to both; the session banner is ground truth. · Investigations, resets & records › 10-22 00:45:00 UTC-05:00 10-22 00:45 THE REAL BUG: mod dirvs global dir v3.1.2 — ally filter + click-to-switch · Grouped-monster disambiguation, smallest raw ray-miss wins, heading smoothing. · Targeting & hitboxes › 10-22 20:00:00 UTC-05:00 10-22 20:00 v3.1.2 — ally filter +click-to-switch v3.1.3 — srvFilter root cause fixed · Sig arrays were zero-padded (never matched); unsized arrays + hook both ServerLookup and ServerLine. · Targeting & hitboxes › 10-22 21:00:00 UTC-05:00 10-22 21:00 v3.1.3 — srvFilterroot cause fixed Deploy covers BOTH plugin dirs · self_heal / deploy / health checks / pin_current now span global + mod dir; stale-exe-instance gotcha documented. · Launcher & releases › 10-22 21:30:00 UTC-05:00 10-22 21:30 Deploy covers BOTHplugin dirs v3.2.0 — minimap HUD + avoidance · Bottom-right overlay approach — broken, reverted the same day at user request; overlay.cpp stays dead, never reuse. · Targeting & hitboxes › 10-22 22:00:00 UTC-05:00 10-22 22:00 v3.2.0 — minimap HUD +avoidance v3.3.0 — map direction arrow · maparrow.cpp: tiny click-through GDI+ window, triangle on the automap marker, resolution-independent pinning, live calibration commands. · Camera, movement & shadows (3dcam) › 10-23 14:00:00 UTC-05:00 10-23 14:00 v3.3.0 — map directionarrow UPDATE PLUGIN / DOWNGRADE + version store · versions/ + versions.json index; user-pinned checked FIRST — fixes self-heal reverting fresh deploys; Play tab buttons; exe rebuilt. · Launcher & releases › 10-23 14:32:00 UTC-05:00 10-23 14:32 UPDATE PLUGIN /DOWNGRADE + versionstore Changelog tab in launcher · Milestone history in a readable list (CHANGELOG_LINES). · Launcher & releases › 10-23 15:00:00 UTC-05:00 10-23 15:00 Changelog tab inlauncher Sky experiment — phase 1 ReShade bridge · Per-act skies via a ReShade add-on (diablo2-vr-port technique); first attempt — later abandoned. · Ground fill & skybox (groundfx) › 10-23 16:00:00 UTC-05:00 10-23 16:00 Sky experiment — phase1 ReShade bridge Sky fixes: load error, D3D12 crash, render scale · RESHADE_BASE_PATH_OVERRIDE, technique toggles moved to finish_effects, sky confined to real void pixels under DLSS. · Ground fill & skybox (groundfx) › 10-23 20:00:00 UTC-05:00 10-23 20:00 Sky fixes: load error,D3D12 crash, renderscale Sky phase 2 → REVERTED to checkpoint · Per-act skies + fog via the game's biome signal + day/night — then repo reset to da88101; sky work preserved on the sky-experiment branch. · Ground fill & skybox (groundfx) › 10-24 12:00:00 UTC-05:00 10-24 12:00 Sky phase 2 → REVERTEDto checkpoint Checkpoint restore & rebuild-from-proven rule · Version store reset to the arrow-v6 build; 12 sky-era zips archived; lesson: rebuild only from verified-working state. · Investigations, resets & records › 10-25 09:00:00 UTC-05:00 10-25 09:00 Checkpoint restore &rebuild-from-provenrule Build 7 v3.4.0 — shadow artifacts FIXED · Shadow-fit calls answered with stock view/proj matrices on the live camera; gray slabs and black terrain gone — confirmed on video. · Camera, movement & shadows (3dcam) › 10-25 15:53:00 UTC-05:00 10-25 15:53 Build 7 v3.4.0 —shadow artifacts FIXED Build 8 v3.5.0 — tiered targeting · Tier 2 friendly / tier 1 hostile / tier 0 wall-vetoed; cylinder-entry height test; zoom-aware reach. · Targeting & hitboxes › 10-25 18:00:00 UTC-05:00 10-25 18:00 Build 8 v3.5.0 —tiered targeting v3.5.4–3.5.5 — generated class table · montiers.h from monstats.txt: talkable NPC / ally pass-through / ask-server; 'An Evil Force' cow excluded. · Targeting & hitboxes › 10-26 10:00:00 UTC-05:00 10-26 10:00 v3.5.4–3.5.5 —generated class table v3.5.6 — cursor gate · Monsters only highlight under the cursor (Build 8 rev 7). · Targeting & hitboxes › 10-26 14:00:00 UTC-05:00 10-26 14:00 v3.5.6 — cursor gate v3.6.0 — renamed Reimagined Edition · Publishing prep; then v3.6.1/3.6.2 cursor-gate height fixes + stairlog probe — last work of the old line. · Investigations, resets & records › 10-26 18:00:00 UTC-05:00 10-26 18:00 v3.6.0 — renamedReimagined Edition Clean baseline from 3.5.5 (record 0001) · Fresh publishable repo: records/ per change, AGENTS.md handbook, check_release_clean, new git history. · Investigations, resets & records › 11-02 12:00:00 UTC-06:00 11-02 12:00 Clean baseline from3.5.5 (record 0001) d2s_testchar.py — level-99 test characters · Save-file tool writes max-progress copies (all quests/waypoints, gold, stats); originals untouched (record 0002). · Investigations, resets & records › 11-02 13:00:00 UTC-06:00 11-02 13:00 d2s_testchar.py —level-99 testcharacters Toolchain + first 3.5.5 build (record 0003) · MSVC 14.44, Bazel 9.2.0, D2RLoader 1.3.1-beta, Plugin SDK rev 6eb8f8b; 106 launcher tests green; version store build 1 of 1. · Investigations, resets & records › 11-02 15:00:00 UTC-06:00 11-02 15:00 Toolchain + first3.5.5 build (record0003) Freeze investigation opens (record 0004) · Periodic 0.3–1.5s whole-game stalls on the fresh install; 3.5.3 and 3.5.5 both stall while vanilla is smooth — loader-only test pending. OPEN. · Investigations, resets & records › 11-02 18:00:00 UTC-06:00 11-02 18:00 Freeze investigationopens (record 0004) Ground bands = missing geometry (record 0005) · Magenta clear-color test: terrace/trench slits are open holes — the game never modeled those faces; ReShade depth fill chosen. · Investigations, resets & records › 11-03 10:00:00 UTC-06:00 11-03 10:00 Ground bands = missinggeometry (record 0005) 3.5.6 — save-exit crash fixed · Stale server game pointer cleared on GameLeft/GameJoined; four leave/join cycles clean — CONFIRMED (record 0006). · Targeting & hitboxes › 11-03 15:00:00 UTC-06:00 11-03 15:00 3.5.6 — save-exitcrash fixed groundfx S1–S2: ReShade add-on + camera snapshot · Separate d2rl-groundfx.dll loads ReShade64 via LoadLibrary (no proxy); CamSnapshot named-memory seqlock shares the live camera (records 0007–0008). · Ground fill & skybox (groundfx) › 11-03 18:00:00 UTC-06:00 11-03 18:00 groundfx S1–S2:ReShade add-on +camera snapshot groundfx S3–S4: hole mask → real ground fill · Depth render-scale fix (world depth lives in a quarter-size corner); neighbor-blend fill, voids stay black — ACCEPTED (records 0009–0011). · Ground fill & skybox (groundfx) › 11-04 10:00:00 UTC-06:00 11-04 10:00 groundfx S3–S4: holemask → real groundfill Skybox S0–S1: night sky → per-act palettes · Openness-ring probe keeps caves black; 8 palettes via F11; uniform-freeze bug found and fixed (records 0012–0013). · Ground fill & skybox (groundfx) › 11-04 13:00:00 UTC-06:00 11-04 13:00 Skybox S0–S1: nightsky → per-act palettes Painted skies port + auto act/day-night (0.8.3) · 24 d2r-pcvr panoramas; SDK ActChanged/LevelChanged gates interiors; env:: daylight scan; horizon extended to the terrain (records 0014–0016). · Ground fill & skybox (groundfx) › 11-04 16:00:00 UTC-06:00 11-04 16:00 Painted skies port +auto act/day-night(0.8.3) 3.5.8–3.5.12 — angles, footprints, object tables · Steep-pitch ray fix, evil-force lockout, approach-height test, object position probes + objtiers/objradius generated tables (records 0017–0020). · Targeting & hitboxes › 11-04 18:00:00 UTC-06:00 11-04 18:00 3.5.8–3.5.12 — angles,footprints, objecttables 3.5.13–3.5.14 — floor occlusion → pixel pick · First-hit floor gate (the ray can't pick past the ground); UnitToScreen body-column boxes — the game's own projection (records 0021). · Targeting & hitboxes › 11-04 21:00:00 UTC-06:00 11-04 21:00 3.5.13–3.5.14 — floorocclusion → pixel pick 3.5.15–3.5.17 — pads, hysteresis, grace · Wider boxes + pixel floor, waypoint pad strips, NPC 1.5x, absolute-pixel hysteresis + U2S-failure grace (records 0022–0023). · Targeting & hitboxes › 11-05 10:00:00 UTC-06:00 11-05 10:00 3.5.15–3.5.17 — pads,hysteresis, grace 3.5.18 exploded-projection fix → REVERTED · Sanity gates rejected legitimate boxes — 'harder to select'; rolled back to 3.5.17 via DOWNGRADE, source kept for fix-up (record 0024). · Targeting & hitboxes › 11-05 15:00:00 UTC-06:00 11-05 15:00 3.5.18exploded-projectionfix → REVERTED 3.5.19–3.5.20 — ray fallback + tiebreak · Exploded projections route to ray-capsule math; ray-resolver breaks box overlaps; traps excluded; click ray-age gate; deployed, awaiting owner test (records 0025–0026). · Targeting & hitboxes › 11-06 14:00:00 UTC-06:00 11-06 14:00 3.5.19–3.5.20 — rayfallback + tiebreak Assert dialogs hidden (record 0027) · d2rloader.toml assert_dialog_mode=false — the shadow-caster limit (>4 lights) no longer stops the game. · Investigations, resets & records › 11-07 09:00:00 UTC-06:00 11-07 09:00 Assert dialogs hidden(record 0027) 3.5.21 perf pass begins (record 0028) · Owner test of 3.5.20 reported slowdown in combat; the log showed 300–480 BOX transitions per 30s, each flushing on the game thread. Fixes in progress: 250 ms log-flush throttle, transition-log throttle, distance culling. · Investigations, resets & records › 11-07 15:00:00 UTC-06:00 11-07 15:00 3.5.21 perf passbegins (record 0028) Legend Change Alert Recovery

← D2R-3D SITECONTACT