Metadata-Version: 2.4
Name: continuous-cellular-engine
Version: 0.1.0
Summary: Interactive Taichi engine for continuous cellular automata and Lenia-style generative art
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/satori-44/continuous-cellular-engine
Project-URL: Documentation, https://github.com/satori-44/continuous-cellular-engine/blob/main/docs/ARCHITECTURE.md
Project-URL: Repository, https://github.com/satori-44/continuous-cellular-engine
Project-URL: Issues, https://github.com/satori-44/continuous-cellular-engine/issues
Keywords: taichi,cellular-automata,lenia,generative-art,gpu
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: End Users/Desktop
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Scientific/Engineering :: Artificial Life
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: taichi>=1.6.0
Provides-Extra: test
Requires-Dist: pytest>=8; extra == "test"
Dynamic: license-file

# Continuous Cellular Engine

A real-time, interactive continuous cellular-automaton sketch built with Python and [Taichi](https://taichi-lang.org/). It evolves a scalar field with a ring-shaped Gaussian neighborhood kernel and a smooth Lenia-style growth rule, then renders the result as a procedural RGB palette.

> **Hardware and performance:** the program initializes Taichi with `ti.gpu`; a compatible GPU backend and working graphics/window environment are needed to run the interactive demo. Performance depends heavily on the Taichi backend and device. The `300+ FPS` figure sometimes associated with this algorithm has not been benchmarked or guaranteed by this repository.

## Install

```bash
python -m pip install continuous-cellular-engine
```

## Run

```bash
continuous-cellular-engine
# or
python -m continuous_cellular_engine
```

Use the mouse to paint seeds. Press **Space** to pause/resume, **R** to reseed, **C** to clear, and **Esc** to exit. See the [usage guide](docs/ARCHITECTURE.md#usage) for source installation, controls, parameters, and platform notes.

## What it does

- Evolves a continuous state `S(x, y)` clamped to `[0, 1]` rather than binary cells.
- Measures local density with a normalized radial Gaussian ring and toroidal boundary wrapping.
- Applies a Gaussian growth function and an explicit Euler integration step.
- JIT-compiles the grid work through Taichi and visualizes the field with a phase-shifted RGB palette.

Read the [architecture and usage guide](docs/ARCHITECTURE.md) for equations, execution flow, implementation details, limitations, and examples. The runnable implementation is [`continuous_cellular_engine.py`](continuous_cellular_engine.py).

## Development

```bash
python -m pip install -e '.[test]'
python -m compileall -q continuous_cellular_engine.py tests
python -m pytest
```

The tests validate Python syntax and the source-level simulation structure without requiring a GPU. GitHub Actions runs these checks and validates the package build on pushes and pull requests.

## Releases

Version tags use `vMAJOR.MINOR.PATCH`. Pushing a `v*` tag builds distributions and attempts publication to PyPI through [Trusted Publishing](https://docs.pypi.org/trusted-publishers/). The repository's workflow and one-time PyPI publisher setup are described in [release setup](docs/ARCHITECTURE.md#publishing-to-pypi).

## License

This project is licensed under the [Apache License, Version 2.0](LICENSE). See the license file for terms, conditions, and notices.
