Resolves the parity items of docs/rewrite/notes/review-rv17-codex.md (final-Z20.md): - FreeType-only font backend is also available on Apple targets (discovery-free, embedded emoji fonts); ghostty_surface_quicklook_font returns null for every backend except plain CoreText like Zig. - The +list-fonts test keys off the font crate's selected backend (HAS_DISCOVERY), correct under feature unification and on Apple. - Inspector font: 32 px rasterized with FreeType (dear-imgui freetype) like Ghostty; a new `visual-parity.sh inspector` scenario shows 0.031% differing pixels (hover highlight) vs the original on Linux. Windows, Apple and wasm keep stb_truetype at 32 px (registered as a deliberate deviation). - Inspector DCS/APC descriptions follow Zig 0.15.2's formatting (checked by running Zig), incl. the terminal.Parser.Action prefix. - The ImGui demo window appears only in dev-profile builds, mirroring Zig's .Debug-only gate. Test Plan: - cargo test --workspace --no-fail-fast (3582 passed) - just check-macos (both, also with --features font-backend-freetype) - scripts/visual-parity.sh inspector
1.8 KiB
1.8 KiB
Z20: RV17 P3 fixes (uncommitted)
- FreeType-only on Apple:
ghostty-font/build.rshonoursfont-backend-freetypeon every non-wasm target (coretextcfgs off, so the embedded-emoji fallback applies, as in ZigDiscover == void);backend.rsOPTIONS and theharfbuzz-sys/coretextfeature (now only for the coretext features, because the SDK headers are needed otherwise). New testselected_backend_matches_build_cfgs.ghostty_surface_quicklook_fontnow answers only for plain.coretextas in Zig (ghostty_font::face::quicklook_font_raw).scripts/macos-crosscheck.shtakesMACOS_CHECK_FEATURES; clippy passes on both Apple targets with and without the feature. cli/list_fonts.rstest followsghostty_font::options.backend/HAS_DISCOVERY.- Inspector: 32 px (
FONT_SIZE), FreeType throughdear-imgui-rs/freetypeon non-Windows, non-Apple, non-wasm targets (registered deviation elsewhere: stb_truetype).setuplost its scale parameter (Zig has none). Visual check: new scenarioscripts/visual-parity.sh inspector(ctrl+shift+i via xdotool, production build vs /usr/bin/ghostty 1.3.1). The window position differs between runs, so the tabs + table region was compared at the best-aligned offset (95,134): 0.031 % of pixels differ (max channel delta 14); the list rows differ only by the hover highlight (pointer position). - DCS/APC descriptions follow Zig 0.15.2
printValue(any); prefix isterminal.Parser.Action(wasparser.Parser.Action), checked by running Zig 0.15.2 ({ 36, 32 },{ }for empty slices). - Demo window gate:
ghostty_debug_buildcfg fromPROFILE == "debug"(ghostty-inspector/build.rs). - Metal buffer:
metal_layout::grown_buffer_bytes+ test; DEVIANT_FIXES row 34 (commitbab49ee).