decay-0.1.3 has been yanked.
Decay
Zero-dependency ecs game framework for the terminal. Entities, components, systems, double-buffered rendering, and direct platform I/O. No crossterm, ratatui or ncurses.
Quickstart
use *;
Overview
| Module | Functions |
|---|---|
core |
ECS world, entities, components, queries (&T, &mut T, filters), resources, system scheduling with 7 phases, command buffer, events, hierarchy, change detection, state machine |
ui |
Retained-mode UI on top of ECS: nodes, text, buttons, focus/keyboard nav, z-index, layout, text input, scroll/list views, progress bars, theming |
term |
Double-buffered framebuffer with cell-level diffing. Direct Win32/Unix syscalls. Bold, dim, italic, underline, strikethrough. Mouse input. 24-bit color. |
anim |
Tweens, keyframe tracks, easing functions |
time |
Timer component, DeltaTime resource |
rand |
Seedable xorshift64: range, pick, shuffle, chance |
grid |
Grid<T>, A* pathfinding, flood fill, Bresenham lines, shadowcasting FOV |
procgen |
Value noise, BSP room generation, drunkard's walk caves |
serde |
Minimal binary serialize/deserialize for save files. No serde dependency. |
audio |
waveOutWrite (Windows), ALSA via dlopen (Linux). Tone and noise generators. |
net |
TCP client/server, binary wire protocol, lock-free SPSC channel |
Platform support
Windows and Linux. Direct FFI to kernel32/Win32 console APIs on Windows, raw termios + ioctl on Linux/macOS. No libc wrapper crate needed.
License
Apache-2.0