The evolution becomes immersive

I've recently added a major new feature to my evolution simulation project - a dual rendering system with a navigable viewport. This update introduces two distinct ways to visualize the simulated world:
Global view
The original view remains available, showing the entire simulation world at once. This provides an overview with simplified entity representations, suited for monitoring large-scale patterns and population distributions.
Rich view
The new rich client offers a limited rectangular viewport showing only a portion of the world at any time. This scoped view enables:
- Detailed organism rendering with segments, patterns, and dynamic visual traits
- Amplitude-based wobble effects for environmental conditions
- Cross patterns with wobble effects for resource elements
- Enhanced color generation based on species traits
Most importantly, users can now navigate through the world using arrow keys, moving their viewport to explore different regions of the simulation as it evolves. This is what will become the actual game players will play.
Technical implementation
Behind the scenes, this update required significant architecture changes:
- Created a dual client state system with appropriate viewport handling
- Implemented separate drawable classes for minimal and rich entity rendering
- Added user input handling for movement
- Developed canvas coordinate transformations for viewport display
- Rendered oragnisms closer to actual animals and plants - with much more to be done there
The result is a more immersive and interactive experience that allows users to explore the evolution simulation in unprecedented detail while maintaining the option for a global overview.