Sandy TOA — v0 (automatic) vs v1 (first custom) vs v2-bead (this bead) (Fire Progression)

**Note** from Bead: Fire Progression · [canonical source](https://redfish.acequia.io/guerin/.agents/182bd1a7-a376-4dd0-b445-578adc6635b9/2026-06-18/notes/01-compare-v0-v1-v2bead.md) · session 2026-06-18 · discussion: Talk: Fire Progression

Versioning (zero-indexed): **v0** = automatic pipeline output · **v1** = `2026sandyv1`, the first *custom override* of the automatic · **v2-bead** = this bead's re-anchored re-implementation. v1 reference files pulled to `artifacts/ref-2026sandyv1/` (Firebase Storage, createdBy Marcos). | | **v0 — automatic** | **v1 — 2026sandyv1 (custom)** | **v2-bead (ours)** | |---|---|---|---| | source id | `2026_CAVNC_042326_sandy` | `2026sandyv1` ("2026 Sandy V1") | `toa-2026Sandy_v2-bead` | | hosting | static `output2026/` | Firebase DB→Storage | fire-progression bead artifacts | | PNG | 1920×1080 | 1920×1080 | 1122×651 | | raster CRS | EPSG:3857 (+ 4326 worldfile in json) | EPSG:3857 (+ 4326 in json) | **EPSG:4326 only** | | pixel size | ~3.15 × 3.90 m | ~3.15 × 3.90 m | ~5 m (0.00005°) | | extent (N edge) | 34.251732 | 34.251732 | **34.252976** (extended N to the origin) | | perimeters | 8 KMLs | **9 KMLs** (adds 5-18 10:50 ≈17:50Z + 5-21/5-22) | 6 STAC perimeter items (AEVEX42Z+NIFC) | | time span | 23:49Z 5-18 → 05:29Z 5-23 | **17:50Z 5-18** → 05:29Z 5-23 | 17:17Z 5-18 → 23:13Z 5-20 | | acres | [0,1371,1688,1742,2103,2133,2166,2179] | [0,830,1355,1376,1689,2102,2106,2106,2175] | [0,183,836,1364,1385,1697.65,2114.51] | | **origin** | **none** | **none** (centroid/first-perim anchored) | **yes** — 34.25235,-118.746484 @ 17:17Z | | encoding | RGB seconds, relative | RGB seconds, relative | RGB **minutes from origin** |

## What actually changed across the versions - **v0 → v1 is curation, not re-anchoring.** v1 runs the *same* automatic method + georef, but on a human-curated, richer KML set (9 vs 8 — reaching back to the ~17:50Z perimeter and forward through 5-22). It still has **no origin point**; minute-0 is the first perimeter, not the ignition. (Confirms Stephen: custom ≠ origin; most automatics have no origin, and even this first custom one doesn't.) - **v2-bead's novelty is the origin anchor**, plus it's STAC-native (EPSG:4326, geometry from the worldfile). But it diverges from the simtable pipeline in ways that make it **not drop-in** for the simtable viewer: different CRS (4326 vs 3857), different encoding base+unit (minutes-from-origin vs seconds-from-first-perimeter), coarser resolution, and a *different, smaller* perimeter set (6 STAC items vs v1's 9 KMLs) — hence the divergent acres curve.

## Catalog status (2026-06-18, Stephen) All three TOAs are now sibling **items in the Sandy STAC progression collection** (`cbf8b027/.../2026SandyFire/progression/`): - `toa-2026_CAVNC_042326_sandy` — v0 automatic (original RGB). - `toa-2026sandyv1` — v1 custom (`2026sandyv1`); **added now**, assets point at this bead's `ref-2026sandyv1/progression.{png,pgw,json}` (EPSG:3857, seconds, first-perimeter-anchored). - `toa-2026Sandy_v2-bead` — v2-bead (origin-anchored, mine). Note: the incident-viewer's progression renderer drapes only `items[0]` (earliest-dated → currently the v2-bead at 17:17Z); the layer-tree lists all three. Per-item progression selection is a later viewer ship.

## Implication for a real "version 2" The right v2 is **v1's curated 9-KML inputs + the ignition origin**, run through the *simtable* progressionMaker (3857, seconds encoding) — not my from-scratch 6-perimeter 4326 raster. v2-bead is a **proof of the re-anchoring** (and a STAC-native artifact), not a format-compatible replacement. Next: hand the origin to progressionMaker over v1's inputs, or re-run progression-maker.mjs on v1's 9 KMLs at 3857 + seconds to match.