{ "schema": "procity-credits/1", "updated": "2026-08-07", "round": 41, "owner": "Lane B builds the surface; EVERY lane owns its own entries. Schema + how to append: docs/LANES/LANE_B_NOTES.md §41.", "notice": "PROCITY is built from third-party libraries, open data and generated art. Everything below ships in this build. Entries marked REQUIRED carry an attribution the licence obliges us to show; the rest are recorded so the obligation can never arrive unnoticed. Where a source could not be established from this repo it says \"unverified\" — never a guess.", "entries": [ { "id": "openstreetmap", "name": "OpenStreetMap", "kind": "data", "licence": "ODbL 1.0", "attribution": "© OpenStreetMap contributors — data available under the Open Database License (ODbL) 1.0", "required": true, "source": "https://www.openstreetmap.org/copyright · fetched via the Overpass API (overpass-api.de), bounded per-town bbox", "used_for": "Every real Australian town: 21 town caches (1,196 shops) plus their real street geometry, and the two GODVERSE towns built on the same road data. When you walk Fitzroy, those are Fitzroy's streets.", "count": 23, "files": ["assets/towns/*.json", "assets/towns/_raw/*.json"], "evidence": "web/assets/towns/SOURCES.md · pipeline/build_towns.py · license/attribution fields on every cache", "lane": "E" }, { "id": "three-js", "name": "three.js r175", "kind": "engine", "licence": "MIT", "attribution": "Copyright © 2010–2025 three.js authors — MIT License", "required": true, "source": "https://threejs.org/ · vendored into web/vendor/ (no CDN at runtime)", "used_for": "The renderer, the scene graph, the animation system, and the addons the shell uses: EffectComposer/RenderPass/UnrealBloomPass/OutputPass, GLTFLoader, PointerLockControls, BufferGeometryUtils, SkeletonUtils.", "count": 1, "files": ["vendor/three.module.js", "vendor/three.core.js", "vendor/addons/**"], "evidence": "SPDX-License-Identifier: MIT in the vendored file headers · REVISION '175' in vendor/three.core.js", "lane": "B" }, { "id": "mixamo-clips", "name": "Adobe Mixamo — animation clips", "kind": "motion", "licence": "Adobe Mixamo royalty-free licence (use inside a game is permitted; redistributing the clips as clips is not)", "attribution": null, "required": false, "source": "Adobe Mixamo (Sitting_Idle, Looking_Around and the walk/idle family), converted mesh-free by pipeline fbx_to_clip.py", "used_for": "Four of the eight motion clips every citizen in the town plays: idle, walk, sit (the seated drummer), look (the street glance). Motion only — the skeleton animation is retargeted onto PROCITY's own characters; no Mixamo geometry ships.", "count": 4, "files": ["models/peds/idle.glb", "models/peds/walk.glb", "models/peds/sit.glb", "models/peds/look.glb"], "evidence": "docs/LANES/LANE_E_NOTES.md — provenance table, rows ⟨v3.1⟩ and ⟨v5.1⟩", "lane": "E" }, { "id": "rokoko-mocap", "name": "Rokoko — free motion-capture library", "kind": "motion", "licence": "Rokoko free-pack licence — royalty-free including commercial use", "attribution": null, "required": false, "source": "rokoko.com free 263-asset mocap pack (Rokoko Studio Mocap / Dancing), baked mesh-free", "used_for": "The four dance clips the pub crowd and the DJs play: dance_party, dance_medium, dance_drink, dance_sway.", "count": 4, "files": ["models/peds/dance_*.glb"], "evidence": "pipeline/AUDIT.md — 'Round 36 wave 1', the measured zone correction (these are Rokoko, not Mixamo, despite the _mixamo skeleton suffix)", "lane": "E" }, { "id": "ped-bodies-base", "name": "Citizen bodies — the character roster", "kind": "mesh", "licence": "Adobe Mixamo royalty-free licence (use inside a game is permitted; redistributing the characters as assets is not)", "attribution": null, "required": false, "source": "Adobe Mixamo numbered character pack (Ch01–Ch49), downloaded as FBX to John's sorted library and converted by pipeline/ped_from_fbx.py → gltf-transform weld/simplify → pipeline/merge_ped.py. Resolved per asset in R42 §42.3: every source FBX carries Original|ApplicationVendor = 'Mixamo, Inc.' and Original|ApplicationName = 'mixamo.com' in its own FBX header, and each ped's material names carry its Mixamo character id (man_casual_01 = Ch01_Shirt, comical_luchador_01 = Ch43_Body, and so on for all 24).", "used_for": "Every walking citizen you meet on the street and every shopkeeper behind a counter.", "count": 24, "files": ["models/peds/man_*.glb", "models/peds/woman_*.glb", "models/peds/person_*.glb", "models/peds/comical_*.glb"], "evidence": "E-progress.md §42.3 — the per-asset audit table (file → Mixamo Ch id → in-file vendor string) · docs/LANES/LANE_E_NOTES.md §42.3", "lane": "E" }, { "id": "ped-bodies-dj", "name": "Citizen bodies — the DJ five", "kind": "mesh", "licence": "Original work (CC0-equivalent mesh) + Adobe Mixamo auto-rig output (royalty-free)", "attribution": null, "required": false, "source": "John's own DJ characters: an on-device FLUX.2-klein-4B concept sheet → TRELLIS.2 mesh on this box → Mixamo auto-rig → MESHGOD fbx_to_ped.py", "used_for": "The dance-scene bodies in the venues (not in the ?classic=1 crowd).", "count": 5, "files": ["models/peds/dj_*.glb", "models/peds/woman_dj_*.glb"], "evidence": "docs/LANES/LANE_E_NOTES.md — provenance table, row 'Ped bodies ⟨v7.0⟩' · pipeline/AUDIT.md 'Round 36 wave 1'", "flag": "LICENCE IS FINE; ONE ASSET IS NOT SHIPPABLE. R42 §42.3 rendered all five and found dj_phrtt_01.glb is an unclothed body — its single 1024² texture is a bare-skin atlas, there is no garment on the asset at all. It is admitted to the crowd on every non-?classic boot (loadPedFleet opts.djs defaults to `dance`) and it is live on the shared depot. Lane E has staged its replacement (man_smart_01.glb, Mixamo Ch23, same contract); Lane D removes it from PED_NAMES.djs in §42.4. Withdraw the depot copy at the same time.", "lane": "E" }, { "id": "ped-bodies-withdrawn", "name": "Citizen bodies withdrawn from the roster (R42 period audit)", "kind": "mesh", "licence": "Adobe Mixamo royalty-free licence (same as the roster they came from)", "attribution": null, "required": false, "source": "Adobe Mixamo Ch39 / Ch49 / Ch09 / Ch43. Recorded here rather than deleted quietly, because 'why is that gone' is a question a credits panel should be able to answer.", "used_for": "Nothing, by ruling. They failed R42's period law (PROCITY is 1990s Australia): a robed fantasy elder, a WW2 infantryman, a cartoon child at three-heads-tall, and a masked luchador. Their replacements are in the roster row above.", "count": 4, "files": ["models/peds/man_elder_01.glb", "models/peds/man_soldier_ww2_01.glb", "models/peds/comical_boy_01.glb", "models/peds/comical_luchador_01.glb"], "evidence": "E-progress.md §42.3 audit table · docs/shots/laneE/r42_roster_rejects.jpg", "flag": "STILL PRESENT IN THE TREE AND STILL IN PED_NAMES. Lane E deliberately did not delete them: rigs.js references them by literal name, and removing the files mid-round would shorten the fleet, renumber pickRig and move Lane F's crowd goldens while §42.4 (the wiring wave) has not run. Lane D removes them from PED_NAMES in §42.4; the files and their depot copies go with that change.", "lane": "E" }, { "id": "gen-skins", "name": "Texture skins — facades, skies, grounds, wallpapers, interiors, posters", "kind": "texture", "licence": "Original work (CC0-equivalent)", "attribution": null, "required": false, "source": "Generated on this machine by pipeline/gen_skins.py driving MODELBEAST flux_local (FLUX.2-klein-4B), plus ports of the house games 90sDJsim and thriftgod. Prompted with 'no text, no brands, no people'.", "used_for": "Every shopfront in the town, every sky, every footpath and road, every interior wall and floor, and the gig posters.", "count": 103, "files": ["assets/gen/*.jpg"], "evidence": "pipeline/AUDIT.md (§ skins, R38 §3, R39 §5) · docs/LANES/LANE_E_NOTES.md provenance table", "lane": "E" }, { "id": "audio-pack", "name": "Sound and music", "kind": "audio", "licence": "Original work (CC0-equivalent)", "attribution": null, "required": false, "source": "100% procedural synthesis — pipeline/gen_audio.py, numpy oscillators and noise renders through ffmpeg. No sample library, no recording, no neural model.", "used_for": "Street and room ambience, the shop bells and till and door and footsteps, the tram, the magpie and the mower, and every music bed including the three gig genres.", "count": 29, "files": ["assets/audio/*.ogg", "assets/audio/*.m4a"], "evidence": "pipeline/AUDIT.md — 'Round 11 audio pack provenance', R12, R13, R38 §2", "lane": "E" }, { "id": "props-house-library", "name": "Shop fittings and street furniture — the house library set", "kind": "mesh", "licence": "unverified", "attribution": null, "required": false, "source": "Generic props pre-sorted into John's house 3D library (benches, shelving, counter, crate, bin, streetlight, food cart …), normalized to the house GLB law by pipeline/normalize.py.", "used_for": "The benches, bins, streetlights and bus stops on the footpath, and the shelving, racks, counters and crates inside the shops.", "count": 18, "files": ["manifest.json → fittings / furniture (served from the 3GOD depot)"], "evidence": "pipeline/AUDIT.md — 'Normalized set' + the blanket caveat under QUARANTINE", "flag": "No explicit per-asset licence record. All 18 source filenames were checked against known trademarks (0 hits) and branded/designer pieces were quarantined out of the manifest, but 'unclear ⇒ quarantine' is the house rule: record a one-line source per asset before any public release.", "lane": "E" }, { "id": "props-on-device", "name": "Shop fittings, hero props and gig instruments — generated here", "kind": "mesh", "licence": "Original work (CC0-equivalent)", "attribution": null, "required": false, "source": "MODELBEAST flux_local (FLUX.2-klein-4B) concept → RMBG-2.0 cutout → TRELLIS.2 reconstruction → pipeline/normalize.py + bake_lowpoly.py / decimate_props.py. All on this box, no cloud key, $0.", "used_for": "The listening booth, drinks fridge, arcade cabinet, milkshake mixer and novelty record; the five band instruments on every stage; the magpie, the paling fence and the water tank in the backyards.", "count": 14, "files": ["manifest.json → fittings / furniture (served from the 3GOD depot)"], "evidence": "pipeline/AUDIT.md — 'Provenance — round-3 hero props', R12/R13 gig instruments, R38 §4, R39 §6", "lane": "E" }, { "id": "props-fal-hunyuan", "name": "Three props generated through fal.ai", "kind": "mesh", "licence": "Original work", "attribution": null, "required": false, "source": "An on-device flux_local concept image reconstructed by fal-ai/hunyuan3d/v2 — the only outside spend in the project, about $0.64 in total.", "used_for": "The glass display case, the magazine rack and the bus shelter (TRELLIS could not hold their thin or transparent geometry).", "count": 3, "files": ["manifest.json → fittings / furniture (served from the 3GOD depot)"], "evidence": "pipeline/AUDIT.md — 'Round 5 — E3: fal.ai fallback props'", "lane": "E" }, { "id": "godverse-stock", "name": "Record, book and toy cover art in the crates", "kind": "stock", "licence": "In-house only — cleared for this build, NOT cleared for public release", "attribution": null, "required": false, "source": "Product photographs from the real shop (Monster Robot Party) via the recordgod point-of-sale, and from real dealgod seller listings — the sellers' own product shots, baked into atlases by pipeline/godverse_stock.py.", "used_for": "The sleeves you flip past in a record bin and the spines and boxes on the shelves, when the stock layer is on.", "count": 15, "files": ["assets/stock_godverse/*/"], "evidence": "docs/LANES/LANE_E_NOTES.md — provenance table, rows 'Real-stock atlas' and 'Mint atlases' (both amber)", "flag": "FLAG BEFORE ANY PUBLIC OR COMMERCIAL RELEASE. These are real photographs taken by real sellers; minting changes whose stock the game claims it is, never whose photograph it is. Clearing them is a human decision, not a gate's.", "lane": "G" }, { "id": "gen-models", "name": "The on-device generation stack", "kind": "tool", "licence": "FLUX.2-klein-4B — Apache-2.0 · TRELLIS.2 and RMBG-2.0 — used as reconstruction/segmentation tools, no model weights ship", "attribution": null, "required": false, "source": "MODELBEAST, running locally on an Apple M3 Ultra. Nothing was downloaded from an asset pool and no cloud key was used except the one noted above.", "used_for": "Not shipped in the game — recorded because it is what produced the skins, meshes and props credited above, and a generator's licence is where an obligation would hide.", "count": 3, "files": [], "evidence": "pipeline/AUDIT.md — R38 §6, R39 §5 (licence tables) · pipeline/README.md", "lane": "E" }, { "id": "fonts", "name": "Typefaces", "kind": "font", "licence": "n/a — no font files ship", "attribution": null, "required": false, "source": "House law: canvas text only, no font files. Every sign, poster and menu is drawn with the operating system's own font stack (Arial / -apple-system / Segoe UI / Roboto), so nothing is embedded or redistributed.", "used_for": "Every shop sign in the town, the band names on the posters, and this panel.", "count": 0, "files": [], "evidence": "README.md — 'House laws' (canvas text, no font files)", "lane": "B" } ] }