effectcraft/docs
vangel76 e29f34029c #759: #include / //@include / #includepath in scripts
Problem: ExtendScript's preprocessor directives weren't understood, so a
script (or ScriptUI panel, or library such as DuAEF) failed to parse at
its first `#include`; `#target` / `#targetengine` / `#strict` lines broke
parsing too.

Fix: before a script runs, `include::expand` inlines `#include "f"` and
`//@include "f"` in place of the line, resolved against the including
file's folder, then the folders of the latest `#includepath "a;b"`.
Each file is inlined once (which also breaks cycles), nesting is limited
to 32, files are capped at 16 MiB (64 MiB in all), and reads follow the
scripts' file gate (the script's own folder, the project's folder, or
anywhere with Allow Scripts to Write Files). `#target`, `#targetengine`,
`#strict`, `#script` and `#engine` are dropped. Errors in the expanded
code are mapped back to the included file and its line. Scripts without
directives run unchanged. File resolution, the gate and the limits live
in `scriptfile.rs` for `$.evalFile` (#760) to share.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:34:36 +02:00
..
brand Licensing: standard LICENSE files, NOTICE, ArtCraft brand terms 2026-10-04 10:05:24 -04:00
fidelity Keyframes: auto-Bezier spatial tangents follow After Effects 2026-10-11 02:44:49 +05:30
images M0.11: README rewrite with headless screenshots (hero, graph editor, effects, 3D, render queue) 2026-10-01 23:31:40 -04:00
agents.md fonts: extra font folders from EFFECTCRAFT_FONT_DIRS 2026-10-11 05:10:45 +07:00
architecture.md UI.9: retain shared docking across upstream workspace changes 2026-10-10 19:25:49 -06:00
contributors.md About: contributor and model credits compiled in (grab bag + table, self-submitted names) (#228) 2026-10-07 21:16:47 -04:00
control-protocol.md UI.9: share docking transactions and preserve viewer lifecycle 2026-10-10 17:14:12 -06:00
effects-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#617) 2026-10-10 14:09:10 -04:00
effects.md Effect Controls: file parameters get Choose…, Apply Color LUT asks for its LUT on apply, and text parameters get a field (#514, #473) 2026-10-10 19:48:25 +00:00
file-format-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#617) 2026-10-10 14:09:10 -04:00
footage.md Import: only dropped files default to stills; scripts and agents naming a frame still get its run (#431) 2026-10-10 20:15:24 +00:00
gaps.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#617) 2026-10-10 14:09:10 -04:00
hardware-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#617) 2026-10-10 14:09:10 -04:00
localization-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#617) 2026-10-10 14:09:10 -04:00
mcp.md MCP: --automation-read-root / --automation-write-root confine the agent's file access (#500) 2026-10-10 22:54:57 +00:00
plugins.md #759: #include / //@include / #includepath in scripts 2026-10-11 12:34:36 +02:00
preferences.md Merge pull request #589 from JeremyYao/fix/amd-vulkan-launch-guard 2026-10-10 16:29:06 +00:00
releasing.md Release prep: 0.8.0 and a Linux riscv64 release build (#669) 2026-10-10 21:08:18 -04:00
roadmap.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#617) 2026-10-10 14:09:10 -04:00
scripting-parity.md #759: #include / //@include / #includepath in scripts 2026-10-11 12:34:36 +02:00
target-app-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#617) 2026-10-10 14:09:10 -04:00
testing.md Effects: the sim golden test accepts macOS 27's libm hash for Mr. Mercury (#232) 2026-10-08 13:36:09 +07:00
ui-parity.md Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#617) 2026-10-10 14:09:10 -04:00
web.md Web: the layer and footage caches stay small enough for eight stacked clips 2026-10-09 16:44:15 -05:00