What's Changed
- M7: pixel-exact icon set by @bflatastic in #61
- M5: prototype device rotation, presentation scaling, scroll momentum, mode picker by @bflatastic in #62
- M4: variable width strokes by @bflatastic in #58
- M8: 50k-layer zoomed-out renders and faster save/load by @bflatastic in #63
- M4: vector edit transform box and point snapping by @bflatastic in #64
- M6: PDF export depth and REST conditional and variable-mode actions by @bflatastic in #65
- M5: responsive presentation, device colours and custom sizes, library modes by @bflatastic in #66
- M7: ROADMAP refresh after the day-2 afternoon batch by @bflatastic in #67
- M1: 2x pixel preview by @bflatastic in #68
- M3: effects fidelity: backdrop blur in clipped frames, exact shadow spread, glass, noise and texture by @bflatastic in #69
- M1: frame guides by @bflatastic in #70
- M1: keyboard navigation in the layers panel by @bflatastic in #71
- M3: text depth: RTL names, text style browser, axis previews by @bflatastic in #72
- M8: fix a flaky render test (shared image ids) by @bflatastic in #75
- M3: variable bindings follow paint and effect lists by @bflatastic in #73
- M7: comments polish by @bflatastic in #74
- M3: line-end previews in the stroke menus by @bflatastic in #76
- M1: measuring, scale tool handles and selection depth by @bflatastic in #77
- M7: roadmap refresh after #68–#77 by @bflatastic in #79
- M2: auto layout keyboard reordering and section hide contents by @bflatastic in #78
- M6: Dev Mode component code, annotations and ready for dev by @bflatastic in #80
- M3: reorder paints, effects and layout grids; grid and instance property variable bindings by @bflatastic in #81
- M5: build conditionals in the interaction editor; hotspot hints; inspect in the presenter by @bflatastic in #82
- M7: popup menus sized to their content by @bflatastic in #83
- M4: arc handles on the canvas by @bflatastic in #84
- M1: Tab renames the next layer by @bflatastic in #85
- M3: progressive blur, inner shadows under strokes, noise and texture in SVG by @bflatastic in #86
- M1: rulers and guides on rotated frames by @bflatastic in #87
- M7: keyboard shortcut parity by @bflatastic in #88
- M8: retained canvas correctness by @bflatastic in #89
- M6: SVG import fidelity by @bflatastic in #90
- M8: the canvas drag test waits for renders instead of fixed sleeps by @bflatastic in #93
- M6: PDF print options (bleed, marks, CMYK) by @bflatastic in #92
- M3: components at scale; Alt-drag to swap instances by @bflatastic in #91
- M4: rotated frame labels; right-to-left list markers by @bflatastic in #95
- M5: drag to reorder prototype actions; variable mode lookups in expressions by @bflatastic in #94
- M8: accessibility: screen reader names, keyboard navigation mode by @bflatastic in #96
- M6: Dev Mode compare changes, focus view, annotation categories by @bflatastic in #97
- M9: real-time collaboration protocol (design) by @bflatastic in #98
- M8: no redraws while idle by @bflatastic in #99
- M7: WASM plugins by @bflatastic in #101
- M7: docs refresh after #101 by @bflatastic in #102
- M9: collaboration core: ids, change sets, server ordering, convergence by @bflatastic in #103
- Progress docs: full re-measure against Figma 126.10.7 (alpha, ~46% ready) by @echelon in #100
- M9: live sessions: host from the app, invite links, live cursors and presence by @bflatastic in #104
- M9: collaboration: per-user undo, rejections, reconnect by @bflatastic in #105
- Release prep: 0.3.0 and linux-riscv64 release job by @echelon in #108
- Web: size-optimised wasm profile (27.0 → 18.1 MB); bump to 0.3.1 by @echelon in #109
New Contributors
Full Changelog: v0.2.0...v0.3.1