BFlat
6ef899cdbb
M7: download a missing free font from the Missing fonts window ( #754 ) ( #1510 )
...
A missing family the suite's font store has (Google Fonts, Noto) gets a
Download button. The first one asks the user to allow downloading fonts,
then craft-libs' craft-font-store installs pinned, checksum-verified files
into the Craft apps' shared font folder on a thread of its own. The font
scan reads that folder; once installed the text fits the real font.
font.download / font.downloads drive the store as its agent: refused while
downloading is off, never able to turn it on. Desktop only.
2026-10-29 16:41:31 +07:00
BFlat
3d5185c2ab
M0.9: web wasm back under the 24 MiB gate ( #1472 ) ( #1511 )
...
The browser build's wasm was 25,982,540 bytes, past the gate raised for 0.12.1. It is now
23,915,213 bytes (22.8 MiB), 1.2 MiB under the restored 24 MiB gate:
- Catalog rows keep their plural forms behind a reference: Text is two words, not room for
four strings, across ~52,000 baked-in rows (-454 KB).
- The browser build compiles with wasm SIMD (apps/figcraft-web/.cargo/config.toml, wasm-opt
--enable-simd), so egui's glyph rasterizer leaves out its scalar SIMD fallback (-1.6 MB).
The plugin workspace is built from the repository root and stays without SIMD.
- Revert the gate raise (cb227c97 ); the hosting guide names the WebAssembly SIMD requirement.
2026-10-29 16:14:40 +07:00
BFlat
1df9190d0c
M3: shadows of images with transparent pixels follow their alpha ( #1289 ) ( #1509 )
...
* M3: shadows of images with transparent pixels follow their alpha (#1289 )
A drop shadow on an image fill was hidden behind the layer's whole box, so a
transparent PNG's shadow only showed outside its bounding box. Fills that
paint their own alpha (patterns; images with transparent pixels or that leave
part of the box empty) now cast and hide drop shadows, and shade inner
shadows, by the layer's pixels, like groups. Opaque pictures keep their
outline. Each image is scanned for transparency once. Canvas, PNG, SVG and PDF.
* M3: the image shadow tests import their names explicitly (#1289 )
2026-10-29 15:43:08 +07:00
BFlat
7ba22fb2b6
M1: Crop image from the Object menu, the right-click menu and the image fill row ( #1464 ) ( #1501 )
...
* M1: Crop image from the Object menu, the right-click menu and the image fill row (#1464 )
* M1: crop mode shows the image dimmed outside the layer and heavier crop marks (#1464 )
* M1: the handle overlay draws gradients and crops in their own helpers (#1464 )
2026-10-29 15:07:21 +07:00
BFlat
fe7b4bac63
Merge pull request #1143 from Guillergood/feat/penpot-import-export
...
M6: import and export Penpot 2.x files offline
2026-10-29 14:20:14 +07:00
BFlat
cabf8641fb
Merge pull request #1409 from avhn/feat/1386-batch-continue
...
M0.9: let batches continue after failed steps (#1386 )
2026-10-29 14:04:46 +07:00
BFlat
99575f215d
Merge pull request #1427 from muamerETS/fix/1385-alt-mid-drag-duplicate
...
M1: Alt pressed during a drag turns the move into a copy (#1385 )
2026-10-29 14:02:06 +07:00
BFlat
68169b8146
Merge pull request #1421 from avhn/feat/1000-variable-props
...
M3: bind fill and stroke variables directly in layer props (#1000 )
2026-10-29 14:01:40 +07:00
BFlat
e1c7879957
Merge pull request #1360 from denisg0mes/place-images-at-own-size
...
M7: place images at their own size, in points for 2x screenshots
2026-10-29 13:52:42 +07:00
BFlat
f2d90da58d
Merge pull request #1389 from sarsonj/fix/sketch-import-rundogo
...
M6: Sketch import (#1021 follow-up): match Sketch's renders rule by rule
2026-10-29 13:52:26 +07:00
BFlat
b625e48381
Merge pull request #858 from yelintong/feat/panel-grid
...
M4: the Design panel's sections on the design's 240 pt grid
2026-10-29 13:52:05 +07:00
BFlat
3a82058083
Merge pull request #1397 from StrajnarFilip/codex/fix-1341-figjam-import
...
M6: Preserve FigJam sticky notes and shapes with text on import
2026-10-29 13:51:49 +07:00
bflatastic
0a6642747a
Merge main into #1143
...
file.open and file.export docs: main's (reload, export options) plus the Penpot format.
2026-10-29 13:51:11 +07:00
bflatastic
e89def2068
Merge main into #1409
2026-10-29 13:46:42 +07:00
bflatastic
c87be091ac
Merge main into #1421
...
apply_order takes #1458 's numbering; a $var wrapper ranks 7, after boundVariables.
2026-10-29 13:46:39 +07:00
bflatastic
7158419698
Merge main into #1427
2026-10-29 13:42:33 +07:00
BFlat
c2a6b71020
Merge pull request #1459 from MortenHusted/fix/system-font-names
...
M7: CSS system font names draw in macOS's System Font
2026-10-29 13:41:53 +07:00
BFlat
c2c720087c
Merge pull request #1408 from avhn/feat/996-node-find
...
M0.9: find layer ids without changing the selection (#996 )
2026-10-29 13:41:43 +07:00
BFlat
3be354d227
Merge pull request #1461 from MortenHusted/fix/open-file-reload
...
M1: opening a file that is already open says when it changed on disk, and can read it again (#997 )
2026-10-29 13:41:21 +07:00
BFlat
f3e7db0b2a
Merge pull request #1460 from MortenHusted/fix/unknown-params
...
M0.9: commands, MCP tools and batch steps refuse names they don't take (#1413 )
2026-10-29 13:40:58 +07:00
bflatastic
08ac26299e
Merge main into #1143
2026-10-29 13:39:41 +07:00
bflatastic
75b4b5a72b
Merge main into #1389
2026-10-29 13:39:38 +07:00
bflatastic
a2fb40e3ef
Merge main into #1397
2026-10-29 13:39:34 +07:00
bflatastic
d4aae905a2
Merge main into #1409
2026-10-29 13:39:30 +07:00
bflatastic
50826b3a32
Merge main into #858
2026-10-29 13:38:45 +07:00
BFlat
9b441ae916
Merge pull request #789 from yelintong/feat/popover
...
M4: a generic popover — a 40-high header, dragged by its header
2026-10-29 13:38:12 +07:00
BFlat
8dc3ab5703
Merge pull request #669 from yelintong/feat/flutter-codegen
...
M7: Flutter code generation
2026-10-29 13:37:49 +07:00
BFlat
299c1d5f59
Merge pull request #1458 from MortenHusted/fix/layout-key-order
...
M2: auto layout settings in one call don't depend on how their keys are spelled
2026-10-29 13:37:32 +07:00
bflatastic
0bac4f5083
Merge main into #1360
2026-10-29 13:36:26 +07:00
BFlat
611ff941f0
Merge pull request #634 from Skyfuller1303/feat/fig-vector-region-fills
...
M4: preserve vector region fills across .fig import and native rendering
2026-10-29 13:35:07 +07:00
BFlat
1497d8ddc4
Merge pull request #1210 from yelintong/feat/nav-toolbar
...
ui: rebuild the toolbar pill on a 32 pt grid, without the Resources button
2026-10-29 13:34:02 +07:00
bflatastic
4b743fee95
#1143 : split add_layer (an importer context instead of 19 arguments and its allow), import_themed_tokens and the exporter's shape for cognitive_complexity
2026-10-29 12:54:49 +07:00
bflatastic
1e22268602
Merge main into #1143
2026-10-29 12:44:42 +07:00
bflatastic
67c69f86b6
#634 : drop the removed import warning from the Arabic catalog
2026-10-29 12:40:47 +07:00
bflatastic
2a63418d57
#634 : region fills drawn by their own helper, and the long region-paint test split by case, for cognitive_complexity
2026-10-29 12:28:47 +07:00
bflatastic
789fa33444
Merge main into #634
2026-10-29 12:25:06 +07:00
bflatastic
f6407b1ba0
Merge main into #1389
2026-10-29 12:24:46 +07:00
bflatastic
65d6424bb6
Merge main into #1397
2026-10-29 12:24:45 +07:00
bflatastic
dde58e35b9
Merge main into #1427
...
# Conflicts:
# docs/roadmap.md
2026-10-29 12:24:43 +07:00
bflatastic
fc6ea73154
Merge main into #1421
...
# Conflicts:
# crates/engine/src/cmd/props.rs
# docs/roadmap.md
2026-10-29 12:24:32 +07:00
bflatastic
c6c11471db
Merge main into #1408
...
# Conflicts:
# crates/engine/src/cmd/edit.rs
# docs/roadmap.md
2026-10-29 12:23:48 +07:00
bflatastic
c5ba6dd2e8
Merge main into #1409
...
# Conflicts:
# crates/engine/src/session/undo.rs
# docs/roadmap.md
2026-10-29 12:23:11 +07:00
bflatastic
f6df0b4513
Merge main into #1459
2026-10-29 12:22:30 +07:00
bflatastic
d1e96ea706
Merge main into #1461
2026-10-29 12:22:30 +07:00
bflatastic
ee12a51045
Merge main into #1458
2026-10-29 12:22:29 +07:00
bflatastic
a51e815073
Merge main into #1460
2026-10-29 12:22:28 +07:00
bflatastic
26118d212b
#858 : the stroke row test from #1452 checks the grid's 8 pt right margin
2026-10-29 12:17:12 +07:00
bflatastic
7c0c5fd9d4
#1389 : image override tests use PNGs the importer can decode (an undecodable image now maps to the shared placeholder)
2026-10-29 12:16:52 +07:00
bflatastic
305a57a96f
#858 : section titles stay semibold; ui-parity rows say so; ROADMAP revision row
2026-10-29 12:12:02 +07:00
bflatastic
ee4c7b0d98
Merge main into #858
2026-10-29 12:11:33 +07:00