Commit Graph
2220 Commits
Author SHA1 Message Date
BFlat 05f811105c M1: start on other graphics when the window's first ones fail (#965, #1438) (#1557)
Direct3D 12 compiles with FXC and no device compiles wgpu's indirect-call
validation shaders, the two causes of "Parent device is lost" at start.
When the graphics still fail before the first frame, the app starts again
with the next of a fixed list of attempts (Windows: Vulkan, OpenGL; Linux
and FreeBSD: OpenGL; then lower requirements on the power-saving GPU), and
the last failure's message names what was tried.
2026-10-30 03:04:11 +07:00
bflatastic 1c8b937f08 Merge main into #1548 2026-10-30 02:04:39 +07:00
BFlat 132abcc672 M8: show in the app where an attached AI agent is working (#1416) (#1556)
Session::execute_as records the agent's presence: its name, the file, and the innermost layers its last edit changed or the selection it set, for 8 seconds after its last command. The app shows it as an avatar in the people row and an outline with a name tag on the canvas, in its own colour. Display only: no undo step, never saved, never synced to a live session.
2026-10-30 02:03:27 +07:00
bflatastic da3c8903ce Merge main into #1548 2026-10-30 01:45:39 +07:00
BFlat 42e1086a31 M5: drag a manual overlay into place on the canvas (#405) (#1555)
While the interaction editor has an Open overlay action with Manual position open, the overlay frame shows dimmed and outlined where it opens, from the top-left of the layer that opens it. Dragging it sets the action's offset through proto.action.set in one gesture: the X/Y fields follow live and the drag is one undo step.
2026-10-30 01:44:17 +07:00
bflatastic a9d197f17e Merge main into #1548 2026-10-30 01:29:43 +07:00
BFlat e0abd55d69 M9: one clear, persistent display name, renamed live in sessions (#1380) (#1554)
* M9: one name for comments and live sessions, shown in the Join dialog, kept in the browser, renamed live (#1380)

* M9: a reconnecting session's reset is its own helper (#1380)
2026-10-30 01:27:52 +07:00
bflatastic fef5898616 Merge main into #1548 2026-10-30 01:14:55 +07:00
BFlat 0a83cd9bdb Merge pull request #1516 from AganzeFelicite/fix/vector-marquee-anywhere-1508
M4: a drag anywhere in vector edit mode draws a marquee (#1508)
2026-10-30 01:12:34 +07:00
BFlat 3ac8467c54 Merge pull request #1547 from liwaichung-source/main
board grid settings: dots, lines, graph paper or none
2026-10-30 01:01:35 +07:00
bflatastic d7269c63d5 Merge main into #1516 2026-10-30 00:56:23 +07:00
bflatastic 719b78fbd9 Merge main into #1548 2026-10-30 00:54:38 +07:00
BFlat af2df345bc M9: the Join dialog shows a join until its file is ready, with Cancel and Try again (#1381) (#1553) 2026-10-30 00:51:46 +07:00
bflatastic 4ec382ea86 Merge main into #1547 2026-10-30 00:32:08 +07:00
bflatastic d60d973459 Merge main into #1516 2026-10-30 00:32:07 +07:00
bflatastic ffbb33973c Merge main into #1548 2026-10-30 00:31:50 +07:00
bflatastic 84f1419fbb Merge main into #1544 2026-10-30 00:26:55 +07:00
BFlat b85f38f30c Merge pull request #1521 from Carbocode/feat/corner-smoothing-scrub
M1: add a draggable corner smoothing icon
2026-10-30 00:24:22 +07:00
BFlat 8d884b005a Merge pull request #1496 from samhyun/perf/web-band-render
M8: the browser draws a zoom's full render a band at a time
2026-10-30 00:23:01 +07:00
bflatastic 1917ab80a8 Merge main into #1544 2026-10-30 00:22:26 +07:00
BFlat f6ccef0c5d M9: a per-address budget for server admin requests, and join codes found by hash (#1075) (#1552)
* M9: a per-address budget for server admin requests, and join codes found by hash (#1075)

* M9: the server tests share one snapshot and address helper (#1075)
2026-10-30 00:20:57 +07:00
BFlat 3e16119710 Merge pull request #1507 from Silvertree2010/fix/h3859-export-size-label-rounds-the-sca
Keep full precision in export size labels so they parse back
2026-10-30 00:19:59 +07:00
bflatastic 1562b4bcd3 Merge main into #1548 2026-10-30 00:19:46 +07:00
BFlat 4ed9981504 Merge pull request #1539 from Silvertree2010/fix/h3971-css-variable-export-leaves-carri
Neutralise CR and form feed in CSS variable export strings
2026-10-30 00:17:28 +07:00
BFlat ae0deb44b2 Merge pull request #1545 from Silvertree2010/fix/h3982-node-set-silently-turns-off-isma
Reject non-boolean values for node.set flag properties
2026-10-30 00:15:01 +07:00
bflatastic b00cccb114 #1547: name the grid styles in a table, keeping the Preferences section's complexity low 2026-10-30 00:13:46 +07:00
BFlat 2f7d22e84a Merge pull request #1546 from Carbocode/feat/group-auto-layout-button
M2: add auto layout from groups in the sidebar and convert them in place
2026-10-30 00:12:35 +07:00
bflatastic 44a7c3c16c Merge main into #1521 2026-10-30 00:11:56 +07:00
BFlat 40c9e56876 Merge pull request #1530 from Silvertree2010/fix/1514-bug-report-figcraft-a-translucen
Fix double alpha when binding a translucent variable to an empty fill
2026-10-30 00:10:19 +07:00
BFlat a82adf4657 Merge pull request #1542 from Silvertree2010/fix/1513-bug-report-figcraft-a-variable-n
Resolve stored variable ids by exact id, not by variable name
2026-10-30 00:07:48 +07:00
bflatastic 9d86403f3a #1547: drop the board grid entry from the right-click menu 2026-10-30 00:06:50 +07:00
bflatastic 59af2bc44a #1547: keep the default board dots' size, and test the Preferences grid section 2026-10-30 00:06:49 +07:00
BFlat a51a60650d Merge pull request #1498 from ahmed-226/feat/guide-snapping
M1: guides snap to layer edges and centres when dragged
2026-10-30 00:05:17 +07:00
bflatastic 864acc0425 Merge main into #1547 2026-10-30 00:03:13 +07:00
bflatastic 86ab39b5cc Merge main into #1516 2026-10-29 23:58:44 +07:00
BFlat 2e3d9b6f07 M8: SVG pattern tiles drawn once per scale, within the layer budget (#1080) (#1551) 2026-10-29 23:57:49 +07:00
bflatastic c13c8d5e6a Merge main into #1498 2026-10-29 23:28:32 +07:00
bflatastic 890116d55e Merge main into #1496 2026-10-29 23:25:44 +07:00
bflatastic f2b1b8eadd Merge main into #1544 2026-10-29 23:25:35 +07:00
bflatastic a0fb4c3992 Merge main into #1546 2026-10-29 23:25:32 +07:00
bflatastic 187d091f7b Merge main into #1507 2026-10-29 23:23:12 +07:00
bflatastic 49f6e92758 Merge main into #1539 2026-10-29 23:23:07 +07:00
bflatastic 42844f13c6 Merge main into #1545 2026-10-29 23:23:04 +07:00
bflatastic 463045d2fa Merge main into #1530 2026-10-29 23:23:01 +07:00
bflatastic 59f000ee59 Merge main into #1542 2026-10-29 23:22:57 +07:00
bflatastic d92ec78d7b Merge main into #1521 2026-10-29 23:22:45 +07:00
Filip StrajnarandClaude Opus 5.5 411bce2f81 M4: Thai, Lao, Khmer and Burmese lines break between words (#1219)
These scripts write no spaces between words, so a paragraph was one word
that only broke where it overflowed, mid-word (พัฒนาซอ|ฟต์แวร์).
breaks::word_breaks finds the word starts inside each run of them with
ICU4X's line segmenter (icu_segmenter 2.3, matching the icu_* crates in
the lock), and break_lines may break there when the next glyph starts a
new cluster. Where a run meets other text the UAX #14 subset decides as
before; a word wider than its box keeps #1400's emergency break.

Desktop uses the segmenter's dictionaries; the browser uses its LSTM
models (about 0.39 MB of wasm instead of 1.86 MB, which the 24 MiB web
gate can't take). ICU4X breaks between stray marks are filtered through
safe_emergency_break, so junk input never splits a cluster.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LvG6DyK6i9Nvvsp3tp77UP
2026-10-29 16:44:14 +01:00
BFlat f702105ed0 M4: a letter and its combining marks shape with one font (#1478) (#1532)
* M4: a letter and its combining marks shape with one font (#1478)

* M4: the stacked-mark test checks positions only in fonts whose anchors stack them (#1478)

* M4: the cluster face rule is tested with stand-in faces, so it runs without system fonts (#1478)

* M4: the #1478 tests use stand-in faces only, so they run everywhere
2026-10-29 22:25:40 +07:00
BFlat 3af5d8a534 M9: comment.list reports the names each message mentions (#1415) (#1534)
Every message (the first and each reply) gets `mentions`: {name, known,
you} for each @mention, by the rule the thread view highlights with
(figcraft_doc::mentions, now shared with mention_ranges). Names resolve
against the file's people and you; unknown names are kept with
known: false; a@b.com mentions nobody.
2026-10-29 22:07:06 +07:00
liwaichung-source 366b981aa7 Merge branch 'storytold:main' into main 2026-10-29 22:53:38 +08:00