slab/menuband: 0.9 — YWFT bold for real + popover refinements
YWFT title (the actual fix this time):
- 0.7/0.8 each tried a different name-based lookup for the bold cut
and shipped the title in system black anyway. The trap is that
`NSFont(descriptor:)` almost never returns nil on a miss — it
silently substitutes the system font and reports success — so
every `??`-style fallback chain was unreachable.
- AppDelegate.registerBundledFonts now also parses each .ttf URL
with CTFontManagerCreateFontDescriptorsFromURL and caches the
per-cut descriptors as static vars on AppDelegate. Descriptors
built from a file URL are bound to that specific file, sidestepping
the shared-PostScript-name collision entirely.
- MenuBandPopover resolves the cached bold descriptor and asserts
`familyName == "YWFT Processing"` before drawing. If anything is
off (descriptor missing, family mismatch), it logs loudly and
falls back to system black so the next regression can't hide the
way 0.7/0.8 did.
Popover diagram:
- Removed the keyboard trackpad slab — the wide rounded recess
below the keys read as decorative noise once the chassis was
doing real work.
- Bottom strip 144 → 88. With the trackpad gone the chassis only
needs to wrap qwerty (46h) + arrows (30h) + insets.
- Chassis gets perceived volume + right-side perspective: a soft
drop shadow (opacity 0.30 light / 0.55 dark, 6pt blur, 2pt
offset down) plus a CATransform3D with m34 = -1/900 and a 5°
Y-rotation so the right edge recedes. Keys are siblings of the
deck (not children), so they stay flat — only the substrate tilts.
Info.plist + landing page bumped to 0.9.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>