Skip to content

Demo Mod — equipped kit + type/quality (all doll seats)

Status: Implemented (mock + FS/docs/kanban) · 2026-10-26
Scope: HTML Demo Mod mock + docs/inventory/demo-mod-item-specs.md + FS-GUN-012 + docs/22-demo.md + Demo kanban seed cards
Out of scope: Real mesh / Refit Install · full GDD Unique spreadsheet · Bore spend · Crafting bag · shipping UMG (pattern only)

Authority: FS-LOD-001 · FS-GUN-012 · FS-ITM-* · FS-GUI-004 · prior jewelry design 2026-10-26-demo-mod-jewelry-sockets-design.md


Every equipped paper-doll combat seat can change:

  1. Which Demo kit fills the seat (session fill — mesh never changes).
  2. Type / quality / name identity on that piece (same spirit as jewelry).

One OV37 pattern for Weapons · Armor · Jewelry/ES (hard-coded Specials/Ordnance/Tentacles stay TBA stubs — no kit catalog this pass).

OV37 chrome fixed: brand · crumb · subtabs · Back/OK. Tab body scrolls (1080p).

Piece kind Subtabs
Jewelry / ES Stats · Affixes · Sockets (existing)
Armor · Phys Shield · Melee Stats · Affixes · Sockets (sandbox wells; Artifact Unique/Apex only)
Guns Stats · Affixes · Sockets · Gunfeel (Mag / Optic or Counterweight / AA dials — move gunfeel off the single scroll into this tab)
Field Behavior
Seat RO
Equipped kit Select from seat-family Demo catalog (see below). Changing kit resets plate, affixes (padded empty 3+3), sockets/wells, art, gunfeel to that kit’s defaults. Name/quality may reset to kit defaults.
Name Editable
Type Seat-gated enum (gun Receiver/Type label, melee family, shield family, armor weight Light/Med/Heavy, Ring/Amulet/ES)
Quality Common → Apex
Kind Auto from quality + type
Plate Editable keys for that family

Same grammar as jewelry design: ≤3+3; wells 0–6; Phonon/Gem/Jewel; Artifact Unique/Apex; Chord on Common + Phonon order. Guns/armor get the same sandbox (Demo skips Bore cost).

Existing MagFamily / MagSize / Optic or Counterweight / AA / Bloom / RangeStat rows. Mag OK → OmniVisor ammo unchanged in meaning (OV38).

Author in demo_mod_mock_data.js as allowlists:

Seat family Catalog ids (minimum; expand as rows exist)
Ranged (W1–W4) auto, pulse, scout, hc, sidearm, smg, sg, heavy, gl (+ existing)
Melee (W4/Wrist as applicable) blade, sword, wrist (+ stubs ok)
PhysShield pshield (+ optional variants)
Armor per seat helm/chest/gloves/belt/boots Light·Med·Heavy or existing plate ids tagged by weight
Jewelry/ES ring / amulet / eshield kits (existing)

Seat empty stays omit-on-list; Mod does not invent bag loot — only swap among catalog kits for that seat family.

Session model: scenario.fill[seat] = kitId after OK on kit change (or commit kit into state.committed + live fill override). List row name/kind updates immediately after OK.

  1. FS-GUN-012 — OV37 = subtabs; kit + type/quality on Stats; sockets editable in Demo sandbox; Jewelry Chord note; categories Specials/Ordnance/Tentacles ×4 TBA; AC line for kit swap.
  2. docs/22-demo.md — Demo Mod UI lock table match.
  3. demo-mod-item-specs.md — all doll seats use subtabs + kit picker.
  4. GDD reader — rebuild/sync Demo prose if sourced from 22-demo / gdd-content.
  5. kanban-seed.js Demo Mod kit module — add/update cards:
    • Equipped doll categories + Mod ON/OFF gate
    • demo-mod-item-specs.md
    • Kit + type/quality picker (all seats)
    • Jewelry/armor sockets + Chord sandbox
    • Specials / Ordnance / Tentacles ×4 TBA
    • Retire or reword “list all weapons character has” → equipped doll seats only
  1. W1: change Equipped kit Auto→HC → plate/mag defaults update; OK; list shows HC.
  2. Chest: change Type weight / kit; affixes editable; OK persists.
  3. Ring: existing jewelry Chord path still works.
  4. Gunfeel tab still drives Mag → HUD ammo.
  5. 1080p: only tab body scrolls.
  6. FS + 22-demo + kanban seed reflect the above.

Full Receiver×Frame matrix UI · real socket Install meshes · changing Specials TBA into real skills · Ladder live affix power (lab only).