# Scene Restorations

Modern re-renderings of the Division dVS scenes recovered from the Glaze
developer drive (see [HISTORY.md](../HISTORY.md)) and this repo's CONTENT
tree. The originals ran on Division Ltd.'s pixel-pipeline hardware in
1994–1997; 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.
