The complete workshop record: four round-1 positions, five round-2 syntheses (incl. Troblum's adversarial pass with addendum + final scorecard — all seven findings resolved), both lead interviews, Qatux's round notes and the 8-section workshop-outcomes.md (the lakes message-crossing documented as process history), measurement ⑥ (set_pixel/c1) + the population-survey and chunk/S2 addenda in the measurement docs, the brief's appendix updated through ⑥, and architecture-briefing-final.md — Jeroen's outline written back as-built (six-level ladder, lakes, ~9MB resident global tier). README row: Complete. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
59 lines
3.1 KiB
Markdown
59 lines
3.1 KiB
Markdown
---
|
||
title: "Body Map Viewer — Lead Interview 1 (post round 1)"
|
||
description: "Jeroen's rulings on the round-1 open decisions"
|
||
type: workshop
|
||
status: active
|
||
workshop: body-map-viewer
|
||
created: 2026-07-25
|
||
---
|
||
|
||
# Lead Interview 1 — Jeroen's rulings (post round 1)
|
||
|
||
Held after [round-1-notes.md](round-1-notes.md). Presented: the three independent
|
||
convergences (tagged envelope triggered; viewport-sized canvases below
|
||
orbital/region; T-1177 cliff representation), the composing cache proposals, the
|
||
two named tensions, and the 10-item OPEN-FOR-SYNTHESIS list.
|
||
|
||
## Ratified by silence (presented as settled-unless-objected; no objection)
|
||
|
||
- **Tagged-envelope migration: triggered** (three seats, measured numbers). Round 2
|
||
designs the mechanics.
|
||
- **Viewport-sized canvases at every step below orbital/region; canonical survives
|
||
only as the global tier.** (This also resolves the brief's canonical-vs-viewport
|
||
interview question.)
|
||
- **Cliff representation** `elevation` + `channel_depth` + `cliff_edge` (unanimous
|
||
among adopters).
|
||
- **Cache composition**: Dudley's server-side global tier (~174 MB PNG-encoded,
|
||
D-203-shaped resource, not SQLite) + Stig's client-side `FileAccess` cache dir —
|
||
compose, don't compete. Both rejected SQLite in every shape independently.
|
||
|
||
## Rulings
|
||
|
||
1. **Step ladder — "Round 2 proposes, I rule at interview 2."** The synthesis round
|
||
produces 2–3 concrete ladder tables (step counts, factors, per-step derivation
|
||
rung + measured cost); Jeroen picks from real tables, not principles.
|
||
2. **Map time axis — current state via TTL-split**, his prior hint made concrete:
|
||
static geometry cached indefinitely-fresh (determinism), frozen/flooded carried
|
||
as separately-cached short-TTL planes re-requested as sim time advances.
|
||
**Amendment (verbatim):** *"we still may also want to evict non global level
|
||
geometry based on time to save storage for planets the player visits but never
|
||
goes back to."* → Captured as a design rule: **staleness-eviction and
|
||
storage-eviction are distinct axes.** Geometry never goes stale (re-derivable,
|
||
byte-identical), but sub-global geometry entries still get evicted on
|
||
time-since-last-visit as a storage-budget policy. The global tier alone is
|
||
keep-always.
|
||
3. **Cliffs — sparse `CliffSegment` feature list, Phase-4 scope.** Aligns the
|
||
rarity finding, Araminta's encoding logic, and Tyre's scope ruling. Troblum
|
||
still stress-tests the rarity basis (one real body + synthetics) in round 2.
|
||
4. **Round 2: GO, with measurement ⑥ run now** — Stig runs the missing
|
||
`Image.set_pixel` cost measurement (330K/2.07M/8.3M cells, client-side) in
|
||
parallel with synthesis so the shader-vs-CPU (c1) call lands with a number.
|
||
Troblum joins with the adversarial mandate.
|
||
|
||
## Carried to round 2 (synthesis work, no ruling needed)
|
||
|
||
Envelope mechanics (message shape, demux, legacy-carrier coexistence);
|
||
seed-chaining data flow (independent re-derivation vs consuming the coarser step's
|
||
output — Dudley's costs assume the former); region-as-step-0 confirmation;
|
||
label placement de-dup at step seams (Tyre's gray case → Araminta).
|