No description
- Python 96.3%
- Nix 2.7%
- Shell 1%
|
Some checks failed
check / lint + tests + deb build (push) Failing after 2s
The user reported the panel "shifting up then down" every reseed. Root cause: the producer threw the existing Grid away on reset and built a brand-new one, which initialised darkness as ``where(alive, 255, 0)`` — so every cell SNAPPED from its previous state to either full-black or full-white in a single frame. When consecutive reseeds picked variants whose patterns sat at different vertical positions (the centre/pair/quadrants/nine_grid family introduced in the previous commit), the snap read as the whole scene jumping. Fix: add ``Grid.reseed(alive)`` that swaps in a new alive pattern *without touching the darkness array*. The producer calls it instead of constructing a fresh Grid. The existing fade dynamics then take over — cells that were alive but aren't in the new pattern fade out over ``death_fade_frames``; cells newly alive fade up from their current darkness. Variants now visually melt into each other across a few frames instead of teleporting. Cycle-detection state (the sliding window of fingerprints + steady_frames counter) is cleared on reseed so the new pattern gets its own fresh ``reset_after_steady`` window before being considered stuck. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| packaging | ||
| prompts | ||
| scripts | ||
| src/epaper_apps | ||
| tests | ||
| .gitignore | ||
| CLAUDE.md | ||
| flake.lock | ||
| flake.nix | ||
| pyproject.toml | ||
| README.md | ||
| ruff.toml | ||