diff --git a/README.md b/README.md index 6ca0c3b..0fac8a6 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ one very loud DENIED stamp. - [Game design](docs/GAME_DESIGN.md) — what the game is - [Build plan](docs/BUILD_PLAN.md) — architecture, phases, milestones - [Contracts](docs/CONTRACTS.md) — shared types & events (law) +- [Fleet asset notes](docs/ASSETS.md) — what existing network assets the art pass can reuse - [Lane handover log](LANEHANDOVER.md) — build coordination - Lane instructions: [scaffold](lanes/LANE0_SCAFFOLD.md) · [door](lanes/LANE_DOOR.md) · [floor](lanes/LANE_FLOOR.md) · [juice](lanes/LANE_JUICE.md) diff --git a/docs/ASSETS.md b/docs/ASSETS.md new file mode 100644 index 0000000..af36fec --- /dev/null +++ b/docs/ASSETS.md @@ -0,0 +1,83 @@ +# NOT TONIGHT — Fleet Asset Notes + +*What already exists on John's network that this game can reuse, borrow from, or +generate with. Sourced from the fleet-wide `ASSET_INVENTORY_2026-07-18.md` and +`GAME_ASSET_AUDIT_2026-07-18.md` (both on ultra `~/Documents/`). Compiled +2026-07-19.* + +**Context for lanes:** v0.1–0.3 use PROCEDURAL placeholder art (coloured-pixel +paper-doll, synthesized audio) — nothing below is needed before the v0.4 art pass. +This doc exists so the art pass starts from the library, not from scratch. Nothing +here changes the `renderDoll` / layer contracts. + +## Directly relevant (v0.4 art pass) + +### 1. 90sDJsim paper-doll wardrobe — the big one +`ultra:~/Documents/90sDJsim/web/world/media/doll/` — **441 authored clothing +sprites** across tops/bottoms/shoes/hats/bags, brand-flavoured (coogi, dr_martens, +nike_air_max, moschino, quiksilver, kmart, disruptor_ii…), dynamically loaded by +`os.listdir` slot convention. +- **Reuse the taxonomy**: their slot/brand/type naming should inform + `data/outfits.ts` vocabulary (we already have shoes/legs/top/outer/hair/accessory + — cross-check their catalog for types we missed, e.g. bucket hats, bumbags). +- **Reuse the art via pixelation**: 90s wardrobe reads perfectly as 2026 Valley + fashion-in-quotes. A downscale/quantize pass (sprite → 32×48 palette-locked + pixel layer) could convert the catalog into real doll layers. Prototype on 10 + sprites before committing — pixelated photo-sprites can look mushy; may need a + cleanup pass or MODELBEAST-assisted redraw per sprite. + +### 2. Drunk/idle/dance animation references +`ultra:~/Documents/90sDJsim/web/world/models/` — 22 ped GLBs + **9 anim clip GLBs +incl. `walk_drunk`, idle, sit** (from the shared `character_kit` rig). Plus +`ultra:~/Documents/MOTIONLIB/` — 2,703 motion/anim FBX. +- Option A (cheap): use `walk_drunk` etc. as *visual reference* for hand-animating + the pixel sway/stumble frames. +- Option B (pipeline): pre-render `character_kit` characters + MOTIONLIB clips to + top-down sprite-sheet rotations for the Floor scene (Blender orthographic cam → + pixelate). Heavier, but gives unlimited consistent NPC animation. Decide at v0.4; + the doll contract's `floorTopDown` pose doesn't care which path wins. + +### 3. Venue / street reference art +- `ultra:~/Documents/90sDJsim/web/world/media/` named scene/venue art — 100 wired + widescreen club/venue images. Mood reference for our neon-dark interiors. +- `gdrive:ASSETS FROM AI` (2.47 GB, 3,239 files) + `gdrive:IMAGE-DATABASE` + (794 MB, 26,910 files) — prior AI-gen pools; sweep for club/street/neon/night + material before generating fresh. +- m4pro SPACEY `MRP PHOTOSHOP FILES` (4.4 GB PSDs) — design-language source + (posters/flyers could become in-game wall dressing). m4pro is HANDS-OFF; access + via the SMB mount on m3ultra if needed. + +### 4. Generation pipeline (MODELBEAST) +m3ultra central queue :8777 (see fleet skill). For NOT TONIGHT this is an +**image generator, not a mesh generator** — we need no GLBs. Useful for: patron +face/outfit reference sheets to hand-pixel from, venue backdrop concepts, Dazza's +contact photo, joke ID photos. The thriftgod `gen_assets.py` + 640px `sips` +convention (m3ultra `~/Documents/thriftgod/`) is a proven prompt→asset-dir pattern +worth cloning for an `art_src/` pipeline here. + +## Explicitly NOT for this game + +- **All 3D mesh libraries** (`3D=models`, `3D-STORE`, FBX, femalemeshed, + NPCFACTORY, MODELBEAST GLB output) — no 3D in this game; only via the Option-B + prerender path above, never at runtime. +- **Audio archives** (bandcamp ~1 TB, YT-AUDIO, MONSTER MIXES). The design is + locked to a fully synthesized WebAudio techno engine (design §5 / LANE_JUICE) — + the low-pass location trick needs a synth we control, and shipping archive audio + is a licensing minefield. John's own MONSTER MIXES are legally his — park the + idea of a licensed-mix easter egg (jukebox in the kebab shop?) as a someday-note. +- **dealgod image pool** (2.4M product photos) + `recordgod_disc_images` — product + photography, wrong domain. (One cursed exception: pat-down contraband items + could be pixelated from real dealgod product shots. Someday-note.) +- **thriftgod 2D dressing** — authored 640px painterly JPGs, wrong style; its + *pipeline* is the reusable part (see §4). + +## Ground rules for the eventual art pass + +1. Everything funnels through the existing contracts (`renderDoll` poses, outfit + slots) — art swaps in behind interfaces, callers never change. +2. One palette, one pixel density (32×48 queue dolls at 640×360) decided ONCE + before any batch conversion; retrofitting mixed densities is the classic trap. +3. Provenance: only fleet-owned / John-authored / MODELBEAST-generated / CC0 + sources. Log each imported batch (source → transform → dest) in this file. +4. Check the MeshGod gallery + MODELBEAST `data/` (m3ultra) before generating + anything — the inventory's rule "catalog before regenerating" applies here too.