Commit Graph
66 Commits
Author SHA1 Message Date
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 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
aiongg b6c1cff444 Merge #1833: Tests: serialise disk-cache-opening tests with the roto tests (@iannitram) 2026-10-24 00:13:55 +00:00
aiongg ce3791eba5 Merge #1915: test(render): make automatic backend checks independent of timing (@TimotheusG) 2026-10-24 00:13:55 +00:00
aiongg 8cc7c7f2a4 Merge #2166: i18n(ja): AE says 縦横比, not アスペクト比 (@zitann2020) 2026-10-24 00:13:55 +00:00
aiongg d664e403ae Merge #2185: Project Settings: Frame Count, Start at 0 or Start at 1 (@marcoarnulfo) 2026-10-24 00:13:55 +00:00
aiongg 33951267e7 Merge #1653: UI: native press-and-browse menus, with edge auto-scroll (@elZanco) 2026-10-23 23:33:23 +00:00
aiongg 22cdd26365 Merge #2223: Composition Settings: Resolution menu with the frame size and memory at that resolution (@marcoarnulfo) 2026-10-23 23:33:23 +00:00
aiongg ac5fc076df Merge #2050: 3D: add a New 3D Primitive dialog to Layer > New (@tylerjenningsw) 2026-10-23 23:33:19 +00:00
aiongg bae27ebbe7 Merge #1841: Cryptomatte: pick the ID under a point into the Selection (effect.pickCryptomatte) (@MatejKozlovsky) 2026-10-23 23:33:10 +00:00
aiongg 86623ee062 Merge #1906: xtask bench: run on Windows (scenario commands from an args file, os error 206) (@ded-achtung) 2026-10-23 23:32:52 +00:00
aiongg 662b620be4 Merge #2182: Regression tests for #354, #382, #979 and #1497 (@skylartaylor) 2026-10-23 23:32:52 +00:00
aiongg b370269a2f Batch fix: cargo fmt 2026-10-23 23:31:33 +00:00
aiongg d74fe2d51e Merge #2003: Motion Tile's Output size works on adjustment layers (#1727) (@ded-achtung) 2026-10-23 23:22:30 +00:00
aiongg 14900b747d Merge #2211: #2094 (adv): crisp cast shadows so diffusion only softens (@ChristopherLinnett) 2026-10-23 23:22:30 +00:00
aiongg d6ff173833 Batch fix: Effect Controls: the Curves graph draws the natural spline the effect renders (#1872) 2026-10-23 23:22:30 +00:00
aiongg d17c2e86cd Merge #1846: Make Fractal Noise evolution progress linearly (@Silvertree2010) 2026-10-23 23:21:37 +00:00
aiongg a78c7a585d Merge #1872: Color effects and keys render as in After Effects (Tint, Tritone, Black & White, Exposure, Levels, Brightness & Contrast, Curves, Luma Key, Extract, 4-Color Gradient, Fill) (@vangel76) 2026-10-23 23:21:37 +00:00
aiongg b7f8eb9019 Merge #2106: engine: a keyframe on the out point no longer warns (#2084) (@gmrmad1) 2026-10-23 23:21:33 +00:00
aiongg 4db5e01f69 Merge #2108: engine: resolve effect match-name paths in prop_ref (#2064) (@gmrmad1) 2026-10-23 23:21:33 +00:00
aiongg 2ad9204927 Merge #1901: Resolve SVG font-size percentages against the parent font size (@Silvertree2010)
# Conflicts:
#	crates/svg/src/tests.rs
2026-10-23 23:21:29 +00:00
aiongg 43834a52b3 Merge #2159: svg: share CSS declaration blocks and cap <style> work (#2140) (@Barzabel) 2026-10-23 23:21:15 +00:00
aiongg 5bd164980c Batch fix: docs: Georgian is the one catalog with native-speaker review (#1843) 2026-10-23 22:21:30 +00:00
aiongg eb89902c9c Batch fix: web: Match System skips languages the bundled fonts can't draw (#1842) 2026-10-23 21:49:37 +00:00
aiongg fefe4b8a91 Merge #1843: i18n: Georgian (ka) interface language (@devius) 2026-10-23 21:45:52 +00:00
aiongg 8197568559 Merge #1842: i18n: tab titles, workspaces and Project/Timeline column headers reach the catalogs; web language follows ?lang= and the browser (@devius) 2026-10-23 21:42:49 +00:00
aiongg e272e74f5b Merge #1920: Preview: keep rendering past the cached frames after a loop or restart (@ded-achtung) 2026-10-23 21:37:28 +00:00
aiongg 5ff332a206 Merge #2048: Timeline: the disk-cache bar checks only the visible frames (@arnav-hiwarkar) 2026-10-23 21:37:28 +00:00
aiongg 93477f0611 Merge #2046: Preview: a zoom or resolution change evicts the other sizes' frames first (@arnav-hiwarkar) 2026-10-23 21:37:00 +00:00
aiongg 295d104e19 Merge #1699: Preview: replaced browser media gets a new disk-cache key (#1253) (@vbasky) 2026-10-23 21:36:58 +00:00
aiongg feb6c12b91 Merge #1928: #1812: workers that render a layer at once share the cached buffer (@ded-achtung) 2026-10-23 21:34:56 +00:00
aiongg 74f7e76f41 Merge #1917: #1812: stills at reduced resolution are resampled once, and their layers cached (@ded-achtung) 2026-10-23 21:34:54 +00:00
aiongg 3744adc310 Batch fix: interface fonts: skip catalog characters in blocks that already found no face (#1973)
On a machine with no font covering the catalog, each uncovered 256-character
block re-read every installed font file on the UI thread; blocks that already
failed are skipped.
2026-10-23 21:32:24 +00:00
aiongg a32048db4d Batch fix: fonts: read the CJK locale only for scripts with usual families (#1907)
fallback_for read the locale (and the environment) on every call, including
the layout hot path; it is computed lazily, only for a character of a script
with usual families.
2026-10-23 21:31:57 +00:00
aiongg ce73d42c42 Merge #1929: Layer: replace a layer's source with Alt-drag and Ctrl+Alt+/ (#991) (@ki2pixel) 2026-10-23 21:26:51 +00:00
aiongg d0675be78b Merge #1850: Timeline: layer switches, labels and modes act on the whole selection (#1849) (@ki2pixel) 2026-10-23 21:26:33 +00:00
aiongg 52a0c6626d Merge #1931: Layer: Reveal Layer Source in Project from the context menus (#1809) (@ki2pixel) 2026-10-23 21:26:24 +00:00
aiongg d57fed9fcc Merge #1837: Text: draw Faux Bold and synthetic bold (#1676) (@HEOJUNFO) 2026-10-23 21:26:20 +00:00
aiongg 1520a11f9c Merge #1865: Text Range Selector: Start, End and Offset show as counts with Units = Index (#1814) (@SBaksa) 2026-10-23 21:26:16 +00:00
aiongg 95c4dc6a28 Merge #2114: engine: split layers above the original by default (#2083) (@gmrmad1) 2026-10-23 21:26:10 +00:00
aiongg 38ca712cc2 Merge #2116: ui: Spacebar hand pans timeline rows vertically (#2083) (@gmrmad1) 2026-10-23 21:26:10 +00:00
aiongg bc8ddfa5ea Merge #1973: Fix incomplete system font coverage in the Chinese interface (@yuraizmailov) 2026-10-23 21:19:31 +00:00
aiongg 966f9d9894 Merge #1322: ui: the interface prefers the platform's UI faces, rendered text keeps the print ones (@FeiLiuEM) 2026-10-23 21:19:10 +00:00
aiongg fe0215a074 Merge #1907: fix(text): isolate CJK fallback language and cache entries (@TimotheusG) 2026-10-23 21:18:45 +00:00
aiongg f82ce628ad Build: use craft-docpath from craft-libs 2026-10-17 02:20:50 +00:00
aiongg 816ca95800 Footage: follow stored footage paths only on this computer or the project's share
Footage paths stored in a project are resolved through craft-docpath against
the project file when it is opened or imported: relative paths are taken from
the project's folder, and an item whose path is on another computer, names a
device or is a non-file URL is marked missing without being looked at. The
footage check, the changed-on-disk scan, Reload Footage, Relink, Edit Original
and Reveal in Finder resolve the path again before touching the file, and the
Project panel, Metadata panel and waveforms read no file details of missing
footage.

Lottie image assets are resolved against the Lottie file; one on another
computer is skipped with a warning. Files a 3D model names are read only when
local or on the model's own share.

Reveal in Finder refuses a folder that would open as an app or other bundle.

Files imported or relinked in this session are opened as given.
2026-10-16 17:43:58 +00:00
aiongg 1064911fc4 Edit: Edit Original opens only regular files with a footage media extension
A folder or bundle, a link to another kind of file, or a file whose extension
the footage importer doesn't take is refused with a message instead of being
handed to the system's default app.
2026-10-16 16:14:02 +00:00
aiongg 299223f112 Templates: Import Template writes embedded media only into its item folders
Each 'media/<item>/<file>' entry is written to '<template> Media/<item>/<file>'
only when <item> is all digits and <file> is a plain file name (not empty, '.'
or '..', no separators, and on Windows no drive, stream or device name), and
the written path is checked to sit in an item folder of '<template> Media'.
read_stored skips entries with absolute, drive or '..' names.
2026-10-16 16:14:02 +00:00