Type: Feature
What
The macOS renderer and editor view should use the same resolved primary font through startup, font changes, and display-scale changes. AppDelegate currently constructs an additional primary face alongside FontManager and synchronizes them procedurally.
Why
Duplicate font resources make each transition responsible for keeping metrics, fallbacks, secondary registrations, renderer resources, and view references aligned. FontManager already owns the primary and is the natural authority.
Acceptance Criteria
- ✅ Startup resolves the primary through one font owner; the editor view and renderer derive their active primary and metrics from that owner. PR #3389
- ✅ Family, size, weight, ligature, and display-scale changes keep rendered text, cursor geometry, hit testing, and IME geometry consistent. PR #3389
- ✅ Configured fallback chains and registered secondary families survive primary-font rebuilds with their existing identities and behavior. PR #3389
- ✅ Renderer resources are updated before drawing with changed metrics, and existing in-flight frame resources retain their required lifetime. PR #3389
- ✅ Frontend row fitting and ready/resize emission preserve their current values and ordering. PR #3389
- ✅ Duplicate primary construction and independently synchronized primary-font state are absent after migration; focused font and native resize checks demonstrate equivalent behavior. PR #3389
Type: Feature
What
The macOS renderer and editor view should use the same resolved primary font through startup, font changes, and display-scale changes. AppDelegate currently constructs an additional primary face alongside FontManager and synchronizes them procedurally.
Why
Duplicate font resources make each transition responsible for keeping metrics, fallbacks, secondary registrations, renderer resources, and view references aligned. FontManager already owns the primary and is the natural authority.
Acceptance Criteria