Skip to content

[Artifact Forest 2/9] Define canonical screenplay artifacts and capability truth #423

Description

@szmyty

Parent: #421
Depends on: #422 for exhaustive-forest semantics only; schema/design work may begin in parallel.

Outcome

Make screenplay structure a first-class static artifact domain instead of treating Fountain as an isolated format enum value.

Formats in initial scope

  • Fountain
  • Final Draft FDX
  • Fade In
  • Open Screenplay Format (OSF)
  • normalized screenplay JSON/evidence form

Architecture

Define a provider-neutral renderflow.screenplay/v1 artifact/schema representing, where available:

  • title-page metadata;
  • scenes/headings;
  • action;
  • character cues;
  • dialogue and parentheticals;
  • transitions;
  • lyrics;
  • centered text;
  • sections/synopses/notes where representable;
  • dual-dialogue relationships;
  • source order and stable element IDs;
  • source-format extension data that cannot be normalized safely.

This intermediate is a conversion boundary, not a claim that every format round-trips perfectly.

Deliverables

  • Add missing graph formats for FDX, FadeIn, OSF, and normalized screenplay JSON.
  • Correct Fountain's current capability truth: detection/model support must be distinguished from executable conversion until providers land.
  • Define loss profiles for each direction.
  • Define screenplay validation/inspection evidence.
  • Add tiny legal redistribution-safe fixtures for each format.
  • Document exact representational gaps and round-trip limitations.

Acceptance criteria

  • Fountain is no longer advertised as executable solely because Pandoc exists.
  • FDX/FadeIn/OSF are represented as typed formats with accurate detect/profile/inspect/convert/generate states.
  • The screenplay schema preserves ordered semantic structure and unknown/source-specific extensions honestly.
  • Conversion loss can be expressed per edge/result.
  • Fixtures prove parsing/serialization boundaries without relying on private scripts.
  • No external provider is made mandatory for Renderflow core.

Non-goals

No PDF recovery, speech transcription, or comic-specific panel schema in this checkpoint.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions