Skip to content

Merge development into main#59

Merged
patrickschaper merged 11 commits into
mainfrom
development
May 20, 2026
Merged

Merge development into main#59
patrickschaper merged 11 commits into
mainfrom
development

Conversation

@patrickschaper

Copy link
Copy Markdown
Owner
  • fix: workflow permissions for code scanning alert
  • feat: update character size range and default

patrickschaper and others added 11 commits May 20, 2026 11:45
- remove sizes with width < 8px (dropped 4×8 through 7×13)
- add sizes up to 24px wide (added 19×36 through 24×46)
- change default from 11×21 to 16×30

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Remove sizes with width < 8px (dropped 4×8 through 7×13)
- Add sizes up to 24px wide (added 19×36 through 24×46)
- Change default from 11×21 to 16×30
Back-merges release commits from `main` into `development` to keep
branches in sync.
…n permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…n permissions (#57)

Potential fix for
[https://github.com/patrickschaper/matrixScreenSaver/security/code-scanning/1](https://github.com/patrickschaper/matrixScreenSaver/security/code-scanning/1)

Add an explicit `permissions` block at the workflow root so all jobs
inherit least-privilege defaults.
For this workflow, the minimal safe setting is:

- `contents: read`

This preserves current behavior (the job only evaluates branch name and
exits success/failure) while ensuring the token cannot gain broader
permissions via repo/org defaults now or later.

**Where to change:** `.github/workflows/branch-policy.yml`, directly
after the workflow `name` (before `on:`).

No new imports, methods, or dependencies are required.


_Suggested fixes powered by Copilot Autofix. Review carefully before
merging._
Each physical display gets a unique animation because NativeMatrixRenderer
now XORs a seedOffset (derived from CGDirectDisplayID via NSScreenNumber)
into sceneSeed inside beginSceneSequence(). Previously all screens shared
the same quantised-time seed, producing identical rain on every display.

The macOS ScreenSaver framework already instantiates one ScreenSaverView
per connected display; this change makes each instance animate independently.
Includes TDD tests (tests.sh) covering seed determinism and per-display divergence.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- document use of /// doc comments for types, properties, and methods
- add Parameters, Returns, and Throws block guidelines
- add MARK: - section separator guidance
- note to comment why not what, skip self-evident code

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- split tests into Xorshift64Tests.swift and NativeMatrixRendererTests.swift
- rewrite test runner to emit TAP output (Test Anything Protocol)
- extract MatrixRendererLimits.swift for Foundation-only validation constants
- add .github/workflows/tests.yml to run tests on macOS CI
- add Test section to README
- update build.sh and tests.sh for new file layout

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- add repository layout tables for source, tests, scripts, workflows
- document TAP test format and how to add new testable source files
- add Build and Tests sections with commands
- note MatrixRendererLimits Foundation-only constraint
- add development as default PR branch
- include test: conventional commit type

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

Each physical display gets a unique animation because
`NativeMatrixRenderer` now XORs a `seedOffset` (derived from
`CGDirectDisplayID` via `NSScreenNumber`) into `sceneSeed` inside
`beginSceneSequence()`. Previously all screens shared the same
quantised-time seed, producing identical rain on every display.

The macOS ScreenSaver framework already instantiates one
`ScreenSaverView` per connected display; this change makes each instance
animate independently.

- add `seedOffset` property to `NativeMatrixRenderer`
- derive seed from `NSScreenNumber` in `MatrixScreenSaverView`
- extract `MatrixRendererLimits.swift` for Foundation-only validation
constants
- add TAP test suite with `Xorshift64Tests` and
`NativeMatrixRendererTests`
- add CI workflow (`tests.yml`) running `./tests.sh` on `macos-latest`
- add Test section to README and update AGENTS.md
@patrickschaper patrickschaper merged commit d54007b into main May 20, 2026
6 checks passed
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