Same sprites, same colors, same entity timing as the Perl source. Replaces Curses with direct ANSI truecolor escapes using the same RGB values as our Homebrew fix (xterm-256 slots 16-231).
Single-file animation engine: Canvas with per-cell true-color, ocean gradient background, waves, castle, seaweed, fish, shark, jellyfish, ship, bubbles. No Curses dependency — pure ANSI escape codes.