Skip to content

Character workshop settings

The Model settings panel near the top of the character workshop saves, restores and resets everything you have changed on the loaded model. It is implemented in src/review/astra-review.ts, with the file format in src/review/character-workshop-profile.ts.

  • Export all settings downloads planets-<race>-<sex>-workshop.json (or planets-<base id>-workshop.json for a base without race and sex). The file has format: "planets-character-workshop", version: 1, and holds:
    • model: the name, race, sex, form, base id, body id, revision and publication it was made against;
    • settings.character: the full character definition (body, stance, appearance, eyes, fabrics, equipment, name and identity);
    • settings.tuning: every weapon, per-clip and animation adjustment, in the CharacterTuning schema;
    • settings.preview: preview state (clip, time, speed, hands, cloth, wings, camera, inspection toggles);
    • defaults: the published defaults the export is compared with;
    • changes: a readable list of paths that differ from those defaults.
  • Exporting also opens Copyable full settings. Some embedded browsers ignore Blob downloads, so the status line only says “Download requested”; Copy all settings gives you the same JSON, falling back to selecting the text for you when clipboard access is refused.
  • Import settings parses and validates the file against the loaded source before applying it. If the body parameters, tuning, clip or camera target are invalid, the current character is restored unchanged. The changes list is recomputed on export and is never applied from an imported file. Files over 2,000,000 characters are rejected.

The Export JSON button in the tuning panel is different: it exports only the CharacterTuning object (planets-character-tuning.json). The publish command accepts either file, so a full workshop export is never needed just to publish grips.

Reset everything returns the model to its published defaults: neutral body and stance, the default eye and skin appearance, the workshop outfit (every available garment slot plus the cape, no weapon), the published tuning profile, and the default preview. The character’s identity UUID is kept. Undo reset restores the state before the most recent reset in this session.

Narrower resets sit next to the controls they affect:

ButtonResets
Reset proportions, and one per body groupbody morph values
Reset stancestance and foot pose
Reset both eyes / Reset selected eyeeye appearance
Reset skin tintskin tint and detail colour
Reset hand stateshand poses
Reset equipped itemsequipment
Reset cloth controlscape simulation, wind, body movement, cloth backend and quality
Reset view & inspectioncamera and surface inspection toggles
Reset wingswing design, motion, growth level and fit
Reset all fabrics / Reset this fabricgarment fabric choices
Reset this weaponthe selected weapon’s grip, including all its per-clip adjustments
Reset this animation posethe current clip’s pose tuning; weapon grips are kept

Every narrower reset leaves the other groups untouched.

  • Every edit, reset and import updates the local working drafts (character draft, tuning draft and per-model preview state in localStorage).
  • The player save changes only when you press Save character or Play this character.
  • Reloading the workshop restores the character draft, the tuning draft and the preview state for the same base and body revision.

Drafts live in the browser. Export before clearing site data.

node scripts/verify-workshop-settings.mjs drives the workshop in a headless browser and checks per-garment fabric reset, eye reset, undo, weapon and animation reset isolation, full reset, full export and import, rollback on an invalid import, a suppressed download that still leaves the complete JSON copyable, and draft reload. It expects a dev server on 127.0.0.1:5187, for example npx vite --host 127.0.0.1 --port 5187 --strictPort. Screenshots and the report go to .gear-work/character-validation/workshop-settings/, a local folder that is not part of the repository.

Written by release:site-sync from docs/character-workshop-settings.md at v2026.09.22. Edit the engine document, not this page.