Skip to content

3.15.0 — Saved DialogScripts (CRUD)

Choose a tag to compare

@opsnlops opsnlops released this 31 May 18:44

Minor release. Adds DialogScript persistence so users can save + edit + re-render multi-character dialog scenes.

New endpoints

  • GET /api/v1/animation/dialog/script — list (newest by updated_at)
  • GET /api/v1/animation/dialog/script/{id} — fetch one
  • POST /api/v1/animation/dialog/script — create (server stamps UUID + timestamps)
  • PUT /api/v1/animation/dialog/script/{id} — replace (preserves created_at, bumps updated_at)
  • POST /api/v1/animation/dialog/script/validate — shape-only validation without saving (returns {valid, error_messages, missing_creature_ids} so client forms can show inline errors)
  • DELETE /api/v1/animation/dialog/script/{id} — soft delete (animations rendered from the script keep playing — they carry a CoW snapshot in metadata)

CoW snapshot

POST /api/v1/animation/dialog now accepts a script_id instead of inline turns. Rendered animations carry metadata.source_script_id + metadata.source_script_turns (copy-on-write) so old animations stay readable + traceable even after the script is edited.

Caps

MAX_DIALOG_SCRIPT_TURNS = 200, MAX_DIALOG_SCRIPT_TURN_TEXT = 4096, MAX_DIALOG_SCRIPT_TITLE = 256, MAX_DIALOG_SCRIPT_NOTES = 16384 — enforced by the DB-layer parser; same caps the inline-turns path uses.