Repository navigation
v0.3.1
Highlights
For TinyProgrammer related discussions, questions and suggestions a discord server added: https://discord.gg/KVZpHS83
Thanks to DevelopmentCats for setting it up!
Custom program types
Define your own program types from the web UI; slug + description + category + optional core-pool opt-in persisted in config_overrides.json. Tailor the rotation to your own aesthetics (audio visualizers, cellular automata variants, generative text, ASCII art, whatever) without touching source. Closes #20.
Reorganized Prompts page
/prompt now splits into Core, Creative, and Custom sections, each with an "Enable all" master toggle. Every row carries its own enable checkbox, weight, and editable prompt description in one place.
Monochrome display schemes
Four new options under Settings → Color Scheme: Monochrome (Gray), Monochrome Amber, Monochrome Green, Monochrome Blue. Desaturates the canvas to luminance (Rec. 601) before tinting. Distinct from the existing multiply tints because it throws away the canvas's color info, producing a classic one-color CRT look.
Fixes since v0.3
- Max tokens and temperature settings were ignored: the web UI values were saved but never passed to the LLM stream calls (always defaulted to 1024 tokens / 0.7 temperature). Now wired through for code generation, fix, and reflection prompts.
- Added "Surprise Me! (Local)" model option: picks a random locally available Ollama model each cycle, mirroring the existing cloud Surprise Me mode. Falls back to cloud if no local models are detected.
- Added troubleshooting section to README: covers empty logs, service crashes, LLM errors, blank display, dashboard not loading, Ollama detection, and manual log viewing.
Fixes rolled in from v0.3
PROGRAM_DESCRIPTIONSoverrides were silently no-op (saved to JSON but never re-read at prompt-build time). Now resolved viaconfig.PROGRAM_DESCRIPTIONS→CUSTOM_PROGRAM_TYPES→ built-in defaults.- Core-mode rotation ignored the enable/disable toggles. It now intersects
CORE_PROGRAMSwith enabledPROGRAM_TYPESand merges in customs that opted into the core pool. ConfigManagersilently dropped override keys not already declared onconfig.py. Now applies every key.- Deleting a custom type purges matching entries from
liked_programs.jsonso orphaned slugs can't resurface via the variation path.
Full changelog: v0.3...v0.3.1