metadata
title: SmolWorld
emoji: π
colorFrom: yellow
colorTo: pink
sdk: static
sdk_version: latest
python_version: 3.12
suggested_hardware: t4-small
suggested_storage: small
app_file: index.html
short_description: Small-World Network of Evolving Spikey Neural Networks
pinned: true
license: apache-2.0
thumbnail: https://cdn-uploads.huggingface.co/production/uploads/smolworld/thumbnail.png
Overview
SmolWorld is a lightweight JavaScript-based simulation engine designed for spikey neural network visualization and evolution. Built with performance and extensibility in mind, it provides a robust foundation for research and educational purposes in network science.
Features
Core Architecture
- Entity Component System (ECS) for efficient entity management
- Layer-based rendering system with multiple contexts
- Terminal interface with command history
- Advanced camera controls with smooth transitions
- Comprehensive vector and matrix math utilities
Technical Components
Scene Management
- Multi-layer rendering (Game, GUI, Debug, Terminal)
- Entity management with transform hierarchy
- Scene-wide input handling system
Interactive Terminal
- Toggle visibility with backtick (`)
- Command history navigation
- Scrollable output buffer
- Smooth animation transitions
Camera System
- WASD navigation controls
- Mouse wheel zoom functionality
- Smooth lerp-based transitions
- Position and zoom reset capabilities
Debug Features
- Real-time FPS counter
- Camera position monitoring
- Entity bounding box visualization
- Zoom control interface
Installation
Prerequisites
- Modern web browser
- Local development server (optional)
Getting Started
- Clone the repository
git clone https://huggingface.co/spaces/p3nGu1nZz/smolworld
cd smolworld
- Open index.html in your browser or serve through a local server
Controls
- WASD: Camera movement
- Mouse Wheel: Zoom in/out
- Backtick (`): Toggle terminal
- Plus/Minus: Manual zoom controls
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
Citation
If you use this project in your research, please cite:
@software{smolworld,
author = {K. Rawson},
title = {SmolWorld: Small-World Spikey Network Simulation},
year = {2025},
publisher = {Huggingface},
journal = {Huggingface space},
howpublished = {\url{https://huggingface.co/spaces/p3nGu1nZz/smolworld}}
}
License
This project is licensed under the Apache 2.0 License.