source-files
Store and document source files the user provides for a car, map or other game content - 3D models (STL, GLB, glTF, OBJ, FBX), reference photos / screenshots / renders, data downloads (DEM, GIS, archi
SKILL.md.claude/skills/source-files/SKILL.md
GitHubSource files (models, references, data)
Every original file the user shares for game content is kept in sources/ (repo root) and documented in the
DETAILS.md of the code folder that uses it. sources/ is git-ignored (local only, can be large) - so the
DETAILS.md is the permanent record: it must list every file, link, author and licence (and the short README.md + THIRD-PARTY.md carry the licence summary).
sources/
cars/<car-folder>/ <- same name as src/games/<game>/cars/<car-folder>/
maps/<map-folder>/ <- same name as src/games/<game>/maps/<map-folder>/
For other content types follow the same pattern (sources/<kind>/<folder>/, mirroring the code folder).
When the user shares files
- Find them. Attached / pasted images are saved by the harness under
%TEMP%\claude\<project>\<session-id>\images\N.png|webp- the message shows the exact path ([Image: source: ...]).@"C:\...\file"mentions and Downloads paths are real files - copy, never move. - Copy into
sources/<cars|maps>/<folder>/with descriptive, ASCII, kebab-case names that keep the order they were given, e.g.livery-ref-03-rear.webp,ref-08-streetview-canal-bridge.webp,rally-zavodni-auto.stl(note the original upload name in the DETAILS.md if you rename). Large downloads (archives, DEMs, STL) go here too - never intosrc/orpublic/. Car body model (STL / GLB / OBJ)? Scan it right away -python scripts/car-model/scan-mesh.py <file>- and report the verdict (already split / real panel edges / blob) before anything else is built on it; a blob (image-to-3D, photo mesh) is documented in the DETAILS.md as rejected and not imported (.claude/skills/rally-car-import/SKILL.md, step 1). - Document in the code folder's
DETAILS.md(create it if missing; keep it short, seeAGENTS.md"Write short" - a file table, not a story):- a "Sources -
sources/<kind>/<folder>/(local only, not in git)" table: file, what it is, what it was used for - one short row each; - credit-worthy links (model pages, data sets) also go in the def's
sources(CarDef/MapDef) - shown on the main menu About screen; - a "Links" table: every URL the user gave (model page, photo source, map / data portal) with what it was used
for and the verified licence / author (run the licence gate in
rally-car-importfirst; an unknown licence is treated as forbidden - some sites, e.g. Printables, block automated access: ask the user to paste the licence text, never try to get around bot checks, never write "TODO" and carry on); - add rows, never delete them - mark replaced items as
superseded.
- a "Sources -
- Wire credits where the game shows them:
sourcesin theCarDef/MapDef(About screen) andpublic/models/CREDITS.mdfor any shipped model. CC BY needs author + link. - Generated assets (GLB, baked map data) are produced from
sources/by scripts (scripts/car-model/stl-to-glb.mjs,scripts/realmap/bake.py); put the exact command in the DETAILS.md so the asset can be rebuilt by anyone who has the source files.
Rules
- Third-party photos / screenshots (Google imagery, team press photos) are reference only: never copy them into
public/, never reproduce their logos / brands in liveries. - Nothing in
sources/is served or bundled; game code must not import from it. - If the user shares a file without saying what it is for, ask which car / map it belongs to before filing it.
- Existing DETAILS files to follow as examples:
src/games/rally/cars/skoda-rally/DETAILS.md,src/games/rally/maps/ajvatovci/DETAILS.md.