Files
ketle-manandClaude Sonnet 4.6 0ee830da37 feat: clipping mask support, +L/+P/+C SW split, sample data bundle (v0.3.0)
v2.20.0 — SW +L/+P/+C button split
- Replace single + button with +L (Layer, 1 slot), +P (Piece group, N slots),
  +C (Composite group, 1 slot) buttons
- Add mode:'composite' field to group entries; badge display per entry type
- Update README/help (all 3 languages) for new SW button system

v2.21.0 — Clipping mask support
- server.py / psd_utils.py: emit clipping:true|false on every layer tree node
- renderChildren + renderClippingStack: offscreen-canvas source-atop compositing
- get_layer_image_by_id: switch to topil() to avoid double-rendering clipping layers
- _manual_composite / _manual_composite_ordered: skip clipping layers (base composite() already includes them)
- UI: ✂ badge in layer panel and SW +L dropdown; i18n clippingLayerBadge key added

v2.22.0 — Bug fixes & help update
- Fix replaceWith NotFoundError: add input.isConnected guard to 4 inline-rename handlers
- Help dialog: add clipping-layer parent caveat to all 3 languages;
  add missing Chinese Parent Tab section

v2.23.0 — Sample data bundle
- user_data/sample_1.psd: sample character PSD
- user_data/models/sample.psd-model.json: pre-configured rig (R/MR, parent, SW)
- user_data/poses/pose1.pose.json, pose2.pose.json: sample poses
- README: add Sample Data section with copy-to-input/psd/ instructions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 21:03:39 +09:00

2.2 MiB