Ariadne
Ariadne analyzes Clew-produced data for local Ren'Py projects.
Clew owns extraction, preparation, and Ren'Py AST export.
Ariadne consumes Clew output and builds analysis artifacts from it.
Keep project-owned source under src/ariadne/; keep generated or game-derived files out of Git.
CLI
Run the default target, all:
bazel run //src/ariadne:ariadne
By default, Ariadne writes output under output/.
Use --output-dir to choose a different output directory:
bazel run //src/ariadne:ariadne -- --output-dir scratch/ariadne-output
Run through a specific target stage and its prerequisites:
bazel run //src/ariadne:ariadne -- parse
bazel run //src/ariadne:ariadne -- add-jump-edges
Available target stages:
allparseadd-implicit-edgesadd-init-edgesadd-jump-edges
Relative --output-dir paths resolve from the workspace root when Ariadne runs through bazel run.
Pipeline skeleton
Ariadne currently has pipeline scaffolding only. Each executable stage prepares an output directory at:
<output-dir>/graph/<stage>/
If a stage output directory already exists and is not empty, Ariadne fails unless --force is set.
With --force, Ariadne removes the existing stage output directory before recreating it.
Stage implementations are placeholders and do not write graph artifacts yet.