Files
TeslaRel410/restoration
CydandClaude Fable 5 4ad97b5d41 BT410 5.3.131: the instability reaches the pilot -- the sway loop closes, and every watcher in the mech turns out to be inert
The gyro's sway slew (@004b275c) was already reconstructed and already
read the cell the master perf writes -- swayBias -- which nothing had
ever written.  So the mechInstability member I added to the gyro in
5.3.127 was a duplicate of that same cell, the second such mistake this
arc after realMaxSpeed/runSpeedMax.  The lesson repeats: grep our own
tree for an existing carve before adding a member for a binary offset.

Merged, and the loop closes: the instability model now publishes into
swayBias, so an unstable mech shakes its pilot harder through code that
was already correct and waiting for a writer.  Also corrected: the
binary's impaired gate has three terms where ours had two -- a gyro
destroyed outright swings to the impaired sway base, not only an
unpowered or heat-failed one.

Verified on the rig (BT_SWAY_LOG): bias arrives, the angle slews toward
base+bias and stays inside the authored band, zero faults.

AND THE LOG IMMEDIATELY EARNED ITS KEEP.  It showed impaired=1 for an
entire clean run.  Instrumenting the three terms: state=0, heat=0 -- so
the new term is inert and correct -- but watchdog=0 where Ready is 4.
PowerWatcher::UpdateWatch falls back to 0 when its watched link resolves
NULL, and watchedLink is default-constructed and bound NOWHERE in the
tree, for PowerWatcher and HeatWatcher alike.

So the whole watcher family is inert: every watcher resolves NULL, every
PowerWatcher reports its target unpowered, and the gyro has been sitting
on its destruction-grade sway base since the sway model landed --
invisibly, until this log existed.  The fix needs the streamed watch
index and a real ctor bind; guessing a binding is precisely what this
project forbids, so it is recorded with its evidence for the next
sitting rather than improvised now.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-10 08:12:23 -05:00
..

Scene Restorations

Modern re-renderings of the Division dVS scenes recovered from the Glaze developer drive (see HISTORY.md) and this repo's CONTENT tree. The originals ran on Division Ltd.'s pixel-pipeline hardware in 19941997; these tools parse the original data files and re-render them in WebGL, in the browser.

Viewers (open in any browser, fully self-contained)

  • vwe-archive.html — the Scene Archive: 26 curated scenes across all projects — Star Trek (Enterprise-D, Klingon flyby), Hull Pressure (sea demos, fish schools, sunken temple), BattleTech (polar map with mech lineup, Ravine and desert maps, stadium), Red Planet (Blade arena, the Mars canal milestone demo), and the Canyon/Maya-temple Division demos. Fly camera: drag to look, WASD to fly, R resets.
  • trek-scn.html — the original standalone Star Trek restoration (TREK.SCN and KLNGVID.SCN).

Toolkit

  • divformats.py — parsers for every Division format found on the drive: text VGF/VMF (DIV-VIZ2 geometry/materials, both the 1995 VERSION 2:07 and 1996 02:05 dialects, with header SCALE support), binary BGF/BMF (DIV-BIZ2) — the binary block-stream layout was recovered from Division's own reader source (DPL3/BIZREAD.C, 1994), including all 14 vertex layouts, pmesh/tristrip/polygon connectivity, LOD blocks (newer writers nest patches inside LODs; the largest LOD is taken), and embedded materials/textures/ramps — plus TGA and raw SVT textures, SPL splines, and SCN scene scripts.
  • audit.py — scans every .SCN on the drive and reports what fraction of its geometry survives, and in which format.
  • extract_all.py — extracts every scene with ≥60 % of its geometry recoverable (108 of 241 on the drive; the rest reference lost models) into allscenes.json, resolving models/materials/textures across the drive and this repo's CONTENT dirs.
  • gallery_build.py — curates scenes from allscenes.json into the self-contained vwe-archive.html (via gallery_template.html).
  • convert.py / viewer_template.html — the original single-scene Star Trek pipeline.

Rebuild

python extract_all.py     # requires the sda4/ drive dump beside this repo
python gallery_build.py

Fidelity notes

Faithful: vertices, triangles, material colors and shading ramps, textures, fog and light parameters, spline motion, camera start positions. Approximated: Division's rasterizer behavior, point sizes, timing (originals ran at 30 Hz). Not simulated: event-driven SPECIALFX particles. A few dev scenes had camera start positions inside geometry; those get overridden or auto-framed cameras (see START_OVERRIDE in gallery_build.py). Scenes missing one or more models from the drive say so in their header.