Skip to content

feat: add Fonts option to pick installed fonts for the rain glyphs - #117

Merged
patrickschaper merged 9 commits into
patrickschaper:developmentfrom
troyfisher:feat/rain-font-selection
Oct 30, 2026
Merged

patrickschaper merged 9 commits into
patrickschaper:developmentfrom
troyfisher:feat/rain-font-selection

Conversation

@troyfisher

@troyfisher troyfisher commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Choose the rain's font and glyph set in both the screensaver and wallpaper app, with a live green-on-black preview.

  • Select Default, Classic, or Resurrections. The film presets use bundled original fonts; switching back to Default restores custom settings.
  • Pick one font from installed families, including discovered hidden system fonts. Bundled fonts appear immediately below the dynamic system-default entry; Reset restores only the font.
  • Preview the selected glyphs at 12 pt, wrapping as needed in the scrollable Rain tab.
  • Keep unsupported characters available for macOS fallback, resolved when glyph images are cached rather than during each animation frame.
  • Preserve existing preferences, retaining the first nonempty font from older multi-font selections. Intro text keeps the system font.

Font credit: Matrix-Code and Matrix-Resurrected are bundled from Rezmason/matrix under its MIT license. Provenance, checksums, and exact active glyph mappings are recorded in Resources/Fonts/README.md.

Validation

  • Saver tests and both builds passed during implementation; wallpaper AppKit tests pass locally, covering persistence, selection/reset, preset glyphs, wrapping previews, and raster caches.
  • Commitlint passes after correcting the merge commit's type to chore:.
  • Recovery fixtures now allow ten seconds for queued AppKit startup and clean up on timeout. The earlier two-second CI failure did not reproduce in two local runs; the updated CI run will verify the change.
  • Manual visual playback remains unchecked.

AI disclosure: Developed with AI assistance (Claude and OpenAI).

troyfisher and others added 9 commits October 28, 2026 23:35
- render rain with the chosen installed fonts, mixed evenly; intro text stays in the system font
- add a Fonts section to the Rain tab with an installed-fonts pull-down and a Show all fonts toggle
- alias ASCII glyphs to private-use scalars so digits and symbols come from the rain font
- persist the selection in defaults (empty keeps the system font) and cap it at 8 fonts
…aints

- create each options page at its real size instead of zero
- document the Fonts option in the options table
- add a Matrix fonts section linking Matrix Code and Matrix Resurrected from Rezmason/matrix
- test rain font glyph tables, aliasing and catalog listing against Menlo
- test rain font option sanitizing, persistence and renderer hand-off
- allow the taller options sheet that now holds the Fonts section
- resolve conflicts with current intro and command scenes
- preserve each font's glyphs and honor custom characters
- fit rain glyphs and refresh changed font rasters
- cover font mixing, Unicode isolation, and raster updates

Note: five wallpaper startup checks also fail on pristine development; saver tests and build pass.
- discover hidden fonts and remove font filtering
- retain missing glyphs for cached macOS fallback
- share rain rasters across weight caches
- add font reset and a dynamic family-only default label
- simplify help text and cover font behavior with tests
- bundle original Classic and Resurrections fonts with attribution
- persist glyph presets and preserve custom settings when switching
- limit the font picker to one selection
- preview glyphs in green on black with a smaller wrapping font
- cover preset rendering, persistence, selection and layout
- show both bundled fonts before the dropdown divider
- avoid duplicate entries among installed fonts
- verify selection, ordering and reset behavior
- match the existing ten-second AppKit startup allowance
- stop and clean up fixtures when startup fails
@patrickschaper
patrickschaper force-pushed the feat/rain-font-selection branch from c3d8f3e to 1fa958d Compare October 30, 2026 19:00
@patrickschaper
patrickschaper enabled auto-merge (squash) October 30, 2026 19:01
@patrickschaper
patrickschaper merged commit d9f34c8 into patrickschaper:development Oct 30, 2026
4 checks passed
@github-actions github-actions Bot mentioned this pull request Oct 30, 2026
patrickschaper added a commit that referenced this pull request Oct 30, 2026
## What's changing


### Features

- add Fonts option to pick installed fonts for the rain glyphs (#117)
- add command capture scene and customizable Neo intro name (#106)
- sign and notarize GitHub releases (#111)

### Bug Fixes

- select the highest release version tag (#113)

## Validation
- `./build.sh`
- `./build-wallpaper.sh`
- Strict codesign verification of both bundles
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants