Skip to content

fix: merge main into development to resolve PR #44 conflicts - #46

Merged
patrickschaper merged 4 commits into
developmentfrom
fix/merge-main-into-development
May 19, 2026
Merged

fix: merge main into development to resolve PR #44 conflicts#46
patrickschaper merged 4 commits into
developmentfrom
fix/merge-main-into-development

Conversation

@patrickschaper

Copy link
Copy Markdown
Owner

Merges origin/main (tag 0.0.10) into development to resolve the merge conflicts blocking PR #44.

  • Resolves conflicts in release.yml, CHANGELOG.md, README.md, MatrixScreenSaverOptions.swift, MatrixScreenSaverView.swift, and NativeMatrixRenderer.swift
  • All conflicts resolved in favour of development (the more feature-complete side)
  • Build verified clean after resolution

patrickschaper and others added 4 commits May 15, 2026 17:06
…fixes (#30)

* feat: add custom character set option

- add characters field to options model and configure sheet
- make glyph pool instance-level in renderer
- deduplicate custom characters and fall back to full default set when empty
- update README with new option

* fix: shorten custom characters description to one-liner

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: add CHANGELOG and auto-update on release

- add CHANGELOG.md with history from all previous releases
- use TriPSs/conventional-changelog-action in the prepare job to
  generate a new section from commits since the last tag
- include CHANGELOG.md in the release branch commit

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: populate GitHub release notes from CHANGELOG.md

- extract the current version's section from CHANGELOG.md
- pass it to gh release create via --notes-file

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: address Copilot review findings on custom character set

- supportedScalars returns union of default pool and active pool so
  custom glyphs (e.g. ATGC) are included in the glyph cache
- resolveGlyphPool filters out whitespace, control, and non-grapheme
  scalars so invalid input fails gracefully instead of blank columns
- sanitized() trims and deduplicates characters so storage, Equatable
  comparison, and rendering all use a canonical form
- widen the Characters text field to ~24 M-widths so longer custom
  sets remain fully visible in the options sheet

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: address remaining and falsely-resolved Copilot review findings

- add diacritic filter to sanitized() so persisted value matches rendered glyphs
- cache supportedScalars before loop in makeNativeGlyphCaches to avoid repeated recomputation
- preserve activeGlyphPool insertion order in supportedScalars instead of iterating a Set
- align README Characters description with charactersDescription string

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: set tag-prefix to empty string in changelog action

- conventional-changelog-action defaults to v prefix
- repo uses unprefixed tags (e.g. 0.0.9)
- without tag-prefix: "" the action cannot find the previous tag
  and generates changelog from the wrong commit range

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: add editable Neo message lines option

- add neoMessageLines field to MatrixScreenSaverOptions with persist/load/save
- add Edit… button in options sheet opening a secondary lines editor sheet
- editor uses NSTableView with drag-and-drop row reordering via grab handle
- support add/remove/reset lines; 1–10 lines, max 256 chars each
- pass custom lines through renderer config to NeoMessageScene.reset
- keep four original lines as defaults

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: sync number scene blackout and screen activation across displays

- increase sync window to 10 s to tolerate slow-waking screens
- sceneStartTime always targets the next 10-second boundary so no
  display fast-forwards past the start of the Neo scene
- replace fraction-based blackout rounds with a fixed count of 10 so
  all screens finish the blackout at the same wall-clock time regardless
  of display width
- keep cursor blinking after 'Call trans opt' finishes typing through
  the pause before 'Trace program: running' replaces it

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: CRT scanlines effect (#29)

feat: add CRT scanlines effect with intensity slider

- draw 1px dark stripes every 2px over the terminal area each frame
- intensity controlled by a 0–100% slider in the options sheet (default 35%)
- alpha maps directly to percentage: 100% = fully opaque
- effect is skipped entirely when intensity is 0

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: add header and About link to options sheet (#31)

- add 'macOS Matrix Screen Saver' headline at top of sheet (left-aligned)
- add 'About' link button that opens the GitHub repository

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: right-align About link in options sheet header (#32)

- replace NSStackView+spacer with plain NSView container
- pin title to leading, About button to trailing via explicit anchors
- avoids constraint conflict with NSStackView edge insets

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: right-align About link in options sheet header (#33)

- replace NSStackView+spacer with plain NSView container
- pin title to leading, About button to trailing via explicit anchors
- avoids constraint conflict with NSStackView edge insets

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: LouisFaure <louis.faure75@gmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- bump VERSION to 0.0.10

- update CHANGELOG.md
## Summary
- bump VERSION to 0.0.10
- prepare the 0.0.10 release

## Validation
- `./build.sh`
# Conflicts:
#	.github/workflows/release.yml
#	CHANGELOG.md
#	README.md
#	Sources/MatrixScreenSaver/MatrixScreenSaverOptions.swift
#	Sources/MatrixScreenSaver/MatrixScreenSaverView.swift
#	Sources/MatrixScreenSaver/NativeMatrixRenderer.swift
@patrickschaper
patrickschaper merged commit dadd79f into development May 19, 2026
1 check passed
@patrickschaper
patrickschaper deleted the fix/merge-main-into-development branch May 20, 2026 09:01
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.

1 participant