01
Plates are read-only the moment they land on disk. Never touch, rename, or move a plate after ingest. Plates folder reserved — not active on this production yet.
02
Published files are locked. Work files are in-progress. The moment a file is published, it is a deliverable — only a new version supersedes it.
03
App project roots live inside the shot folder. Maya, Nuke, and Houdini projects must be set relative to the shot — not a global path on your machine.
04
No spaces. Ever. Underscores between words. camelCase for compound words within a single field. Spaces break scripts across the entire pipeline.
05
Write access is scoped. You only touch folders relevant to your role. When in doubt, post in Discord before moving or renaming anything.
The complete project hierarchy. Every department works within this structure. Do not create folders outside of it without VFX Supervisor approval.
THS Project Root — Directory Tree
THS_ROOT/
├── _admin/contracts, schedules, deliverables
├── _docs/production_bible, pipeline, onboarding
├── assets/
│ ├── char/CHR — humanoid heroes & supporting cast
│ │ ├── rhea/cncpt/ mdl/ dtl/ tex/ shd/ rig/ grm/ cfx/ anim/
│ │ ├── io/cncpt/ mdl/ dtl/ tex/ shd/ rig/ grm/ cfx/ anim/
│ │ └── scion/cncpt/ mdl/ dtl/ tex/ shd/ rig/ grm/ cfx/ anim/ facs/ scan/
│ ├── crt/CRT — non-humanoid creatures, monsters, animals
│ ├── env/ENV — cncpt/ mdl/ dtl/ tex/ shd/ anim/ + splat/ hero_geo/ hdri/ ref/ per world
│ │ ├── perihelion/
│ │ ├── chromaDeep/
│ │ ├── rustGorge/
│ │ ├── burialSea/
│ │ ├── fold/
│ │ ├── marrow/
│ │ ├── maw/
│ │ ├── sanctum/
│ │ ├── drowningCity/
│ │ └── soulWeb/
│ ├── bld/BLD — standalone architectural assets / landmarks
│ ├── prop/PRO — cncpt/ mdl/ dtl/ tex/ shd/ rig/ anim/ per asset
│ ├── wpn/WPN — combat items (rigged + animated typically)
│ ├── vhc/VHC — cars, ships, drones, mech rigs
│ ├── dmp/DMP — digital matte paintings, AI sky cards, set extensions
│ └── fx/FX — reusable asset-level FX setups (houdini/ embergen/ liquigen/)
├── sequences/
│ └── SEQ010/SEQ020/ SEQ030/ PRE/ follow same pattern
│ └── sh0010/sh0020/ sh0030/ — increment by 10
│ ├── plates/not active on this production yet
│ ├── ref/
│ ├── mm/matchmove — live-action only, not active on Thresholds (full CG)
│ ├── ra/rotoanim — live-action only, not active on Thresholds
│ ├── roto/rotoscoping — live-action only, not active on Thresholds
│ ├── lay/layout — camera blocking, scene assembly
│ ├── set/set dressing — per-shot prop, vegetation, debris pass
│ ├── ue/unreal scene — per-shot Unreal scene assembly
│ ├── anim/per-shot animation performance
│ ├── cfx/creature FX execution — cloth, hair, muscle caches
│ ├── fx/per-shot effects — fire, smoke, debris, water
│ ├── crowd/crowd simulation — Massive / Golaem / Houdini crowd
│ ├── lgt/shot lighting and render setup
│ ├── render/beauty/ char/ env/ fx/ aov/
│ ├── dmp/DMP integration into the shot
│ ├── enh/ComfyUI enhancement — input/ output/
│ ├── comp/scripts/ output/
│ ├── grd/per-shot review grade (rare — final grade is editorial)
│ └── _thumb/shot card thumbnail — tool-managed
├── editorial/project-level dept — teaser/ trailer/ fullCut/ each split into edt/ grd/ sfx/
│ ├── teaser/
│ │ ├── edt/editing — .prproj / .drp, EDL/XML
│ │ │ └── v003/output/ sources/
│ │ ├── grd/grading — .drp DaVinci
│ │ └── sfx/sound — .wav, .aaf
│ ├── trailer/edt/ grd/ sfx/ same pattern
│ └── fullCut/edt/ grd/ sfx/
├── delivery/client_review/ final/ archive/
└── pipeline/ocio/ luts/ scripts/ templates/
Shot numbers increment by 10 to allow inserts. Sequences: PRE, SEQ010, SEQ020, SEQ030. Folders prefixed with _ are tool-managed auxiliary — see “Auxiliary Folders” below.
Every shot folder follows the same layout. App project roots (Maya, Nuke, Houdini) must be set to this folder so paths resolve on any machine.
plates/
Reserved for ingested source material. Not in use on this production yet. When populated, treat as read-only — never touch after ingest.
Not Active
ref/
Reference images, storyboards, director notes for this specific shot.
mm/
Matchmove — camera and object tracking. Not active — Thresholds is full CG.
Not Active
ra/
Rotoanim — CG rigs matched to plate actor performance. Not active — full CG.
Not Active
roto/
Rotoscoping — plate masks and isolation. Not active — full CG.
Not Active
lay/
Layout — camera blocking, scene assembly, action staging in 3D.
set/
Set dressing — per-shot population with props, vegetation, debris. Unreal / Maya / Houdini.
ue/
Per-shot Unreal scene assembly — collecting layout + set dressing + characters into a renderable scene.
anim/
iClone 8 / Maya / Unreal animation exports, Alembic caches, rig data per shot.
cfx/
Creature FX execution — cloth, hair, muscle simulation caches. Asset-level CFX builds the setup; shot CFX runs and caches it.
fx/
Per-shot effects — fire, smoke, debris, water, destruction. A single shot can carry multiple fx tasks.
crowd/
Crowd simulation — Massive / Golaem / Houdini crowd. Distinct from fx because tools and rate-cards differ.
lgt/
Shot lighting — HDRI selections, lighting notes, Lumen override settings, render setup.
render/
Unreal Engine EXR output. Sub-folders: beauty/ char/ env/ fx/ aov/
dmp/
DMP integration into the shot — 3D-projected matte painting pass.
enh/
ComfyUI AI enhancement pass. input/ receives render passes. output/ stores enhanced frames.
ComfyUI
comp/
Nuke scripts in scripts/, final EXR sequences in output/. Set Nuke project root here.
grd/
Per-shot review grade. Rare — final grade lives in editorial grd/. Used when a shot needs its own grade pass during dailies.
Each character and environment has its own folder inside assets/. All characters share the same sub-folder layout. The Scion has two additional folders for scan-based facial data.
cncpt/
Concept art — character design boards, colour keys, costume studies. First deliverable in the pipeline.
mdl/
Hero geometry FBX / USD. Subdivision-ready, no overlapping UVs on hero surfaces.
dtl/
Detailing & sculpting — ZBrush / Mudbox high-frequency surface detail. Displacement source before baking.
tex/
4K EXR texture maps. Albedo (no baked lighting), roughness, metalness, normal, SSS. ACES throughout.
shd/
Shading / Lookdev — material setup, turntable render outputs for sign-off.
rig/
Character Creator 5 and AccuRig rig files, export configs.
grm/
Grooming — XGen / Ornatrix / Yeti hair, fur, beard guides and caches.
cfx/
Creature FX setup — cloth simulation rigs, muscle systems. Marvelous Designer source files. Shot-level CFX consumes this.
anim/
Asset-level animation loops — idle cycles, library performances, baked against the asset (not a specific shot).
cncpt/
Concept art for the Scion — design boards, colour keys, FACS reference.
mdl/
Photoreal head geometry, processed through Faceform Wrap retopology.
dtl/
ZBrush detail sculpts on top of the retopo'd model.
tex/
4K+ maps from 3DSK scan library. Same spec as hero characters.
shd/
Turntable renders under multiple lighting conditions for LoRA training.
rig/
Full facial rig with FACS-compliant blend shape targets.
grm/
Hair, beard, eyebrows, lashes (groom data).
cfx/
Costume garment files and caches.
anim/
Library performance loops baked against the Scion (separate from per-shot animation).
facs/
All FACS expression sculpts from ZBrush, used for LoRA training dataset.
scan/
Raw photogrammetry scan data from 3DSK. Do not modify after ingest.
cncpt/
Concept art — environment design, colour keys, mood boards, environment language.
mdl/
FBX or USD hero geometry from Maya or ZBrush. Real-world scale, must match character scale.
dtl/
Detailing pass on hero geo — ZBrush sculpts, displacement source.
tex/
PBR maps. 4K for hero assets, 2K for secondary. Same ACES pipeline as characters.
shd/
Shading / Lookdev — material setup and turntable renders against env hero geo.
anim/
Environment-level animation loops — rare; used for moving environment elements baked into the asset.
splat/
Gaussian Splat source PLY files from XGrid PortalCam or World Labs Marble. Read-only after ingest.
hero_geo/
Optional intermediate folder — hero geometry collated separately from mdl/ when scan-based.
hdri/
HDRI captures for lookdev validation and UE5 sky lighting.
ref/
On-location reference photography, scouting notes, and concept imagery for this world.
Scale rule: Environment assets must match character scale exactly. All assets are authored at real-world scale in centimeters. A mismatch discovered downstream costs the entire department. Check before you deliver.
Folders prefixed with _ sit alongside Bible-canonical deliverable folders but are managed by tracking tooling (PXLflow) rather than directly by artists. They handle thumbnails, references, bundled extras, annotated review frames, and archived deletions. Do not write into them by hand — the tool creates and populates them at the correct level.
_thumb/
UI preview thumbnail for an asset, sequence, or shot card.
Locations: assets/<type>/<name>/_thumb/ · sequences/<SEQ>/_thumb/ · sequences/<SEQ>/<sh>/_thumb/. One file per entity, kept current.
_ref/
Artist references and mood boards attached to an asset (mask sheets, look refs, anatomy plates). Tagged ::ref:<group>:<file> in the version row that uploaded them.
Location: assets/<type>/<name>/_ref/. Distinct from the shot-level ref/ deliverable folder, which is for storyboards and director notes per shot.
_extra/
Bundled files that travel with a deliverable but are not separate task deliverables (e.g. textures embedded with a downloaded model, secondary geometry shipped with a rig). Tagged ::extra:<group>:<file>.
Location: per-dept under each asset and shot — <dept>/_extra/.
_review/
Annotated review frames, organised per version. Used at both asset and shot scope to keep review artefacts out of the canonical deliverable folder (grd/ is for actual grading work, not feedback frames).
Locations: assets/<type>/<name>/_review/<versionId>/ · sequences/<SEQ>/<sh>/_review/<versionId>/
_OLD/
Archive-on-delete destination. Files move here when a version, review, or asset is removed from the database. Sub-pathed by date and entity.
Location: THS_ROOT/_OLD/<YYYY-MM-DD>/<entityType>/<entityId>/. Trashed automatically after 30 days by the admin purge.
Rule: Never create new underscore folders by hand. The set above is exhaustive. If a new tool flow needs a new auxiliary location, request a Bible amendment first — do not improvise.
Asset master files (_master) — under consideration, NOT in use. A published-asset folder would eventually hold a stable, version-less TYPE_AssetName_master.ext that shot scenes reference instead of a specific vNNN, so a new publish reaches every shot without re-pointing each scene. Do not create these yet. The same automatic reach is the risk — an unapproved promotion would propagate silently — so it is blocked on an approval gate in PXLflow and will be revisited during the deeper shot-stage work. See Production Bible §6.6.