mekkablue • Improved wording, fixed custom parameter
commit b836a6bbd47580a7089293cf64f7607b4f11235d
Author: mekkablue <rainer@schriftlabor.at>
Date: Fri Apr 24 09:10:10 2026 +0200
Improved wording, fixed custom parameter
commit de4db2772ebca935c19aea8d924054b8eda59ed4
Author: Claude <noreply@anthropic.com>
Date: Fri Apr 24 05:57:29 2026 +0000
Fix export crash: layerForKey: → layerForId: (unrecognized selector)
The forward-declared method was named layerForKey: but the actual GlyphsCore
runtime method on GSGlyph is layerForId:. Calling the non-existent selector
threw NSInvalidArgumentException during export, which Glyphs reported as
"error with plugin Cut and Shake". Interactive use was unaffected because
processFont:withArguments: (the only caller) is only invoked at export time.
https:/
/claude.ai/code/session_01MURxLMimAN2ueWJe4mAWAh
commit 905ec8b0c35c523357fab7103f8fa2165542084b
Author: Claude <noreply@anthropic.com>
Date: Fri Apr 24 05:52:18 2026 +0000
Fix unequal field widths by pinning all field leading edges to superview
Labels with HHP=251 overrode the inter-sibling trailing-alignment constraints
(c04/c05), causing MoveLabel/RotateLabel to use their shorter intrinsic widths
and their fields to start further left than CutsField. Decouple fields from
labels by pinning all three leading edges directly to RootView at x=128
(20 left-margin + 100 label-column + 8 gap), guaranteeing identical field
positions and widths regardless of label content size.
https://claude.ai/code/session_01MURxLMimAN2ueWJe4mAWAh
commit 251624f518b5ec3814d434d7f18c2b488cc69628
Author: Claude <noreply@anthropic.com>
Date: Thu Apr 23 20:25:49 2026 +0000
Redesign filter dialog: longer labels, shorter fields, label tooltips
- Labels renamed: "Cuts" → "Number of Cuts", "Move" → "Max Move",
"Rotate" → "Max Rotation" for clarity.
- Label column widened to 100 pt (was 44 pt) to accommodate the
longest label; c19 constraint updated accordingly.
- Input fields narrowed to 62 pt (was 151 pt) — comfortably fits
4–5 figures at macOS system font while the dialog shrinks to 210 pt
(was 239 pt).
- All six labels and fields now carry matching tooltips so hovering
anywhere on a row shows the parameter description.
- Added missing placeholderString="" to RotateField for consistency
with CutsField and MoveField.
https://claude.ai/code/session_01MURxLMimAN2ueWJe4mAWAh
commit 986a1bbe0d57698ed3eb90beadf73e318670988e
Author: Claude <noreply@anthropic.com>
Date: Thu Apr 23 20:16:43 2026 +0000
Fix build error: declare layerForKey: via category so compiler accepts it
GSGlyph.h does not expose layerForKey: in the installed SDK headers,
but the method exists at runtime. Added a local @interface category
(same pattern already used for GlyphsToolOther cutPathsInLayer:) so
the compiler accepts the call in processFont:withArguments:.
https://claude.ai/code/session_01MURxLMimAN2ueWJe4mAWAh
commit 82c1712d7ab40430b612d36e8e5e414825433ac4
Author: Claude <noreply@anthropic.com>
Date: Thu Apr 23 17:19:38 2026 +0000
Fix three ObjC filter issues: angled cuts, custom parameter layer iteration, equal field widths
- randomCutLayer: now gives each cut endpoint an independently-random
Y (or X) coordinate, producing diagonal cuts that match the Python
version instead of always-orthogonal horizontal/vertical cuts.
- processFont:withArguments: switches from `glyph.layers` fast
enumeration to the SDK-template pattern (fontMasterAtIndex: +
layerForKey:), which reliably reaches master layers during export
and avoids issues with Glyphs' custom ordered-dictionary collection.
- IBdialog.xib gains an explicit width=44 constraint on CutsLabel,
pinning the label column to a fixed size so all three input fields
resolve to the same width under Auto Layout on every macOS version.
https://claude.ai/code/session_01MURxLMimAN2ueWJe4mAWAh