Skip to content

Latest commit

 

History

History
50 lines (45 loc) · 1.9 KB

notes.org

File metadata and controls

50 lines (45 loc) · 1.9 KB

Notes

Digital rain

Add config

Add valudation for config

better CI/CD

Slowly increasing amount of “worms”

Add speed optimization for release version

try color gradient

better gradient (from shades of green)

somehow need to slower rotation of worms characters

different first character rotation for worms

calculate average fps, print it after execution

raname Matrix to DigitalRain

rename charworm into raindrops

remove ndarray from digital rain

rain drop should return list of characters with colors

even better gradient (2 steps from white to dark gray)

move “map” (with position of worms with worm_id) into separate module,

map completely removed

builder pattern for rain drops

store options as MatrixOptions

keep fps stable and above some value - 20, 30, 60?

inconsistency between buffer.rs coordinates and crossterm screen started from 1, 1

zbuffer for different worm positions

general interface to run screen-savers

make drops sometimes fade away

match gradient calculation with body length

update screen size (h/w) during execution (currently doesn’t track it)

still something strange with coordinates, looks like there are no drops when y = 0

fix digital rain benchmarks

derive_builder for DigitalRainOptions

Convay’s Life

basic implementation

  • [X] data structure
  • [X] rules
  • [X] initial state

Optimizations

fx in RainDrop could be u16 or usize

clamp coordinates to make sure they fit the screen

update crossterm

SPEED_RANGE as interval type

implement buffer to keep only differences

need to minimize amount of clean cells commands

on next frame not all cell should be cleaned