Commit Graph
2691 Commits
Author SHA1 Message Date
bflatastic 5376e4d25d #1009: explicit imports 2026-10-24 13:01:47 +07:00
bflatastic bc0f61eeee #1004: a size given with a new path still fixes its auto layout axis 2026-10-24 13:01:46 +07:00
bflatastic b00d12b623 #915: get_node refuses a layer too large for maxBytes on its own; a window only an offset made says it is paging 2026-10-24 13:01:33 +07:00
bflatastic b6f5c29d19 #915: MCP get_node pages past a child too large for the limit and keeps the truncation marker 2026-10-24 12:58:10 +07:00
bflatastic 91af3782e0 #915: the inspect response-limit tests join the MCP crate's one test binary (tests/it, as on main since #1208) 2026-10-24 12:57:58 +07:00
bflatastic 647e5f17d9 #1011: single-call Tailwind variables, rem only where it converts 2026-10-24 12:57:52 +07:00
bflatastic 9361b230b5 #1011: explicit imports, a method reference 2026-10-24 12:57:43 +07:00
bflatastic e1117d2a3c #1008: token_roles names its imports 2026-10-24 12:57:42 +07:00
bflatastic 6fd4194240 Merge main into #681
# Conflicts:
#	contributors/people.toml
#	crates/ui-egui/locales/fr.toml
2026-10-24 12:54:57 +07:00
bflatastic 565e0e8266 Merge main into #1217 2026-10-24 12:54:49 +07:00
bflatastic 7a7d71f904 Merge main into #1216 2026-10-24 12:54:42 +07:00
bflatastic 3e99f489e1 Merge main into #1026
# Conflicts:
#	docs/localization-parity.md
#	docs/translating.md
2026-10-24 12:54:30 +07:00
bflatastic 0c549a4147 Merge main into #1224 2026-10-24 12:54:27 +07:00
bflatastic c31f886c05 Merge main into #1215 2026-10-24 12:54:15 +07:00
bflatastic 82568faf3b Merge main into #1010 2026-10-24 12:54:07 +07:00
bflatastic 48a5e03348 Merge main into #954
# Conflicts:
#	ROADMAP.md
2026-10-24 12:54:04 +07:00
bflatastic a3509895d4 Merge main into #989 2026-10-24 12:54:02 +07:00
bflatastic 61855d362b Merge main into #951 2026-10-24 12:54:01 +07:00
bflatastic a0bd65f7b4 Merge main into #1009 2026-10-24 12:53:58 +07:00
bflatastic 13eba6a3ea Merge main into #1003
# Conflicts:
#	crates/engine/src/lib.rs
2026-10-24 12:53:57 +07:00
bflatastic ede3c634ad Merge main into #1004 2026-10-24 12:53:55 +07:00
bflatastic 6a172e4e52 Merge main into #1005 2026-10-24 12:53:53 +07:00
bflatastic 1b41d129e6 Merge main into #915 2026-10-24 12:53:52 +07:00
bflatastic 7cd4c5216d Merge main into #1006 2026-10-24 12:53:50 +07:00
bflatastic be8991d6a8 Merge main into #1011 2026-10-24 12:53:49 +07:00
bflatastic ce32e07fe0 Merge main into #1008 2026-10-24 12:53:48 +07:00
Salah1StandClaude Opus 5.5 84ca850d5f M4: justified text doesn't widen U+200B
Thai, Lao, Khmer and Burmese are written without spaces between words.
Tools that know the words insert U+200B ZERO WIDTH SPACE so lines can
break between them, and line breaking already treats it as a space. But
justification counted every space-class char as a gap, so a justified
paragraph got extra room at every U+200B: visible gaps between all its
words, which is not how these scripts are justified.

Item::stretches() (a space other than U+200B) is used for the justify
gap count, the trailing width and the pen advance. Line breaking is
unchanged. Test: on a justified line of words joined by U+200B and one
real space, the extra room goes to the real space only; with no real
space the line is laid out as if left-aligned.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 12:15:57 +07:00
SusieeTheFemboyandGPT-6 Luna 8989e7b253 Text: Backspace removes Thai and other marks one at a time (#1220)
Co-Authored-By: GPT-6 Luna <noreply@openai.com>
2026-10-24 06:27:49 +02:00
BFlat 3476f4b1e7 Merge pull request #1244 from storytold/batch/r2-1
Community batch r2-1: 63 reviewed PRs
2026-10-24 11:15:53 +07:00
NetterSilverandClaude Sonnet 5.5 8b94da604a fix: use apostrophe-aware title case on the canvas text path
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 05:52:05 +02:00
bflatastic 9f60f5470d Batch r2-1 review: status lines and rows in ROADMAP, prototyping and UI parity 2026-10-24 10:31:31 +07:00
bflatastic 8af2efd1b9 Batch r2-1 review: U+2007 glues beside ideographs too 2026-10-24 10:31:29 +07:00
bflatastic d0db758684 Batch r2-1 review: SVG ids unique as written; a filled open curve closes for its fill 2026-10-24 10:31:26 +07:00
bflatastic 31d4c6eba4 Batch r2-1 review: per-side strokes follow smoothed corners for every alignment 2026-10-24 10:31:24 +07:00
bflatastic c45c693278 Batch r2-1 review: a report reason blank after cleaning is refused 2026-10-24 10:31:22 +07:00
bflatastic d114c6ed92 Batch r2-1 review: CLI export file names stay within 200 bytes 2026-10-24 10:31:19 +07:00
bflatastic 46b02d44e6 Batch r2-1 review: paste_nodes refuses two nodes mapped to one new id 2026-10-24 10:31:17 +07:00
bflatastic 5d7eb04d44 Batch r2-1 review: the hello and close-drain deadlines bound every read
Duplex::read_until gives a reader a deadline: each socket read waits at most what's left of it.
The server reads the handshake and hello under the hello deadline, so a hello trickled in
fragments can't outlast it; manage's close drains under CLOSE_DRAIN, so a silent server can't
hold it for the idle timeout.
2026-10-24 10:31:15 +07:00
bflatastic aac76ebeca Batch r2-1 review: Save on close waits a frame for a panel field to commit
A click on Save takes the keyboard from a focused panel field, which commits next frame: the files
save then, as the field-save shortcut does. OsStr::to_str as a method reference (SonarCloud).
2026-10-24 10:31:13 +07:00
bflatastic 3334ec6c16 Batch r2-1 review: vector_up in smaller helpers (SonarCloud cognitive complexity) 2026-10-24 10:31:10 +07:00
bflatastic 8dcba0684b Batch r2-1 review: .fig export grid sizing in helpers; instance layers clear inherited track sizes
auto_layout's grid branch moves to grid_layout and grid_sizing (SonarCloud cognitive complexity).
unset() clears gridColumnsSizing and gridRowsSizing, so an instance layer with equal tracks no
longer reads back its main layer's track sizes.
2026-10-24 10:31:08 +07:00
bflatastic bd80829a27 Batch r2-1 review: a paint keeps its own opacity through unbind and rebind
color_alpha is the part of a solid paint's opacity that is its typed colour's alpha, not a flag:
binding a colour variable takes only that part out, unbinding puts the variable's alpha back in,
and REST import records it. A 50% paint bound to a 50% variable stays at 25% bound or not.
2026-10-24 10:30:49 +07:00
a1a842af9a chore: resolve SonarCloud maintainability issues (#1241)
* chore: resolve SonarCloud maintainability issues

- Define SHA256_FMT constant in packaging script to remove duplicated string literal (shelldre:S1192)
- Remove redundant 'static lifetime annotations from const items (rust:S8863)
- Replace closures with method and function pointers (rust:S1612)
- Extract helper functions in synthetic document generation, bezier polyline flattening, and component restoration to reduce cognitive complexity (rust:S3776)

* fix(packaging): use verify_sha256 helper function to avoid shellcheck SC2059

* fix(engine): remove duplicate closing brace in large_document

* fix(engine): take &mut Document in restore_id_map; keep 'static on associated consts

restore_id_map allocates ids, so it needs a mutable document. Elided
lifetimes in associated consts trip elided_lifetimes_in_associated_constant,
so those annotations are restored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Assign positional parameters to locals in sha256 verification

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Dylan Taylor <dylan@craftmaker.dev>
2026-10-23 23:28:13 -04:00
Logan Jennings 3c2da837f0 engine: stash only closed tabs for group rollback instead of cloning every tab 2026-10-23 22:18:34 -05:00
bflatastic 3b39f7cb3b #698: installing an API 4 plugin from a directory says it may offer files to save; the save strings in every catalog 2026-10-24 10:18:12 +07:00
NetterSilverandClaude Sonnet 5.5 8c08035b89 fix: write non-finite numbers as 0 instead of refusing to save
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 05:13:06 +02:00
bflatastic 551d2b9db6 #698: with plugin API 4 here, "4.0.0" is a valid api version string; the refused one is 5.0.0 2026-10-24 10:12:40 +07:00
bflatastic b35a4e85ab Merge main and the community batch into #698
# Conflicts:
#	README.md
#	crates/engine/src/cmd/file.rs
#	crates/plugin/src/manifest.rs
2026-10-24 10:12:35 +07:00
bflatastic 4babe5a04a #1209: everything that opens or closes the left panel does so on a phone too
UiState::open_left_panel / close_left_panel set the narrow window's panel along with left_collapsed:
the Assets panel (Shift+I), libraries, file and layer rename, page select, version history, the rail
tabs, the panel's Collapse button and panel.leftSidebar (which toggles what a narrow window shows).
Test: view.assets opens the left panel in a phone-sized window.
2026-10-24 10:11:02 +07:00
bflatastic 4667a7dbd2 #966: drop the five [menu] wordings that read like their command ([commands] covers them) 2026-10-24 10:10:53 +07:00