|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -All notable changes to tslime are documented in this file. |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | +Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); |
| 5 | +versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
4 | 6 |
|
5 | | -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
6 | | -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | +## [0.1.0] - TBD |
7 | 8 |
|
8 | | -## [Unreleased] |
| 9 | +First public release. |
9 | 10 |
|
10 | 11 | ### Added |
11 | | -- Comprehensive README with installation and usage documentation |
12 | | -- Man page documentation (docs/tslime.1.md) |
13 | | -- Contributing guide (CONTRIBUTING.md) |
14 | | -- Screenshots directory with example outputs |
15 | | -- Demo tape file for GIF generation |
16 | | -- 8 new presets: minimal, moss, cosmic, fire, zen, storm, river, ethereal |
17 | | -- 4 new color palettes: legiblemono, moss, cosmic, ethereal |
18 | | -- Custom palette support via hex color strings |
19 | | -- WebM video export with FFmpeg |
20 | | -- Mouse interaction modes (attract/repel) |
21 | | -- Terrain effects (smooth, turbulent, mixed) |
22 | | -- Wind simulation |
23 | | -- Species mode with multiple agent types |
24 | | -- Obstacle support (circle, rect, image-based) |
25 | | -- Motion blur / trail history |
26 | | -- Adaptive brightness normalization |
27 | | -- Dithering modes (ordered, error diffusion) |
28 | | -- Grid overlay options |
29 | | -- Runtime parameter adjustment via keyboard |
30 | | -- Undo/redo for parameter changes |
31 | | -- Config save/load functionality |
32 | | -- Comprehensive parameter validation with bounds checking |
| 12 | +- Physarum simulation (Jones 2010 model) with 31 presets and runtime parameter controls |
| 13 | +- `trademark` preset (alias `logo`) — the tslime logo held as a stable figure (constellation re-stamp behavior with the embedded logo image as the template); bound to quick-key `4` by default |
| 14 | +- Terminal rendering: half-block, ASCII, braille, quadrant, shade, points, and sculpted charsets; 22 OKLch-based color palettes |
| 15 | +- Screensaver and interactive modes; pause, restart, preset/palette cycling at runtime |
| 16 | +- GIF, PNG, and WebM export |
| 17 | +- Window-frame display modes |
| 18 | +- README hero demo: a looping montage that grows the tslime logo across the |
| 19 | + Organic, Constellation, Vinescii, and Trademark launch presets |
| 20 | +- README gallery: six looping demos of the runtime controls — palette cycling, |
| 21 | + character sets, preset transitions, randomize, live parameter tuning, and the |
| 22 | + palette editor (replaces the earlier static preset stills) |
| 23 | +- No-notifications mode: suppress transient toasts and ambient parameter |
| 24 | + readouts for a clean field. Start with `--no-notifications`; toggle live with |
| 25 | + `Ctrl+N`. User-opened overlays (controls, palette editor, dashboard, preset |
| 26 | + transitions) are unaffected. |
| 27 | +- `vinescii` preset — the vines (flocking) pattern in pure ASCII |
| 28 | +- Experimental: multi-species, choir audio, and GUI (feature-gated); WASM build (standalone crate) |
33 | 29 |
|
34 | 30 | ### Changed |
35 | | -- Updated noise crate from 0.2 to 0.9 (fixes future Rust compatibility) |
36 | | -- Improved error handling throughout codebase |
37 | | -- Enhanced CLI validation with helpful error messages |
38 | | - |
39 | | -### Fixed |
40 | | -- Clippy warnings (manual_range_contains, manual_find) |
41 | | -- Duplicate build targets for memory benchmarks |
42 | | -- Unsafe unwrap() calls in WebM export and frame capture |
43 | | -- Future-incompatibility warnings from deprecated num-* crates |
44 | | -- Duplicate code blocks in `trail_map.rs` and `timing.rs` |
45 | | - |
46 | | -### Documentation |
47 | | -- Completed API documentation for all public modules (100% coverage) |
48 | | -- Updated README with all 16 palettes and 12 presets |
49 | | -- Added module-level documentation |
50 | | -- Fixed intra-doc links in library documentation |
51 | | - |
52 | | -## [0.1.0] - 2024-12-24 |
53 | | - |
54 | | -### Added |
55 | | -- Initial release |
56 | | -- Physarum simulation based on Jeff Jones particle model |
57 | | -- Four presets: network, exploratory, tendrils, organic |
58 | | -- Four color palettes: organic, heat, ocean, mono |
59 | | -- Multiple character modes: half-block, ASCII, braille |
60 | | -- Screensaver, live, and print modes |
61 | | -- Configurable simulation parameters |
62 | | -- 256-color ANSI rendering with half-block characters |
63 | | -- Visual regression tests |
64 | | -- CI/CD pipeline with GitHub Actions |
65 | | -- Cross-platform support (Linux, macOS, Windows) |
66 | | - |
67 | | -### Technical |
68 | | -- Rust implementation with zero runtime dependencies |
69 | | -- crossterm for cross-platform terminal handling |
70 | | -- clap for CLI argument parsing |
71 | | -- rand_xoshiro for fast, seedable PRNG |
72 | | -- Optimized for low CPU and memory usage |
| 31 | +- Quick-keys `1`–`4` now switch the launch presets (Organic, Constellation, Vinescii, Trademark). |
| 32 | +- Preset pass: renamed pulse→slime, flocking→vines, ripple→smoke, lumen→mold |
| 33 | + (old names still accepted as CLI aliases); per-preset visual tuning applied |
| 34 | + (braille/quadrant charsets, palette assignments, auto-normalize, window frames); |
| 35 | + constellation re-rolls its init layout on reset and auto-resets on collapse. |
| 36 | +- Fixed the stale `--preset` help text (was listing removed presets). |
| 37 | + |
| 38 | +### Added (Custom Keybinds) |
| 39 | +- Custom key bindings via `~/.config/tslime/keybinds.toml`: bind keys `1`–`7` to any preset or |
| 40 | + saved config; user binds override the defaults. A/B compare (`Shift+1`–`7`) works for bound |
| 41 | + presets and configs. The `?` overlay shows live bindings. |
0 commit comments