effectcraft/apps/effectcraft-web/src
bflatastic 9da33c157e Plug-ins: ScriptUI Panels folder scripts dock as panels and reopen, as in After Effects
EffectCraft's extension points compared with After Effects' (public
user guide and Scripting Guide) are now in docs/plugins.md, which
becomes "Plug-ins and extensions": scripts, ScriptUI panels and effect
plug-ins, with a short guide and an example panel for writing your own.

ScriptUI panels already came from `Scripts/ScriptUI Panels/` in the
settings folder, were listed at the bottom of the Window menu and
docked as tabs. What was missing: After Effects reopens the panels
that were open when it quit. Now the open panels are remembered in
`scriptui_panels.json` in the settings folder (a panel is added when
it opens and dropped when its tab or its script closes it; quitting
leaves the list), and `window.restoreScriptPanels` opens them again;
the desktop and web apps run it at start-up. A panel whose script is
gone or fails is reported and forgotten, and the others still open.
Where a panel was docked isn't kept, as workspace layouts aren't saved
between launches.

Gaps recorded in plugins.md and gaps.md G8: the Startup and Shutdown
script folders, keyboard shortcuts for scripts, ExtendScript's
`#include` / `#target` directives and `.jsxbin`.

Test: open_panels_open_again_at_the_next_launch (fails before: no
restore command), a_panel_dropped_in_the_folder_is_listed_and_opens_as_a_panel
(script), panels_open_at_quit_dock_again_at_launch (UI: the restored
panel docks with its controls; closing the tab forgets it).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:03:12 +07:00
..
api.rs Web: a failed storage write is retried and flush() rejects (#215) 2026-10-07 22:33:04 +00:00
app.rs Plug-ins: ScriptUI Panels folder scripts dock as panels and reopen, as in After Effects 2026-10-09 21:03:12 +07:00
audio.rs M15.2: web app depth (WEB-1): browser storage, Web Audio, worker renders, WebGPU viewer, PWA 2026-10-02 23:42:00 -04:00
browse.rs Web: Media Browser reports a picked file it can't read (#226) 2026-10-08 12:38:11 +07:00
diskcache.rs M13.30: web depth and polish 2026-10-04 02:57:17 -04:00
files.rs Import: image sequences with a Sequence option, ranges, folders and missing frames (#297) 2026-10-09 18:00:07 +07:00
frames.rs Web: a replaced file goes to reused workers again, even at the same size (#218) 2026-10-07 22:33:04 +00:00
lib.rs Never crash: deny panic lints in the already-clean crates and apps 2026-10-04 14:52:39 -04:00
persist.rs Web: Media Browser reports a picked file it can't read (#226) 2026-10-08 12:38:11 +07:00
storage.rs M13.24: web app depth (WEB-1) — GPU effects in frame workers, OPFS disk cache, storage manager 2026-10-03 18:35:03 -04:00
store.rs Web: a failed storage write is retried and flush() rejects (#215) 2026-10-07 22:33:04 +00:00
worker.rs Web: a replaced file goes to reused workers again, even at the same size (#218) 2026-10-07 22:33:04 +00:00