BFlat
d4e6ad5d81
M12: the connector tool previews the connector it will make, ends snapping to attach points ( #1387 ) ( #1526 )
2026-10-29 18:29:48 +07:00
BFlat
07681afebe
M6: .fig import keeps the file's saved line breaks while the text is unedited ( #1236 ) ( #1519 )
...
* M6: .fig import keeps the file's saved line breaks while the text and its box are unedited (#1236 )
The line breaker already keeps trailing spaces and the last glyph's letter spacing out of the fit test and doesn't round box widths; imported text wrapped a word early or mid-word because local fonts measure slightly differently from the file's. The import keeps the saved line starts (derivedTextData) on the text with the box width and a stable key of its layout content; layout follows them while both match and no line overflows its box by more than 3% (+1 px).
* M6: local check that imported text wraps at the line breaks its file saved (#1236 )
Runs only when FIGCRAFT_FIG_SAMPLES names a folder of .fig files: each fixed-width text with saved breaks wraps there once imported, or falls back by the overflow slack; prints the counts.
2026-10-29 17:04:29 +07:00
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
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
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
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
d4aae905a2
Merge main into #1409
2026-10-29 13:39:30 +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
bflatastic
1e22268602
Merge main into #1143
2026-10-29 12:44:42 +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
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
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
44a9b10e46
Merge main into #1389
...
# Conflicts:
# crates/engine/src/cmd/file.rs
# docs/file-format-parity.md
2026-10-29 12:08:39 +07:00
bflatastic
ce14b431da
#669 : explicit imports in flutter.rs, a capped layer's name stays on its comment line, the Flutter variant asserts in their own test, the Arabic catalog's key
2026-10-29 11:59:14 +07:00
bflatastic
2f3dc8cccd
Merge main into #1427
...
# Conflicts:
# docs/roadmap.md
2026-10-29 11:54:42 +07:00
bflatastic
a81efe5466
Merge main into #669
2026-10-29 11:52:03 +07:00
bflatastic
9f5178f53a
Merge main into #1421
...
# Conflicts:
# crates/engine/src/cmd/props.rs
# crates/engine/src/selection/selection_colors.rs
# docs/roadmap.md
2026-10-29 11:50:45 +07:00
bflatastic
a48f43cd34
#1408 : import opt_id for node.find now that edit.rs names its imports
2026-10-29 11:49:37 +07:00
BFlat
1a755ccb0c
Merge pull request #1425 from Silvertree2010/fix/h3041-node-set-opacity-1-gives-full-op
...
Treat a % suffix on node.set opacity as a percentage
2026-10-29 11:41:54 +07:00
BFlat
27c3232930
Merge pull request #1426 from Silvertree2010/fix/h3039-color-of-silently-drops-non-nume
...
Reject colour arrays containing non-numeric entries in color_of
2026-10-29 11:41:48 +07:00
bflatastic
49a41cddd4
Merge main into #1408
...
# Conflicts:
# docs/roadmap.md
2026-10-29 11:40:48 +07:00
bflatastic
0265f066b3
#1409 : split a long batch test for the cognitive complexity lint
2026-10-29 11:40:21 +07:00
BFlat
18abd3ab48
Merge pull request #1467 from Silvertree2010/fix/h3521-node-set-paddinghorizontal-paddi
...
Reject non-numeric paddingHorizontal/paddingVertical in node.set
2026-10-29 11:38:41 +07:00
BFlat
c3f8790f0b
Merge pull request #1469 from Silvertree2010/fix/h3578-page-duplicate-accepts-a-non-pag
...
Reject non-page ids in page.duplicate
2026-10-29 11:38:31 +07:00
BFlat
f90a7c5e22
Merge pull request #1419 from avhn/fix/1410-batch-undo-rollback
...
M8: keep undo entries after a failed batch undoes an earlier edit (#1410 )
2026-10-29 11:38:24 +07:00
BFlat
bc1319ccf0
Merge pull request #1432 from Zaxaerith/fix/1428-set-as-thumbnail
...
fix(engine): make Set as thumbnail affect saved files (#1428 )
2026-10-29 11:38:08 +07:00
BFlat
c9aa95e437
Merge pull request #1479 from Silvertree2010/fix/1477-auto-width-text-aligned-right-ex
...
Keep the right edge of right-aligned auto-width text as it grows
2026-10-29 11:38:01 +07:00
BFlat
80ffd8308c
Merge pull request #1405 from Silvertree2010/fix/h2933-cornerradius-padding-strokesides
...
Reject cornerRadius/padding/strokeSides arrays with non-numeric entries
2026-10-29 11:35:03 +07:00