# JCOM and Conquer: Open Decisions Master Roll-Up

Status: Master index of open and decided architecture decisions across all JSLC design standards.
Compiled: 2026-10-20.

---

## Executive Summary: Owner Rulings of 17:02 EDT

The owner decided five key questions on 2026-10-20 at 17:02 EDT.
Owner statement verbatim: *"Yes, Yes, whatever is recommended for 3 and 4, 5, sure"*.

| ID | Topic | Owning Standard | Status & Decision |
|---|---|---|---|
| **OD-02** | Install Unreal Engine 5 | Lookdev | **DECIDED: Yes.** Install UE 5.x on build worker SV3, which has Visual Studio and Epic Launcher. Owner signs in; agents never sign in. |
| **OD-03** | Tone Mapping Selection | Lookdev | **DECIDED: The recommendation.** Produce A/B/C test renders (ACES Filmic, AgX, Khronos PBR Neutral) at 8 canonical camera positions. AgX is the provisional target. |
| **OD-04** | HQ Sun Lighting | Lookdev | **DECIDED: Yes, real physical sun.** Calculate real Arctic solar elevation at Camp Century (77.17° N) based on latitude, longitude, date (June 21), and local solar noon (max 36.3°). |
| **OD-08** | WebGPU vs WebGL2 | Lookdev | **DECIDED: The recommendation, Option A.** Stay on WebGL2 for current phase. Freeze new `onBeforeCompile` shader hooks. Schedule TSL port for later phase. |
| **OD-10** | Derivation Tools | Lookdev | **DECIDED: Yes.** Install gltfpack, glTF-Transform, KTX-Software (`toktx`), and glTF-Validator on SV3 and SV4. |
| **OD-B4** | Blueprint Styling | Blueprints | **DECIDED: Adopt JSLC STD-1 look.** Decided at 17:12 EDT per owner instruction; E-2D blueprint sheet redrawn to standard. |

---

## 1. Unit Standard (`jcom_v0bb_simulation_design_standards_units`)

### OD-01. Forward Axis Orientation: -Z vs +Z
- **Conflict:** Game part contract and loader specify `-Z` forward. Owner E-2D lab specification noted `+Z`. Shipped legacy models have mixed orientations.
- **Status:** OPEN.
- **Recommendation:** New units face `-Z` with `yawOffset = 0`. Models facing other axes must state their orientation in metadata so the manifest carries `yawOffset`.

### OD-02. Triangle Budgets: Master vs Game Caps
- **Conflict:** Validator profiles allow 25k; game structure caps set vehicle at 8k, aircraft at 15k; quality tiers set tank at 3.5k; master budgets allow up to 40k–50k.
- **Status:** OPEN.
- **Recommendation:** Three-tier rule. Master follows owner master budgets (blender-model-builder); game copies follow game caps; validator checks masters in the library.

### OD-03. Maximum Texture Size
- **Conflict:** Validator allows 4096; structure validator caps lod0 at 2048 and lod1 at 1024; quality tiers set low tiers at 256.
- **Status:** OPEN.
- **Recommendation:** 1024 px by default; 2048 px maximum for game lod0. 4096 px permitted only on uncompressed masters.

### OD-04. Dimension Tolerance
- **Conflict:** Validator fails above 5% and warns above 2%; building dims require 2%.
- **Status:** OPEN.
- **Recommendation:** Model to reference dimensions within 2%. Validator fail threshold remains 5%.

### OD-05. Clip Direction and Gear Convention
- **Conflict:** Game state fraction 0 is rest, 1 is deployed. Lab export clips ran out-and-back.
- **Status:** OPEN.
- **Recommendation:** Positional clips run one direction from rest pose to deployed pose. Lab slider mappings handle UI display.

### OD-06. Compression and Image Formats
- **Conflict:** Game client registers only MeshoptDecoder; no KTX2 or WebP loader in client.
- **Status:** OPEN.
- **Recommendation:** Deliver uncompressed masters with PNG/JPEG. Script derives meshopt for game copies. Add KTX2Loader before shipping KTX2 textures.

### OD-07. Naval Vertical Datum
- **Conflict:** Dossier standard sets design waterline at Y = 0 (keel below); structure validator checks ground at Y = 0.
- **Status:** OPEN.
- **Recommendation:** Ships place design waterline at Y = 0 with hull below. Ground check validator must exempt naval classes.

### OD-08. Joint Vocabulary
- **Conflict:** Game uses `rotate, scroll, clip, extend`; rigs use `pitch, yaw, spin, roll, slide`; validator checks `revolute, prismatic, continuous, fixed`.
- **Status:** OPEN.
- **Recommendation:** Author actuators using validator format in `extras.actuator`. Conversion table maps to game terms.

### OD-09. Disagreeing Part Names
- **Conflict:** `barrel_01` vs `barrel_recoil`; `wheel_l_0` vs `RoadWheel_Dual_L01`; `fuselage` vs `hull`.
- **Status:** OPEN.
- **Recommendation:** Use part contract names (`barrel_01`, `wheel_l_0`, `muzzle_01`, `fuselage`). Add parent helper nodes where required.

### OD-10. Infantry Animation Set
- **Conflict:** Structure contract specifies minimum 3 joints and 1 clip; no standard clip names defined.
- **Status:** OPEN.
- **Recommendation:** Standardize on: `idle`, `move`, `attack`, `die`. All loop except `die`.

### OD-11. Damage and Destroyed Variants
- **Conflict:** Contract lists variants as non-empty; text notes damaged/destroyed swaps as optional.
- **Status:** OPEN.
- **Recommendation:** `*_destroyed` swap model is mandatory for all units; `*_damaged` state is optional.

### OD-12. Exhaust Socket Name
- **Conflict:** Forge uses `fx_exhaust_01`; rig specs use `exhaust_01`.
- **Status:** OPEN.
- **Recommendation:** Standardize on `fx_exhaust_01` using the common `fx_` prefix.

### OD-13. Delivery Format for LODs
- **Conflict:** Separate GLB files vs embedded LOD nodes inside a single GLB.
- **Status:** OPEN.
- **Recommendation:** Deliver master under standard naming. Script derives `<name>.lod0.glb`, `.lod1.glb`, `.lod2.glb`.

### OD-14. Dimension Field Names in GLB
- **Conflict:** Game uses `lengthM`, `widthM`, `heightM`; validator uses `length_m`, `width_m`, `height_m`.
- **Status:** OPEN.
- **Recommendation:** Store validator field names in GLB extras (`unit_dimensions`). Preserve game rules schema.

### OD-15. E-2D Dimensions Reference
- **Conflict:** Game dimensions set length at 17.60 m; lab spec measured model at 18.16 m (3.2% difference).
- **Status:** OPEN.
- **Recommendation:** Keep game specification (17.60 m) as the canonical reference.

### OD-16. Unreal Import Scale
- **Conflict:** Centimetre conversion factor (x100) cited in brief but not in source files.
- **Status:** OPEN.
- **Recommendation:** Treat x100 as standard Unreal unit conversion, not a unique custom rule.

---

## 2. Map Standard (`jcom_v0bb_simulation_design_standards_maps`)

### OD-1. World Scale `metreToWorld`
- **Conflict:** `metreToWorld` is set to 0.4 marked as tunable; client code contains hard-coded offsets.
- **Status:** OPEN.
- **Recommendation:** Confirm 0.4 as permanent fixed scale. Replace code literals with map coordinate transforms.

### OD-2. Cell Grid Fallbacks (5 m vs 20 m)
- **Conflict:** 30 of 58 playable maps omit `metresPerCell` and fall back to 5 m legacy tiles.
- **Status:** OPEN.
- **Recommendation:** Require explicit top-level `metresPerCell` on all maps. Review legacy fallback sheets individually.

### OD-3. Standard Cell Sizes
- **Conflict:** Sheets use 5, 20, 30, 80, and 500 m cells.
- **Status:** OPEN.
- **Recommendation:** Standardize on: 5 m (infantry/base), 20 m (tactical default), 80 m (operational coast). 500 m reserved for theater overview sheets.

### OD-4. Engagement Ranges: Real Metres vs Map Fractions
- **Conflict:** Generals balance uses map fractions; realistic naval weapons specify real metres.
- **Status:** OPEN.
- **Recommendation:** Maintain map fractions for standard skirmish balance. Authorize real metres for dedicated naval/campaign maps.

### OD-5. Heightmap Units
- **Conflict:** Missing `heightmapUnits` leads to guesswork between raw integers (x0.2 m) and true metres.
- **Status:** OPEN.
- **Recommendation:** Require `heightmapUnits: "metre"` explicitly on all maps.

### OD-6. Vertical Exaggeration
- **Conflict:** Some forge maps bake 1.5x–4x exaggeration into stored height values.
- **Status:** OPEN.
- **Recommendation:** Store true metres in heightmaps with `heightScale: 1.0`. Apply any artistic exaggeration purely in render shaders.

### OD-7. Map Heading and Grid Rows
- **Conflict:** Row 0 is at screen top (north); some comments describe row 0 as south.
- **Status:** OPEN.
- **Recommendation:** Define Row 0 = screen top = map-up. Record geographic north in `meta.northBearingDeg`.

### OD-8. Retail World Builder Map Scaling
- **Conflict:** Retail Generals maps lack cell scale metadata.
- **Status:** OPEN.
- **Recommendation:** Measure known structural footprints to calibrate SAGE world units to metres before assigning `metresPerCell`.

### OD-9. Tunnel Network Map Scale Discrepancy
- **Conflict:** `camp-aoi-05-tunnel-network` declares 5 m cells but derives from a 20 m undersea sheet.
- **Status:** OPEN.
- **Recommendation:** Confirm intended tactical scale (20 m recommended) and update metadata.

### OD-10. Duplicate Kharg Island Maps
- **Conflict:** `kharg_island.json` (5 m) and `kharg_approach.json` (20 m) duplicate the same terrain.
- **Status:** OPEN.
- **Recommendation:** Retain the 20 m sheet as canonical; retire or mark the 5 m sheet legacy.

### OD-11. Missing Map Documentation and Tools
- **Conflict:** ADR-010, ADR-011, and MAP-PIPELINE.md cited but absent from active tree.
- **Status:** OPEN.
- **Recommendation:** Check in canonical copies to the design hub repository.

### OD-12. Map Format Standardization
- **Conflict:** Skirmish engine uses tiles 0–3; beta engine uses tiles 0–8.
- **Status:** OPEN.
- **Recommendation:** Skirmish engine format is canonical for all new maps.

### OD-13. HQ Region Theatre Identification
- **Conflict:** Bunker map uses `disko_bay`, but placed geographically at Wolstenholme Fjord.
- **Status:** OPEN.
- **Recommendation:** Clarify theatre naming: introduce `wolstenholme_fjord` or confirm `disko_bay` as lore region.

### OD-14. HQ Sea Gate Portal Dimensions
- **Conflict:** Discrepancy between rules file portal width (94.5 m) and bunker map width (124 m).
- **Status:** OPEN.
- **Recommendation:** Align rules file with the authoritative E02 bunker map model.

### OD-15. Dry Seabed Rendering Bug
- **Conflict:** Negative height terrain with `waterLevel: 0` renders as dry seabed unless tile-1 is marked.
- **Status:** OPEN.
- **Recommendation:** Implement automated map validation checks for sea height and water plane consistency.

---

## 3. Logic Standard (`jcom_v0bb_simulation_design_standards_logic`)

### OD-L01. Clean-Room Reading Policy
- **Conflict:** Brief bans reading original EA source; earlier skill references mentioned decompiled files.
- **Status:** OPEN.
- **Recommendation:** Enforce clean-room policy for game-code agents: read only public modding documentation and observed play.

### OD-L02. Location of Game Rules Files
- **Conflict:** Rules split between `data/rules/` and `skirmish/src/data/`.
- **Status:** OPEN.
- **Recommendation:** Place all new rules in `data/rules/<area>.json`. Existing files remain unmoved until planned cleanup.

### OD-L03. Mandatory `source` Attribution in Rules JSON
- **Conflict:** Skill requires `source` on every tunable; schema lacked the field.
- **Status:** OPEN.
- **Recommendation:** Require `source` on all new tunable values (citation, Generals equivalent, or PROPOSED).

### OD-L04. Hard-Coded Unit Stats in Simulation Code
- **Conflict:** `sim.ts` embeds speed, cooldown, and health constants.
- **Status:** OPEN.
- **Recommendation:** Extract hard-coded statistics into JSON rules with deterministic regression test.

### OD-L05. Single Tick Rate Authority
- **Conflict:** `TICK_HZ = 30` duplicated across multiple files.
- **Status:** OPEN.
- **Recommendation:** `sim.ts` `TICK_HZ` is the single authority. All other files import or test against it.

### OD-L06. Dual Input-Delay Controls
- **Conflict:** `inputDelayTicks` (0) vs `turnDelay` (2).
- **Status:** OPEN.
- **Recommendation:** Document roles clearly: `inputDelayTicks` for local input admission; `turnDelay` for network lockstep turns.

### OD-L07. AI Random Number Generator State Masking
- **Conflict:** AI PRNG stream lacked bitwise `>>> 0` masking, causing drift after 4.9M iterations.
- **Status:** OPEN.
- **Recommendation:** Standardize on masked `mulberry32Step` algorithm for all PRNG instances.

### OD-L08. Damage State Threshold Alignment
- **Conflict:** Sim damaged threshold is 0.5/0.75; visual damage threshold is 0.5 / smoke 0.35.
- **Status:** OPEN.
- **Recommendation:** Visual layers derive directly from sim body states.

### OD-L09. Test Suite Execution Environment
- **Conflict:** Test execution restricted to dedicated test workers (SV3/SV4) via `lane-test.ps1`.
- **Status:** OPEN.
- **Recommendation:** Tests run exclusively via `lane-test.ps1` with maximum 5 total concurrent workers. Never on SV2.

### OD-L10. Canonical Architecture Specification
- **Conflict:** Older briefings described multi-repo beta setup; live tree is unified skirmish Vite app.
- **Status:** OPEN.
- **Recommendation:** Live skirmish architecture is authoritative; older briefings classified as legacy context.

### OD-L11. Shared File Modification Protocol
- **Conflict:** `sim.ts` expansion under strict "hooks only" rule.
- **Status:** OPEN.
- **Recommendation:** Maintain "hooks only" during feature work. Schedule dedicated extraction lanes for refactoring.

### OD-L12. Headless Simulation Module Dependencies
- **Conflict:** `sim.ts` transitively imported `three.js` via weapon visual hook.
- **Status:** OPEN.
- **Recommendation:** Move visual imports to client render bootstrap. Ensure simulation core remains free of DOM and Three.js.

### OD-L13. HUD Design System Mandate
- **Conflict:** HUD design system status marked PROPOSED while required by coding rules.
- **Status:** OPEN.
- **Recommendation:** Enforce HUD design system for all new and modified interface components.

### OD-L14. Vehicle Dynamics & Formation Algorithms
- **Conflict:** Turn rates, accelerations, and formations lack verified performance data.
- **Status:** OPEN.
- **Recommendation:** Await dedicated vehicle movement research lane to deliver calibrated data.

### OD-L15. Canonical ADR Log Publishing
- **Conflict:** Multiple ADR log copies exist across worktrees.
- **Status:** OPEN.
- **Recommendation:** Publish authoritative ADR log directly inside this design hub.

### OD-L16. Hold-Fire Behavior for Defensive Systems
- **Conflict:** Does "Hold fire" silence automated point defense (CIWS/HELIOS)?
- **Status:** OPEN.
- **Recommendation:** Default discipline is `free`. Clarify whether point defense ignores player Hold fire orders.

---

## 4. Geometry Standard (`jcom_v0bb_simulation_design_standards_geometry`)

### OD-G1. E-2D Coordinate Handedness
- **Conflict:** Lab export has starboard propellers at positive X while nose faces positive Z (left-handed frame).
- **Status:** OPEN.
- **Recommendation:** Verify NAVY lettering in lab. If inverted, mirror mesh and re-export facing `-Z`. Add handedness check to validator.

### OD-G2. Validator Profile Alignment
- **Conflict:** Validator profile sets 25k; game structure gate enforces 8k/15k.
- **Status:** OPEN.
- **Recommendation:** Stage-aware validation: master validates against sanity limits; delivery validates against game caps.

### OD-G3. Capital Ship Triangle Budgets
- **Conflict:** Desktop target budgets (5.5k lod1) exceed current hard caps (5k lod1).
- **Status:** OPEN.
- **Recommendation:** Add dedicated `capital_ship` budget class in structure rules (15k / 6k / 2k).

### OD-G4. Master Sanity Caps & File Sizes
- **Conflict:** Proposed master caps (tank 250k, aircraft 300k, capital 2M) need formal baseline.
- **Status:** OPEN.
- **Recommendation:** Adopt proposed master caps as provisional safety limits.

### OD-G5. Material Count per LOD
- **Conflict:** Multi-material models vs 1-material draw call targets.
- **Status:** OPEN.
- **Recommendation:** Require texture atlasing to consolidate models into 1 material plus `houseTint`.

### OD-G6. LOD Generation Responsibility
- **Conflict:** Fully automatic decimation vs manual artist optimization.
- **Status:** OPEN.
- **Recommendation:** Automatic decimation with hand-crafted LOD2 models for hero units (aircraft and capital ships).

### OD-G7. Impostor Billboarding
- **Conflict:** Far-distance impostor representations undefined.
- **Status:** OPEN.
- **Recommendation:** Standardize on 8-view 512 px baked atlas for far LODs.

### OD-G8. Unreal Scope and Tooling
- **Conflict:** Unreal Engine not installed on test boxes.
- **Status:** **RESOLVED by OD-02** (Installing UE 5.x on SV3).

### OD-G9. Vector Drawing User Units
- **Conflict:** User units in vector masters (SVG mm vs px).
- **Status:** OPEN.
- **Recommendation:** Standardize on 1 SVG user unit = 1 mm.

### OD-G10. Standard Repository Name
- **Conflict:** Repository naming (`geometry` vs `wireframe`).
- **Status:** **RESOLVED.** Canonical name is `jcom_v0bb_simulation_design_standards_geometry`.

---

## 5. Look Development Standard (`jcom_v0bb_simulation_design_standards_lookdev`)

### OD-01. Repository Naming
- **Status:** **RESOLVED.** Canonical name is `jcom_v0bb_simulation_design_standards_lookdev`.

### OD-02. Install Unreal Engine 5
- **Status:** **DECIDED (2026-10-20 17:02).** Install UE 5.x on worker SV3.

### OD-03. Tone Mapping Mode
- **Status:** **DECIDED (2026-10-20 17:02).** A/B/C render comparison across ACES Filmic, AgX, and Khronos Neutral. AgX is the provisional target.

### OD-04. HQ Sun Solar Position
- **Status:** **DECIDED (2026-10-20 17:02).** Real Arctic sun calculated from Camp Century coordinates (77.17° N) at June 21 solar noon (36.3° elevation).

### OD-05. Team Colour Application
- **Conflict:** Separate `houseTint` material vs base color texture alpha mask.
- **Status:** OPEN.
- **Recommendation:** Retain `houseTint` material for current milestone. Revisit alpha masking during WebGPU port.

### OD-06. UDIM in Unreal Masters
- **Conflict:** UDIM virtual texturing vs three.js single UV limitations.
- **Status:** OPEN.
- **Recommendation:** UV0 remains 0–1 unwrap for three.js. UDIM allowed only on secondary UV2 detail layers in Unreal masters.

### OD-07. Military Paint Color Specifications
- **Conflict:** Unmeasured values for US Navy Haze Grey, Olive Drab, and Desert Tan.
- **Status:** OPEN.
- **Recommendation:** Sample standard swatches (e.g. Federal Standard FS 36270 Haze Grey) using Substance Sampler.

### OD-08. WebGPU Migration Strategy
- **Status:** **DECIDED (2026-10-20 17:02).** Option A: Stay on WebGL2 for current phase; freeze new `onBeforeCompile` hooks; schedule TSL port for later phase.

### OD-09. Reference Mobile Hardware
- **Conflict:** Target mobile test devices for rendering budgets.
- **Status:** OPEN.
- **Recommendation:** Primary iPhone target (393 × 852 px viewport) and secondary mid-range Android target.

### OD-10. Derivation Tools Installation
- **Status:** **DECIDED (2026-10-20 17:02).** Install gltfpack, glTF-Transform, KTX-Software, and glTF-Validator on SV3 and SV4.

### OD-11. Compressed Texture Tier Scaling
- **Conflict:** CPU downsampling skips compressed KTX2 textures on low memory tiers.
- **Status:** OPEN.
- **Recommendation:** Publish two KTX2 texture resolutions per map (full size and capped size).

### OD-12. Target Hardware Budgets
- **Conflict:** Proposed rendering budgets (Phone: 150 draws, 500k tris; Desktop: 1,000 draws, 3M tris).
- **Status:** OPEN.
- **Recommendation:** Adopt proposed budgets as provisional targets; verify with hardware profiling.

---

## 6. Blueprints Standard (`jcom_v0bb_simulation_design_standards_blueprints`)

### OD-B1. Projection Angle (ISO First-Angle vs ASME Third-Angle)
- **Status:** OPEN.
- **Recommendation:** First-angle projection per ISO standard.

### OD-B2. Standard Sheet Sizes
- **Status:** OPEN.
- **Recommendation:** Standardize on ISO A2 (594 × 420 mm) landscape; permit A1 for large naval combatants.

### OD-B3. Ship Drawing Orientation
- **Status:** OPEN.
- **Recommendation:** Bow forward-left, consistent with aircraft and land vehicles.

### OD-B4. Blueprint Color Scheme
- **Status:** **DECIDED (2026-10-20 17:12).** Adopt JSLC STD-1 drawing look.

### OD-B5. Hidden Line Rendering on General Arrangement Sheets
- **Status:** OPEN.
- **Recommendation:** Omit hidden lines on GA sheets per ISO aerospace drafting conventions.

### OD-B6. Wireframe Lab Accent Colors
- **Status:** OPEN.
- **Recommendation:** Confine amber accents to the standalone wireframe lab; engineering drawings never use amber.

### OD-B7. E-2D Model Deviations
- **Status:** OPEN.
- **Recommendation:** Annotate model dimension variance (3.2% length, 13% height) on engineering sheets; repair in model lane.

### OD-B8. Unified Scale Fleet Comparison Sheets
- **Status:** OPEN.
- **Recommendation:** Author class comparison sheets at uniform scales (aircraft 1:200, vehicles 1:100, ships 1:2000).
