📊 Project status
Scope: SwirEngine 2.1 - SwirEditor & Creator Workflow
Progress: [##############################] 100.0%
Counter: 10 / 10 milestones
Status: COMPLETE
Active verified development scope: SwirEngine 2.1 — SwirEditor & Creator Workflow
2.1 roadmap: 10/10 milestones = 100.0% — COMPLETE
2.1 release: PUBLISHED — GitHub Release and PyPI verified
Latest public stable release: SwirEngine 2.1.0
Release date: 2026-09-23
Release source: immutable tag v2.1.0; exact source identity is preserved by release provenance and SHA-256 checksums.
SwirEngine 2.1.0 is publicly released on GitHub and PyPI and is the current stable package. The finite ROADMAP_2_1.md scope is complete at 10/10: it delivers the project-backed SwirEditor, multi-scene authoring, runtime-backed gameplay tooling, production viewport, asset workflows, Play/Debug/Profiler, Build/Export Wizard and verified 2D, 3D and multiplayer shipping paths. Release artifacts are bound to the immutable v2.1.0 source and accompanied by deterministic SHA-256 checksums and provenance.
Stable 2.0 maintenance is no longer tracked as a separate active progress scope. Historical audit evidence remains preserved, and concrete regressions, compatibility failures, security/safety issues or release-blocking defects still reopen focused maintenance when discovered.
✨ Highlights
| Area | Verified capability |
|---|---|
| Unified 2D + 3D | Sprite/tilemap workflows and OpenGL-backed 3D scenes under one Python-first runtime. |
| Scenes + content | Scenes, prefabs, serialization, production scene packages, content build graphs and streaming foundations. |
| SwirEditor 2.1 | Project-backed sessions, Project Hub, multi-scene authoring/recovery, typed Inspector multi-selection, component/prefab authoring, a production 2D/3D viewport with picking, camera navigation, transform gizmos, snapping, overlays, grid controls and live rendering, verified asset import/reimport and content validation, integrated Play/Pause/Stop/Step with isolated runtime state, Console source navigation, Profiler views and failure-safe diagnostics, runtime-backed gameplay authoring for input/rebinding, display/accessibility settings, animation, physics/collision, navigation/AI, audio, UI/HUD and save/profile workflows, plus the verified Build/Export Wizard. |
| Rendering | Materials, lighting, shadows, post-processing, instancing, culling, terrain/LOD and bounded transient-resource reuse. |
| Animation | Tween/timeline/state machines, animation graphs, skeletal animation and GPU skinning paths, with SwirEditor 2.1 clip authoring backed by the shipping runtime sampling model. |
| Physics + navigation | 2D/3D collision and rigid-body systems, character controllers, navigation and local-avoidance foundations, with SwirEditor 2.1 creator tooling backed by the shipping runtime APIs. |
| Audio | Runtime audio engine, buses/groups, spatial behavior and optional audio support, with SwirEditor 2.1 bus/cue authoring and runtime preview. |
| UI + input | Retained UI, focus/navigation, keyboard/mouse/gamepad input, rebinding and settings foundations, with integrated SwirEditor 2.1 HUD/input authoring. |
| Saves + profiles | Save/profile APIs, autosave/recovery foundations and production user-data integration, with SwirEditor 2.1 profile/policy/default authoring and runtime round-trip validation. |
| Networking | Gameplay networking, compatibility fingerprints, reconnect resynchronization and a fixed-tick headless dedicated-server adapter exercised by the multiplayer fixture. |
| Creator workflow | swirengine workflow composes project/run/scene/content/settings/save-policy checks, safe preparation, export-profile validation and diagnostics. |
| Packaging | Exact-source wheel/sdist checks, isolated installs, installed-artifact fixture execution, host-native desktop packaging validation and SwirEditor 2.1 Build/Export staging with deterministic artifact inspection. |
| Performance evidence | Deterministic runtime/creator/network/render/world workloads with contextual CI evidence; no unsupported cross-engine FPS claims. |
| Diagnostics | Profiling, bounded crash/support reporting, streaming pressure/lifecycle diagnostics, deterministic build-integrity seals and privacy/integrity audits for support bundles. |
| Compatibility | Published 1.5.0 root API remains the documented migration floor; 2.0 base-engine CI covers the maintained 64-bit CPython 3.10–3.14 hosted runner matrix within documented architecture limits. |
📦 Install
Install the latest public stable release from PyPI:
python -m pip install -U "swirengine==2.1.0"
Optional audio support:
python -m pip install -U "swirengine[audio]==2.1.0"
Source development:
git clone https://github.com/Swir/SwirEngine.git
cd SwirEngine
python -m pip install -e ".[dev]"
The verified base-engine matrix covers maintained 64-bit CPython 3.10–3.14 jobs across hosted Windows, Linux and macOS runners. This is not a blanket claim for 32-bit Python, PyPy, free-threaded CPython, all CPU architectures or every optional dependency. See docs/SUPPORT_MATRIX_2_0.md.
🚀 Quick Start
2D
from swirengine import Color, Game, Rectangle2D
game = Game("My 2D Game", 1280, 720, mode="2d")
player = game.add(Rectangle2D(0, 0, 120, 70, Color(0.1, 0.75, 1.0, 1.0)))
@game.update
def update(dt):
speed = 380
if game.key("A"):
player.x -= speed * dt
if game.key("D"):
player.x += speed * dt
game.run()
3D
from swirengine import Color, Cube3D, Game, Vec3
game = Game("My 3D Game", 1280, 720, mode="3d")
cube = game.add(Cube3D(position=Vec3(0, 0, -4), color=Color(0.2, 0.7, 1.0, 1.0)))
@game.update
def update(dt):
cube.rotation.y += 50 * dt
cube.rotation.x += 25 * dt
game.run()
🧭 Active development and stable maintenance
SwirEngine 2.1.0 is the current public stable release. Its completed source roadmap remains preserved as verification evidence while the next development roadmap is defined:
ROADMAP_2_1.md— 2.1 SwirEditor & Creator Workflow, 10/10 = 100.0%, source roadmap complete; publication pending.
Historical release-development detail remains preserved in ROADMAP_2_0.md, which is 10/10 = 100.0% only for its named source-development scope. The former 2.0 post-release audit is retained as a historical verification snapshot rather than a parallel active roadmap.
Key documentation
ROADMAP_2_1.md— completed 2.1 editor/creator source roadmapdocs/MIGRATING_TO_2_1.md— 2.0 → 2.1 migration guidance for source developmentdocs/RELEASE_GATE_2_1.md— 2.1 milestone acceptance and publication boundaryROADMAP_2_0.md— historical 2.0 source-development roadmapdocs/SWIRENGINE_2_0_POST_RELEASE_AUDIT.md— archived post-release verification snapshotdocs/SWIRENGINE_2_0_RUNTIME_LIFECYCLE_AUDIT.md— verified 2.0 lifecycle evidencedocs/MIGRATING_TO_2_0.mddocs/public_api_2_0.jsondocs/API_STABILITY.mddocs/CREATOR_WORKFLOW_2_0.mddocs/MULTIPLAYER_PRODUCTION_2_0.mddocs/RUNTIME_SCALABILITY_2_0.mddocs/SUPPORT_MATRIX_2_0.mddocs/REAL_GAME_SHIPPING_2_0.mddocs/PACKAGING_SHIPPING_2_0.mddocs/PERFORMANCE_EVIDENCE_2_0.mddocs/RELEASE_SAFETY_2_0.mddocs/RELEASE_GATE_2_0.mddocs/SWIRENGINE_2_0_READINESS_AUDIT.md— pre-release readiness evidence
🎮 Real-game integration fixtures
Representative projects are source-only engine integration fixtures and do not receive separate releases:
- SwirEngine 2D Game Demo —
examples/2d_game_demo/ - SwirEngine 3D Game Demo —
examples/3d_game_demo/ - SwirEngine Multiplayer Game Demo —
examples/multiplayer_game_demo/ - Neon Frontier 1.3 — locked historical compatibility fixture
- Neon Frontier 1.4 — locked compatibility/showcase fixture
- Neon Cube Hunt 3D — OpenGL + packaged-runtime regression arena
- Neon Snake 3D — complete 3D regression project
The maintained shipping and compatibility gates drive representative fixtures through creator preparation, source runtime, deterministic staged export, staged runtime, settings/save boundaries, scene/content integrity, UI focus/navigation/activation and privacy-safe diagnostics. Fixture failures are engine integration failures, not demo-only issues.
🧪 Development and verification
python -m pip install -e ".[dev]"
pytest
ruff check src tests examples demo_projects tools
python -m compileall -q src tests examples demo_projects tools
python tools/generate_progress_svg.py --check
python tools/verify_2_1_release_readiness.py
python tools/verify_2_0_release_candidate.py --require-final
python tools/verify_creator_workflow_2_0.py
python tools/verify_runtime_scalability_2_0.py
python tools/verify_platform_matrix_2_0.py
python tools/verify_real_game_shipping_2_0.py
python tools/verify_performance_evidence_2_0.py --output build/performance-evidence.json
python tools/verify_release_safety_2_0.py
tools/generate_progress_svg.py deterministically derives the PyPI-safe README ASCII progress block and the internal/roadmap SVG assets from the same verified 2.1 checklist. Presentation tests verify source math, the exact ASCII percentage/counter, the absence of README progress SVGs, bounded SVG fill geometry, the single roadmap mini, the template contract and legacy-meter cleanup outside the explicit PyPI exception.
🧱 Architecture and technology
SwirEngine keeps a high-level Python creator surface over modular runtime systems. The repository contains rendering, scene/ECS, assets, serialization, physics, audio, input/UI, networking, editor, diagnostics and export/shipping modules with focused regression workflows. Advanced systems remain available through explicit APIs instead of being hidden behind one monolithic game object.
Engineering quality is evaluated against complete games, public installation, resource lifetime, deterministic tooling, creator workflow, failure handling and shipping behavior—not feature count alone.
🔒 API and release policy
v1.4.0,v1.5.0andv2.0.0are immutable published releases; release history is not rewritten.- 2.1.0 is the latest public stable package.
- 1.6, 1.7, 1.8 and 1.9 remain completed source-only checkpoints and were never published as releases.
- The 2D, 3D and multiplayer game demos remain source-only integration fixtures.
- The published 1.5.0
swirengine.__all__surface remains the documented starting compatibility floor for 2.0 migration validation. - Breaking post-2.0 changes require explicit engineering justification, migration documentation and tests.
- SwirEngine 2.1.0 is published from its guarded release gate; the 10/10 roadmap remains the preserved acceptance record for that release.
- A completed historical roadmap does not imply literal perfection; concrete stable-line regressions still reopen focused maintenance.
🗺 Roadmaps and active development
| Line | Scope | Verified state |
|---|---|---|
| 1.0 | ROADMAP.md |
31/31 = 100%, historical |
| 1.1 | ROADMAP_1_1.md |
10/10 = 100%, historical |
| 1.2 | ROADMAP_1_2.md |
10/10 = 100%, historical |
| 1.3 | ROADMAP_1_3.md |
10/10 = 100%, locked compatibility |
| 1.4 | ROADMAP_1_4.md |
10/10 = 100.0%, released/locked |
| 1.5 | ROADMAP_1_5.md |
10/10 = 100.0%, released/locked |
| 1.6 | ROADMAP_1_6.md |
10/10 = 100.0%, source-only checkpoint |
| 1.7 | ROADMAP_1_7.md |
10/10 = 100.0%, source-only checkpoint |
| 1.8 | ROADMAP_1_8.md |
10/10 = 100.0%, source-only checkpoint |
| 1.9 | ROADMAP_1_9.md |
10/10 = 100.0%, source-only checkpoint |
| 2.0 | ROADMAP_2_0.md |
10/10 = 100.0%, released 2026-09-19 |
| 2.0 post-release | docs/SWIRENGINE_2_0_POST_RELEASE_AUDIT.md |
5/10 = 50.0%, archived snapshot |
| 2.1 | ROADMAP_2_1.md |
10/10 = 100.0%, released 2026-09-23 |
⚠️ Current limitations
- SwirEngine 2.1.0 is published; future feature work must begin under a new explicit roadmap rather than silently widening the completed 2.1 scope.
- The verified base-engine matrix covers only the maintained 64-bit hosted runner architectures exercised by CI; 32-bit Python, PyPy, free-threaded CPython and unverified architectures are not claimed.
- Optional extras such as audio require their own dependency/runtime evidence beyond the base-engine support matrix.
- Desktop build plans are host-native; unsupported cross-compilation is intentionally rejected.
- The dedicated-server contract is headless and deterministic but does not claim public matchmaking, hosting infrastructure or universal transport support.
- Cross-engine FPS, latency and memory superiority rankings remain intentionally unclaimed without an identical maintained comparison harness.
🔎 Search Keywords
Python game engine · Python 2D engine · Python 3D engine · Python multiplayer engine ·
pip game engine · game development Python · OpenGL Python game engine · scene prefab engine ·
Python ECS · Python physics engine · Python game editor · SwirEditor · desktop game packaging ·
PyInstaller game build · game engine networking · SwirEngine
Metadata
Release files for swirengine 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| swirengine-2.1.0.tar.gz | 2.6 MB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| swirengine-2.1.0-py3-none-any.whl | Python 3 | none | any | Details |
| swirengine-2.1.0-cp314-cp314-win_amd64.whl | CPython 3.14 | CPython 3.14 | Windows x86-64 | Details |
Total release size: 4.1 MB
Release files / swirengine-2.1.0.tar.gz
| Download URL | swirengine-2.1.0.tar.gz |
|---|---|
| Size | 2.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8be0e2497924fc299f741a0f57683bf51e7214d8f56f46aebd52a75b7d3ce391
|
|
BLAKE2b-256 checksum How to use checksums |
50fbc48b9c43245b7bec8997236c42659fbc9ce2b4975c2082e79149bdf7b488
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency logRelease files / swirengine-2.1.0-py3-none-any.whl
| Download URL | swirengine-2.1.0-py3-none-any.whl |
|---|---|
| Size | 699.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3abe5fb423961867f49d5594b40e8f81446af7b665493dde5b40c4342ff87eb5
|
|
BLAKE2b-256 checksum How to use checksums |
27cf99c5b974ea6f1df2b7c2ddc7134e337476bec0dd929434cb27993e93731e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency logRelease files / swirengine-2.1.0-cp314-cp314-win_amd64.whl
| Download URL | swirengine-2.1.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 817.6 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1289514d9dbe54bd6cfb74fc263c1babc806f237d4f455654cbf8bb6b7b5ee4e
|
|
BLAKE2b-256 checksum How to use checksums |
9c00122629d9a4afa3f494c9789b8464e5e9125b9333a9d0132b745a1cc7181a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.
Transparency log