vectorcraft/crates
bflatastic cea2ee6a54 Type: font menu previews end safely, rows and samples cost less per frame (review of #339)
- A preview whose menu has gone (the panel isn't drawn: text deselected,
  panel closed) or is closing (Escape, a press outside the menu) is undone
  at the start of the frame, before the canvas sees the input: a canvas
  drag no longer runs inside the preview's interaction and gets rolled
  back with it. The menu also ends the preview in the frame it closes.
- The list fits the popup (it was taller than the popup, which then
  scrolled too), so the current family is centred in view on opening;
  ↑/↓ scroll only as far as needed.
- Type › Font (in-window menu bar): each item keeps room for its sample
  after the name, so long family names no longer run under it.
- Rows are listed again only when the query, filters, expanded families,
  favourites or font list change, not every frame.
- Samples: one budget per frame across every menu (Type › Font gave each
  item its own), at most 8 rendering at once, the worker asks for a
  repaint when it is done instead of polling, the cache holds 512, and
  one function draws a sample for both menus.
- Font menus use menu_family_list (the hidden-family rule lives there);
  FontClass::label is gone (the menu's translated labels are the only
  ones).
- Tests: a preview left by a menu that is gone is undone; a press
  outside the open menu ends the preview in that frame.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:24:44 +07:00
..
brush M4.39: SVG symbols as <symbol>/<use>, hidden layers on Save, Dublin Core metadata 2026-10-05 09:03:52 +07:00
cad Fix #177: DXF Fit and Aligned text span their two points 2026-10-07 02:14:39 +07:00
color M4.98: freeform gradients export to SVG as images clipped to their shapes 2026-10-05 13:25:16 +07:00
doc Merge pull request #376 from Haven-King/feat/artboard-snapping 2026-10-07 17:50:15 -04:00
effects M8.14: Type and symbols in perspective are really projected and stay editable; attachments survive copies 2026-10-06 12:10:00 +07:00
engine Merge pull request #376 from Haven-King/feat/artboard-snapping 2026-10-07 17:50:15 -04:00
eps EPS import: EPS files from the reference app open as vectors 2026-10-07 10:06:56 -04:00
format M4.38: native and .ai save options: each artboard to its own file, linked files, ICC profiles, PDF content 2026-10-05 15:24:19 +07:00
geom Path: Remove Anchor Points is Object › Path's one item and shares the Delete Anchor Point refit (review of #241) 2026-10-08 03:27:07 +07:00
mcp MCP: a server sends log records only when its own client asked for them 2026-10-07 17:15:56 -04:00
metafile M8.16: Envelopes bend images, symbols, gradients, patterns and appearance; warps keep their frame 2026-10-06 12:01:47 +07:00
pathops Path: Remove Anchor Points is Object › Path's one item and shares the Delete Anchor Point refit (review of #241) 2026-10-08 03:27:07 +07:00
pdf PDF import (#337 follow-up): keep missing-font text live, decide each font's face once, Kangxi fix for CID text only 2026-10-07 17:47:25 -04:00
plugins Fix #121: sandboxed WebAssembly plug-ins: object filters and live effects 2026-10-06 00:19:41 +07:00
render Layers: sublayers are layers, not objects, and every row has a command 2026-10-07 22:29:15 +07:00
svg Fix #296: variable fonts list and draw every named style 2026-10-07 21:01:26 +07:00
testkit M4.62: PDF/.ai layers from optional content: named layers with visibility, print state and lock; art that is off as hidden layers 2026-10-05 13:05:12 +07:00
text Type: font menu previews end safely, rows and samples cost less per frame (review of #339) 2026-10-08 05:24:44 +07:00
tools Merge pull request #376 from Haven-King/feat/artboard-snapping 2026-10-07 17:50:15 -04:00
trace Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
ui-egui Type: font menu previews end safely, rows and samples cost less per frame (review of #339) 2026-10-08 05:24:44 +07:00