Gun Art Lean Mesh — Class Spine · Receiver subclass · shared modules
Date: 2026-10-20
Status: Shipped — Spine · pistol Underlug · Bow Stabilizer · Rocket Backblast 2026-10-21
Goal: Keep Year-1 3D / concept volume low without collapsing Class × Receiver × Frame data.
Related: FS-GUN-004 / 006 / 007 / 008 / 009 · Sniper optic subclass · no bipod · I/M/R bands · art handoff plan
1. Problem
Section titled “1. Problem”Earlier art handoffs either skipped chassis art or drew every Frame archetype as its own chassis. Adaptive / Aggressive / etc. must stay data. Artists need a small mesh set: one Class Spine, Receiver bodies as subclasses, five module variants — with keyed specialty pieces only where geometry must differ.
2. Stack (art vs data)
Section titled “2. Stack (art vs data)”| Layer | Player / systems meaning | Mesh / plate? |
|---|---|---|
| Corp | C1–C5 finish | Later paint pass; Year-1 = one neutral densifier finish |
| Class | Compatibility + Spine look | Yes — 1 Spine per Class |
| Frame archetype (Adaptive, Aggressive, Precision, Rapid-Fire, Lightweight, High-Impact, specialties) | Cadence number, I/M/R bias, recoil / gunfeel | No — does not change Class Spine look |
| Receiver (Type) | Fire Mode / AA / stance; art subclass; barrel length / silhouette for tip-share Classes | Yes — 1 Receiver body per Type |
| Modules | Five Refit sockets; allowlist from Receiver | Yes — 5 variants per family; shared or keyed (below) |
Spine definition: the LOWER / core chassis that everything attaches to. Open TOP DECK — Receiver clamps onto that deck. Formerly “Class Frame look.”
Receiver definition: the UPPER + FORWARD shell — mates to Spine top deck, owns optic rail, front = Barrel mount (or Tip mount on pistols). Does not house a full barrel tube.
Barrel stack:
- Most guns: full SHROUDED Barrel (
Kinetic_Barrel_*Soft Object Path or keyed Class barrel) + separate Kinetic_BarrelTip_* on the muzzle (tip Soft Object Path for all Classes). - Short guns (HC / Sidearm): no long Barrel — Kinetic_BarrelTip is the Barrel-slot length (still shrouded).
- All barrels and tips = shrouded (no bare open tubes).
How to see the two parts: Spine alone looks vertically incomplete (missing upper half). Receiver alone is the lid/upper. HARD REJECT: Receiver as a front-half nose ahead of a Spine that already has a full top rail.
Front Grip: separate Refit module on long-guns (own V1–V5 plate). Spine keeps an empty Front Grip mount only — never sculpt forend / VFG / AFG / handguard into Spine or Receiver. Exploded views must show Front Grip detached. Pistols use Underlug; Bow uses Stabilizer.
Assembly order (long): Class Spine → Receiver ON TOP → full Barrel → Barrel Tip → Stock|Brace → rear Grip → Front Grip → Optic → Mag/etc.
Assembly order (short): Spine → Receiver ON TOP → Barrel Tip → Underlug → Optic → Mag/Grip.
One-liner:
Class owns Spine look. Frame archetype = stats only. Receiver = subclass on Spine. Modules = shared unless keyed. Kinetic tips + pistol Underlugs = Soft Object Path packs.
Naming (do not collapse):
| Surface | Word |
|---|---|
| GDD / FS / player / Refit UI | Barrel (socket) · Frame (archetype data) |
| Art handoff chassis | Spine (Rifle_Spine, …) |
| Art handoff Barrel-slot short mesh | barrel tip (Kinetic_BarrelTip_V#) |
| HC + Sidearm under-barrel furniture | Underlug (Pistol_Underlug_V#) — not Front Grip / Brace / Counterweight |
3. Spine look lock
Section titled “3. Spine look lock”- One Spine mesh / concept plate per Class.
- Spine plates are empty core chassis: module ports empty; front of Spine = Receiver mount face.
- Dropping Adaptive vs High-Impact on the same Class reuses the same Spine mesh.
- Gatling does not get its own Class Spine; it uses that Class’s Spine.
Attach order (hard):
Class Spine → Receiver seats onto Spine → Barrel (module) attaches forward of Receiver
(then Mag / Stock|Brace / Optic / Grip / Front Grip / Underlug where Class allows — no Front Grip on Hand Cannon or Sidearm; pistols use Underlug).
Spine concept reject: finished-looking gun with a rectangular hole punched in the middle and a barrel / handguard already on Spine ahead of that hole.
Spine concept correct: core chassis only; ends at Receiver mount; nothing barrel-length ahead of where Receiver goes.
4. Receiver = subclass mesh
Section titled “4. Receiver = subclass mesh”- Each Receiver Type gets one body mesh that seats onto its Class Spine before any Barrel module.
- Gatling × Rifle / MG / Heavy = three Receiver bodies (+ three keyed barrel clusters).
- Sniper = Class Rifle × Receiver Sniper on Rifle_Spine.
- Tip-share Classes: Receiver owns length + universal tip socket.
5. Module pools — shared vs keyed
Section titled “5. Module pools — shared vs keyed”5.1 Shared per Class (unless override)
Section titled “5.1 Shared per Class (unless override)”- Mag (or Class-default mag-slot family)
- Stock or Brace (by Class rules — never both; pistols use neither — they use Underlug)
- Optic / Sight (except Sniper override)
- Grip (rear)
- Front Grip — not on Hand Cannon, Sidearm, or Bow (Bow uses Stabilizer instead — forward balance rod, not a VFG)
- Underlug — Hand Cannon + Sidearm only (shared Soft Object Path)
5.2 Hand Cannon + Sidearm module list
Section titled “5.2 Hand Cannon + Sidearm module list”| Slot | Hand Cannon | Sidearm |
|---|---|---|
| Barrel | Kinetic tip (shared Soft Object Path) | same |
| Mag-slot | Cylinder (keyed) | Mag |
| Under-barrel | Pistol_Underlug (shared Soft Object Path) | same |
| Optic | HC Optic 5-pack | Sidearm Optic 5-pack |
| Grip | HC Grip 5-pack | Sidearm Grip 5-pack |
| Front Grip | None | None |
| Stock / Brace / Counterweight | None | None |
Underlug = external solid densifier block under the barrel stub — fully visible in profile. Not a Front Grip (no hand hold), not a Brace, not a rear Counterweight.
5.3 Shared kinetic Barrel pool
Section titled “5.3 Shared kinetic Barrel pool”Kinetic_BarrelTip_V1…V5 Soft Object Paths — Rifle Auto/Pulse/Scout/SMG + HC + Sidearm + MG (non-Gatling). All fully shrouded. Shotgun / Sniper / Gatling×3 / Heavy / GL stay keyed.
5.4 Keyed examples
Section titled “5.4 Keyed examples”Shotgun barrels; Sniper long tubes; Gatling×3; Heavy barrels; GL wide-bore; Coil / Rail / Emitter; Rocket Tube + Backblast Collar (not Warhead); Limbs; Prod; HC Cylinder; GL Year-1 Breech; Sniper Optics.
5.5 Year-1 hard cuts
Section titled “5.5 Year-1 hard cuts”- No Bipod.
- Stock vs Brace by Class rules; pistols = Underlug (no Stock/Brace/Front Grip).
- GL revolving drums = Legendary+ later.
- Corp skins = materials, not new Spines.
6. Art / 3D pipeline
Section titled “6. Art / 3D pipeline”Order: Spine → Receivers → keyed packs / shared Soft Object Path packs → shared Class packs.
Sniper session: no new Spine; reuse Rifle_Spine.
Filename: ART_TFA_<ClassOrPool>_<Family>_V#_ortho.jpg
Spine stub: Rifle_Spine (not Rifle_Frame_Adaptive).
7. Rough Year-1 mesh budget
Section titled “7. Rough Year-1 mesh budget”Frames→Spines ~11 · Receivers ~20 · shared Kinetic tip pack · shared Pistol Underlug pack · Class shared 5-packs · keyed specialties.
Exact stubs: _gun_module_variants.py.
5.6 Bow module lock
Section titled “5.6 Bow module lock”| Slot | Pack |
|---|---|
| Barrel-slot | Bow_Limbs |
| Mag-slot | Quiver + String |
| Optic | Bow_Sight |
| Grip | Bow_Grip |
| Balance | Bow_Stabilizer (forward rod — not Front Grip) |
No Stock · Brace · Underlug · Front Grip on Bow.
8. Acceptance
Section titled “8. Acceptance”- Spine = core chassis; Frame archetype = data only.
- Attach: Spine → Receiver → Barrel.
- HC + Sidearm: Underlug (visible under barrel; not Brace / Front Grip / Counterweight).
- Bow: Limbs · Quiver/String · Sight · Grip · Stabilizer (not Front Grip).
- Kinetic tips shared Soft Object Paths; shrouded.
- Shotgun own barrels; GL Year-1 Breech.
- Rocket: Tube + Backblast Collar (no Warhead Refit module).