45 lines
2.0 KiB
Markdown
45 lines
2.0 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to this project will be documented in this file.
|
||
|
||
## [0.0.4] - 2026-02-02
|
||
|
||
### Added
|
||
- Double-stack words: `2dup`, `2drop`, `2swap`, `2over`.
|
||
- `forget` word to remove user-defined words from the dictionary.
|
||
- Active patterns panel showing playing patterns with bank, pattern, iteration count, and step position.
|
||
- Configurable visualization layout (Top/Bottom/Left/Right) for scope and spectrum placement.
|
||
- Euclidean distribution modal to spread a step's script across the pattern using Euclidean rhythms.
|
||
- Fairyfloss theme (pastel candy colors by sailorhg).
|
||
- Hot Dog Stand theme (classic Windows 3.1 red/yellow).
|
||
- Hue rotation option in Options menu to shift all theme colors (0-360°).
|
||
|
||
### Changed
|
||
- Title view now adapts to smaller terminal sizes gracefully.
|
||
|
||
### Fixed
|
||
- Scope/spectrum ratio asymmetry in Left/Right layout modes.
|
||
- Updated `cpal` dependency from 0.15 to 0.17 to fix type mismatch with `doux` audio backend.
|
||
|
||
## [0.0.3] - 2026-02-02
|
||
|
||
### Added
|
||
- Polyphonic parameters: param words (`note`, `freq`, `gain`, etc.) and sound words now consume the entire stack, enabling polyphony (e.g., `60 64 67 note sine s .` emits 3 voices).
|
||
- New random distribution words: `exprand` (exponential) and `logrand` (logarithmic).
|
||
- Music theory chord words: `maj`, `m`, `dim`, `aug`, `sus2`, `sus4`, `maj7`, `min7`, `dom7`, `dim7`, `m7b5`, `minmaj7`, `aug7`, `maj6`, `min6`, `dom9`, `maj9`, `min9`, `dom11`, `min11`, `dom13`, `add9`, `add11`, `madd9`, `dom7b9`, `dom7s9`, `dom7b5`, `dom7s5`.
|
||
- Playing patterns are now saved with the project and restored on load.
|
||
|
||
### Changed
|
||
- `at` now consumes the entire stack for time offsets; polyphony multiplies with deltas (2 notes × 2 times = 4 voices).
|
||
- Iterator (`iter`) now resets when a pattern restarts.
|
||
- Project loading now properly resets state: stops all patterns, clears user variables/dictionary, and clears queued changes.
|
||
|
||
### Removed
|
||
- `tcycle` word (replaced by polyphonic parameter behavior).
|
||
|
||
## [0.0.2] - 2026-02-01
|
||
- CI testing and codebase cleanup
|
||
|
||
## [0.0.1] - Initial Release
|
||
- CI testing
|