openpencil/packages
sadkodev e91ea4b061
feat(keyboard): add Figma-style opacity shortcuts 1-9/0
Add opacity keyboard shortcuts matching Figma: pressing Digit1-Digit9
sets the selected layers to 10%-90% opacity, and Digit0 sets 100%.

- Add 'selection.setOpacity' EditorCommandId with registry metadata
  (shortcut display '1-9, 0') so it appears in the command cheatsheet
- Implement the command in selection.ts using editor.undo.runBatch +
  updateNodeWithUndo, following the toggleVisibility/setBlendMode pattern
- Add setOpacityTarget closure in useEditorCommands so the external
  keyboard handler can inject the digit value before runCommand
- Add canSetOpacity capability (enabled when there is a selection)
- Add bindOpacityKeys handler in src/app/shell/keyboard/opacity.ts,
  following the nudging.ts external-handler pattern since the opacity
  value comes from event.code and cannot be expressed as a fixed
  keybinding in the registry
- Guard against text editing, number field focus, and modifier keys
- Add i18n label 'setOpacity' across all 8 locales
- Add unit tests for single/multi selection, undo batch, and no-op
2026-07-16 22:12:50 -04:00
..
cli fix(dom-css): compile standalone HTML exports 2026-07-04 19:37:58 +03:00
core refactor(core): split web font asset export 2026-07-05 11:01:18 +03:00
demos
docs feat(app): migrate position and appearance panels 2026-07-13 14:47:48 +03:00
dom-css refactor(core): split web font asset export 2026-07-05 11:01:18 +03:00
fig chore(tools): harden package and dependency checks 2026-07-01 12:56:45 +03:00
kiwi chore(tools): harden package and dependency checks 2026-07-01 12:56:45 +03:00
mcp fix(mcp): target live automation by document and page 2026-07-03 17:05:04 +03:00
pen chore(tools): harden package and dependency checks 2026-07-01 12:56:45 +03:00
scene-graph fix(text): load CJK fallback only when needed 2026-07-01 22:06:19 +03:00
vue feat(keyboard): add Figma-style opacity shortcuts 1-9/0 2026-07-16 22:12:50 -04:00