smolworld / README.md
p3nGu1nZz's picture
✨ Update README.md; enhance project description, add features overview, installation instructions, and license information
2ac6c32
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

  1. Clone the repository
git clone https://huggingface.co/spaces/p3nGu1nZz/smolworld
cd smolworld
  1. 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.