top of page

PROJECT ORGANIZER

Project Organizer is a deterministic folder-tree generator for post projects. It builds a consistent on-disk structure (optionally with ordered numbering) and can attach/copy specific reference assets into specific folders as part of the build. It’s designed to eliminate “every show is a snowflake” folder layouts and reduce assistant-editor setup friction without turning your filesystem into a free-for-all.

What it’s for (real workflows)

  • Standardize project layouts across shows/clients/facilities (same tree every time).

  • Spin up new jobs fast: Media / Editor / Assist / GFX / Color / Online / QC / Exports (plus whatever you add).

  • Create “starter packs” by attaching/copying common assets into the tree:

    • docs, templates, LUTs, cue sheets, deliverable specs, client notes, reference videos, etc.

  • Keep root-level folders clean and predictable with optional numeric prefixes (e.g., 01_PROJECT, 02_MEDIA, …).

  • Save/load presets so teams can share the same folder blueprint.

Deterministic structure + explicit ordering

  • The UI maintains an ordered list of folder IDs (root folders + nested subfolders).

  • Root folders are reorderable via drag-and-drop; subfolders are nested and follow their parent.

  • Numbering is applied at the top level only by prefixing a stable token (01_, 02_, etc.) in the generated output.

Root folder is optional

  • If you provide a project/root folder name, the panel creates that folder under the output path and builds inside it.

  • If you leave it blank, it treats the output folder itself as the root and creates the structure directly inside.

Asset attachments (copy into the tree)

You can attach files to any folder in the structure via:

  • “+” picker (OS file dialog), or

  • drag-and-drop onto the target folder row.

Those assets are copied into the generated folder location during the job, with collision-safe naming (it will suffix if needed rather than overwrite).

Job queue execution + progress that doesn’t lie

Project Organizer runs as a queued job (not inline blocking UI). Progress reports are:

  • simple step-based when it’s just folders,

  • byte-weighted when assets are attached (so the bar moves during large file copies instead of sitting at 8% forever).

It supports cancellation mid-job.

Path and name sanitization

Folder names are validated to avoid:

  • path separators, .., trailing dots/spaces,

  • illegal characters (Windows-safe),

  • reserved device names (CON, NUL, etc.).

Folder definitions are treated as relative paths, not absolute paths, and the generator refuses anything that attempts to escape the intended output root.

Output folder safety

  • Output path must exist, must be a directory, and must be writable.

  • If a named root folder already exists and is not empty, the job fails instead of silently merging into an existing project.

Cancellation cleanup

If the job created the root folder (because you provided a root name) and then fails/cancels, it will attempt to remove the created root folder so you don’t end up with a half-built structure.

Security model

This panel takes the “renderer is not trusted” stance seriously:

  • Approved-roots policy: absolute filesystem paths are only allowed if they were explicitly approved for the session.

  • Drag-and-drop files are explicitly “approved” before being stored in the job config (because drag paths don’t come from an OS picker).

  • Presets/config loads that contain absolute paths trigger a re-approval step (with user confirmation), and unapproved paths are stripped rather than blindly trusted.

  • The panel blocks default browser drag/drop behavior (prevents accidental navigation/opening dropped files in the UI context).

Presets and portability

  • Presets capture: folder order, custom folders, selection state, attached assets, output path, numbering option, root name.

  • When loading a preset:

    • folder IDs are sanitized,

    • invalid entries are dropped with warnings,

    • asset paths and output paths are re-approved (or removed).

PROJECT ORGANIZER.png
bottom of page