class_name runs layer names through deunicode (new dependency: pure Rust
tables, zero deps, BSD-3-Clause, the slug crate's base) before its ASCII
filter, so Korean, Cyrillic, Latin-diacritic and CJK names become
readable ASCII classes in HTML/CSS/React/Leptos output, component roots
and data-* variant attributes: 로그인 화면 → rogeuin-hwamyeon, кнопка →
knopka, über → uber, 按钮 → an-niu (before, every one came out layer-,
layer--2, ...). Symbols-only names take the node's kind (.text, .frame)
instead of layer-, the 40-character cut lands on a word boundary, and a
leading digit keeps the layer- prefix. SwiftUI/Compose type names are
unchanged (their own sanitizer); ASCII-only names are byte-identical.
html_codegen_tests updated and extended.
The paragraph above the ROADMAP stage line moves into the revision history; docs/server-memory-retention.md
is folded into the compaction bullet of docs/server.md.
The PNG row of docs/file-format-parity.md listed the export settings as
"contents only" and "include bounding box (the layer's own box)". Since
#1307 the Export section labels the first option Ignore overlapping
layers and shows Include bounding box for text layers. The row now uses
those names, says that ignore overlapping layers is on by default, and
gives include bounding box for text layers, as the help page lists
them. The status line gets the new date and topic, and the revision
history gets a row; the percentages and hours are unchanged.
* E21: require release font coverage and stabilize capture deadline tests
* E21: separate capture, IME and field-save regression phases
* M0: correct the migration qualification reference
* M-egui037: document input lifecycle and UI regression contracts
* M0: correct egui 0.37 status docs and stabilize join-code regression
---------
Co-authored-by: Dylan M. Taylor <dylan@dylanmtaylor.com>
Co-authored-by: Codebuff <noreply@codebuff.com>
A .sketch file opened from disk joins the recent files, where it had no
picture and a generic icon. FileKind::Sketch reads the preview.png Sketch
saves under previews/ (within the thumbnail caps) and gets the design-file
mark, like .fig. Test: sketch_files_show_their_preview_png.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Linux: the shared-mime-info package declares application/x-sketch (a zip,
*.sketch) and the desktop entry and AppStream metadata list it. Windows:
the installer registers a Figcraft.Sketch ProgId under .sketch's
OpenWithProgids and .sketch in figcraft.exe's SupportedTypes, never as
the default. Both hand the path to file.open, as macOS does.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Info.plist declares Sketch's public type identifier (imported, so it is
known on a Mac without Sketch) and lists it as an Alternate, Viewer
document type: Sketch stays the default, FigCraft is offered. The app
already opened .sketch from an open-documents Apple event via file.open.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>