dotCooCoo
efe7581f93
Scripts: the Startup and Shutdown folders run at launch and quit
...
Scripts in Scripts/Startup and Scripts/Shutdown in the settings folder
were never run. The desktop and web apps now run the Startup scripts at
launch, before a project opens, and the desktop app runs the Shutdown
scripts as it quits, after the project is closed. Each folder runs in
alphabetical order with case ignored, and files larger than 16 MiB are
not run. A Startup script that fails is reported in a toast and in the
log, a Shutdown script that fails is reported in the log, and the next
one still runs.
A Startup script that waits in a modal dialog goes on when the dialog
closes, while the next scripts run. A Shutdown script's dialogs close
as if canceled. With the settings folder on disk, each script runs as
its file, so #include, $.fileName and $.evalFile resolve against the
script's own folder.
The new commands file.runStartupScripts and file.runShutdownScripts
return the scripts that ran, those still waiting in a dialog, and those
that failed. Like script.run, both are refused in confined automation
sessions, in batches and in script steps, which now read one list of
script commands (RUNS_SCRIPTS). The list also holds window.scriptPanel
and window.restoreScriptPanels, which run ScriptUI panel scripts and
were not refused on main either. The apps still call
window.restoreScriptPanels at launch. plugins.md, scripting-parity.md,
gaps.md, target-app-parity.md and agents.md describe the folders. Each script
still runs in its own global scope, so a Startup script's variables are
not available to later scripts.
2026-10-24 02:44:05 -07:00
aiongg
eb5108786b
PDF: repin craft-pdf, hayro-syntax and hayro-jbig2 to craft-libs 9f75d3dc for its xref, object-stream, graphics-state and JBIG2 input bounds ( #2265 )
2026-10-23 23:27:29 -04:00
aiongg
1400cf7c78
Merge pull request #2264 from aiongg/contrib-batch-4
...
Integration batch 4: 15 contributor PRs (interface, scripting, hardening, docs)
2026-10-23 22:57:03 -04:00
aiongg
e3e9776c25
Batch fix: settings: size the page column from the titles it draws ( #2171 )
2026-10-24 02:12:59 +00:00
aiongg
07eda94115
Merge #2033 : docs: escape the backtick in the twirlSelected shortcut ( #2025 ) (@gmrmad1)
2026-10-24 02:12:25 +00:00
aiongg
2281e3ffec
Merge #1761 : Timeline: a shape group's inner Contents draws no row, as After Effects elides it (@elZanco)
...
# Conflicts:
# docs/ui-parity.md
2026-10-24 02:12:25 +00:00
aiongg
9a9574baaa
Merge #2016 : Settings: list the languages alphabetically by their own name (@nikolainyegaard)
2026-10-24 02:12:11 +00:00
aiongg
cf54196ad9
Merge #2171 : Settings: fit translated page names in the sidebar ( #2034 ) (@Maokus)
2026-10-24 02:11:49 +00:00
aiongg
39526acc86
Merge #1327 : Timeline: focus newly added expressions after Alt-click (refs #1072 ) (@tylerjenningsw)
2026-10-24 02:10:16 +00:00
aiongg
0db7ddb089
Merge #2228 : End an open text edit when Deselect All runs ( #2096 ) (@ChristopherLinnett)
2026-10-24 02:10:16 +00:00
aiongg
1d61fc6979
Merge #1933 : Viewer: keep hidden AV layers' controls visible ( #1769 ) (@ki2pixel)
...
# Conflicts:
# docs/ui-parity.md
2026-10-24 02:10:16 +00:00
aiongg
2b8bb3150e
Merge #2156 : Return None from Mat4::inverse for non-finite input (@Silvertree2010)
2026-10-24 02:10:03 +00:00
aiongg
9384ab7a47
Merge #1945 : Reject non-hex characters such as '+' in Rgba::from_hex (@Silvertree2010)
...
# Conflicts:
# crates/color/src/lib.rs
2026-10-24 02:10:03 +00:00
aiongg
0494226fc8
Merge #1997 : Keep rgb_to_hsv and rgb_to_hsl hue within 0..1 (@Silvertree2010)
2026-10-24 02:09:49 +00:00
aiongg
1ea2c0416f
Merge #1881 : Reject non-finite numbers in CSS colour parsing (@Silvertree2010)
2026-10-24 02:09:49 +00:00
aiongg
c00170bcc6
Merge #1867 : Fix scheduled ScriptUI tasks in host sessions (@dorfee)
2026-10-24 02:09:49 +00:00
aiongg
63f4bacf83
Merge #1891 : fix(script): interrupt blocked socket writes on close (@TimotheusG)
2026-10-24 02:09:49 +00:00
aiongg
aa65e498ce
Merge #1948 : CLI: preserve template composition names when rendering (@tylerjenningsw)
2026-10-24 02:09:49 +00:00
aiongg
113b92ac8c
Merge #2110 : ui: scrub hot text from the slider range ( #2097 ) (@gmrmad1)
2026-10-24 02:09:49 +00:00
aiongg
b898ba7f03
Merge pull request #2260 from aiongg/contrib-batch-3
...
Integration batch 3: 19 contributor PRs (interface, engine, effects, GPU, PDF and EPS import)
2026-10-23 22:08:01 -04:00
aiongg
2cca29830e
Batch fix: EPS: load returns an operator value, so an executable-name alias runs what its name is bound to ( #1909 )
2026-10-24 01:43:40 +00:00
aiongg
a407281852
Batch fix: tests: the web-job GPU page blurs by 12, which the GPU still runs after #1968 ( #1968 )
2026-10-24 01:39:09 +00:00
aiongg
80a08e3a3f
Batch fix: pdf: the u32 overflow tests reach their fonts from the page, as the object loader needs ( #2163 )
2026-10-24 01:29:13 +00:00
aiongg
c028b49f99
Batch fix: EPS: executable names count against the PostScript call depth
2026-10-24 01:23:26 +00:00
aiongg
69d6e3d28a
Batch fix: EPS: filter keeps its source, so an image's data source isn't skipped twice ( #1909 )
2026-10-24 01:22:55 +00:00
aiongg
fec95ff7ea
Merge #1909 : EPS: Illustrator EPS files draw their artwork ( #955 ) (@JWesCampbell)
2026-10-24 01:21:39 +00:00
aiongg
f50019244a
Merge #2163 : Fix u32 overflows in PDF CID width tables and CMap ranges ( #2147 ) (@MarekSpodBiedry)
2026-10-24 01:21:39 +00:00
aiongg
a6d8d23dfc
Merge #2045 : GPU: devices favour memory use, so Purge and Close give video memory back (@arnav-hiwarkar)
2026-10-24 01:21:39 +00:00
aiongg
981d3116d1
Merge #2040 : Fractal Noise: resolve the Blending Mode once per layer, not per pixel (@arnav-hiwarkar)
2026-10-24 01:21:39 +00:00
aiongg
a622e6bc5d
Merge #1604 : Cryptomatte: skip the ID colours unless Colors shows them, key the layer in place, and cache each rank's last ID colour (@MatejKozlovsky)
2026-10-24 01:21:39 +00:00
aiongg
3cf11de7c2
Merge #1810 : Shift Channels: After Effects' Take … From menu order, so 10 is Full Off ( #1797 ) (@Anubhav-Rai)
2026-10-24 01:21:11 +00:00
aiongg
3385eafe1f
Batch fix: blur: a NaN or vanishing sigma skips the Gaussian pass ( #1968 )
2026-10-24 01:21:11 +00:00
aiongg
65a199bbd7
Merge #1968 : Make Gaussian Blur and Fast Box Blur continuous at small values ( #1939 ) (@MarekSpodBiedry)
2026-10-24 01:20:43 +00:00
aiongg
6d0dc7ac57
Merge #2206 : effects: CC Radial Fast Blur grows its buffer so streaks pass the layer edge ( #2095 ) (@mercuryVM)
2026-10-24 01:20:43 +00:00
aiongg
017d08bbd0
Merge #2027 : Fix #1708 : calibrate CC Blobbylize from the AE oracle (@ki2pixel)
2026-10-24 01:20:20 +00:00
aiongg
546a9720b0
Batch fix: cargo fmt
2026-10-24 01:16:38 +00:00
aiongg
3b3b1846e5
Batch fix: i18n: drop the Georgian "Layer {}" row the Timeline no longer asks for ( #2155 )
2026-10-24 01:16:29 +00:00
aiongg
d88a604e8d
Merge #2041 : Save: check the file's values without reparsing it in release builds (@arnav-hiwarkar)
2026-10-24 01:12:11 +00:00
aiongg
a9d5ea90a8
Merge #1958 : script: comp.width and comp.height resize the frame without moving the layers ( #1942 ) (@Anubhav-Rai)
2026-10-24 01:12:08 +00:00
aiongg
ad2f3a5e96
Merge #2184 : Reload a numbered still as its own file ( #2074 ) (@HEOJUNFO)
2026-10-24 01:12:00 +00:00
aiongg
f066ec959a
Merge #1847 : Hold position between identical auto-Bézier spatial keys (@Silvertree2010)
2026-10-24 01:11:56 +00:00
aiongg
34e2facd54
Merge #2177 : engine: deleting a layer clears the references to it ( #2153 ) (@Anubhav-Rai)
2026-10-24 01:11:56 +00:00
aiongg
6e8111147b
Merge #2155 : Timeline: pick layer-valued properties from a layer drop-down ( #2093 ) (@ChristopherLinnett)
2026-10-24 01:11:52 +00:00
aiongg
cce71f69fc
Merge #1946 : #1926 : an edit no longer stamps every image-sequence frame for the disk cache (@ded-achtung)
2026-10-24 01:10:55 +00:00
aiongg
c5f692abc6
Merge #2049 : Light Settings: expose and preserve Environment lights (@tylerjenningsw)
2026-10-24 01:10:51 +00:00
aiongg
46302da794
Merge #2178 : Reject malformed thumbnail text without crashing ( #2135 ) (@Maokus)
2026-10-24 01:10:42 +00:00
aiongg
0c83acf79f
Merge #2221 : fix(ui): expose Duplicate in the Project panel context menu ( #2207 ) (@Zaxaerith)
2026-10-24 01:10:42 +00:00
aiongg
6e1a38fd25
Merge pull request #2259 from aiongg/contrib-batch-2
...
Integration batch 2: 18 contributor PRs (SVG, engine, colour effects, effects, settings, tests)
2026-10-23 21:06:05 -04:00
aiongg
83af3ac56c
Batch fix: media: the zero-rate audio test asserts that the read succeeds ( #2182 )
2026-10-24 00:37:13 +00:00
aiongg
5e0dfcfd41
Batch fix: svg: a selector's class checks count against the CSS matching budget ( #2159 )
2026-10-24 00:37:13 +00:00