Source-mapped Fountain screenplay parsing and rehearsal breakdowns
moon test --target wasm-gc
moon run examples/rehearsal --target wasm-gc
moon build --target js --release
node _build/js/release/build/cmd/moonfountain/moonfountain.js scenes examples/last-train.fountain
node _build/js/release/build/cmd/moonfountain/moonfountain.js cues examples/last-train.fountain 林moonfountain <json|json-source|html|scenes|cast|lint|cues> FILE|- [CHARACTER]| 模式 | 输出 / 注意事项 |
|---|---|
| json | 结构、场次、角色、轮次、诊断;不附原文和注释正文 |
| json-source | 同上,但明确包含完整原文和注释;不要用于公开脱敏 |
| html | 可直接保存打开的静态预览,转义用户文本;无外部脚本资源 |
| scenes / cast | 人读场次表 / JSON 角色统计 |
| cues FILE CHARACTER | 指定精确角色的排练单;未知角色报错 |
| lint | 稳定诊断码和行号;不自动改写剧本 |
let doc = @fountain.parse("INT. BOOTH - NIGHT\n\nADA\nReady?\n")
let scenes = @fountain.scenes(doc)
let people = @fountain.cast(doc)
let cues = @fountain.cue_sheet(doc, "ADA")
let safe_report = @fountain.report_json(doc)
let original_scene = @fountain.extract_scene(doc, 1)python scripts/verify.py
# Windows 缺少 C 编译器时,仅明确延期 native 执行:
python scripts/verify.py --native-check-onlyfn escape_html(text : String) -> Stringfn word_count(text : String) -> IntInstall
Download zipSource-mapped Fountain screenplay parsing and rehearsal breakdowns