polyweave
A Claude Code plugin for making a game's parts by declaring what each has to satisfy: 3D assets (geometry, surface and motion) and the pictures they start from, sound loops held to a seam, and the names and lines of the game's world. It works on top of Blender, Godot and paid generators. Levels are next, on the roadmap.
The premise: generating a mesh is the cheap part. The expensive part is everything between having a mesh and knowing it is right, and today that is a person changing one number at a time and looking at a two-minute render. polyweave aims to close that loop — you state what the asset has to satisfy, and it searches for the parameters that satisfy it, measuring against the reference rather than against an opinion.
It is built for an agent to drive. No GUI, no account, no hosted service: it runs on your machine against files in your own repository.
Status
The status is not typed here, because a typed status goes stale: this file said "Block A
has started" a hundred shipped lines after most blocks were built. docs/ROADMAP.md holds
what is still open, block by block, and docs/CHANGELOG.md what has shipped; the site's
landing page states the count, derived from the roadmap. Every line in that file was drawn
from a failure measured in a real project, and it also carries the non-goals, which say
what this deliberately will not be.
No number anywhere is yet a measurement of polyweave: that is Block H, where a real game adopts the plugin and the loop ledger records what an asset cost to make each way.
The plugin
Python, under src/polyweave, against Python 3.11 — which is the interpreter Blender 4.2
ships, and code here may have to run inside it. It depends on numpy and Pillow, and on
nothing else. Blender is optional: pip install -e ".[blender]" brings bpy in for the
render path, and without it capabilities() says so and a render refuses rather than
importing a renderer nobody asked for.
On PyPI the distribution is polyweave-gamekit, because polyweave there is an
unrelated project: pip install polyweave-gamekit[audio] installs it with an extra, and
the import and python -m polyweave keep the short name. A v<version> tag publishes it
through .github/workflows/publish.yml, to TestPyPI first and then PyPI, and a manual run
of that workflow rehearses on TestPyPI alone; the version is polyweave.__version__, and the
plugin manifest carries the same number.
It is served as a Claude Code plugin from this repository. .claude-plugin/ holds the
marketplace, which names plugin/ as the plugin: its manifest, its hooks and
skills/polyweave/, the skill that drives it, and nothing else an adopter would have to
download. python -m polyweave serve is the MCP server every operation is exposed
through.
python tools/gate.py # the suite, in tests/, under a lock, stamped
python -m ruff check . # the linter
python -m ruff format . # the formatter
Roadmap docs
docs/ROADMAP.md, docs/CHANGELOG.md and docs/IMPROVEMENTS.md are maintained by roadkeep
and are not edited by hand — python .roadkeep/scripts/roadkeep.py is the entry point here.
docs/specs/ is the other half: the contracts that more than one roadmap line depends on — a
file format, a vocabulary, a behaviour every call obeys. Those are ordinary documents, edited
directly, and they are settled enough to build against.
The site
site/ is the public page, at alegauss.github.io/polyweave/ once Pages is pointed at the
site workflow. It says on the page — second, above everything but the hero — how many
blocks are built and how many lines are still open.
Everything it counts is generated from docs/ROADMAP.md through roadkeep rather than typed,
so the page cannot disagree with the file, and npm test fails the build if the stated
status differs from the roadmap's. See site/README.md.
More tools by alegauss
For Claude Code:
- Claude Code Tray: your rate-limit usage as a Windows tray icon that turns red before you run out.
- roadkeep: keeps ROADMAP, CHANGELOG and IMPROVEMENTS to one format, as a CLI and a Claude Code plugin.
- commitclerk: Conventional Commits messages from your staged diff, in a single-file Python CLI.
For Windows developers:
- winwright: drives a Windows desktop app from a test and reports what was actually observed.
- FreeWilly: Docker on Windows without Docker Desktop, with no admin prompt and no telemetry.
- Quickshell: an SSH client for Windows with sessions, keys, SFTP and tunnels, and without the rest of the suite.
All of them: alegauss.github.io
Metadata
Release files for polyweave-gamekit 0.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 | Provenance | |
|---|---|---|---|---|
| polyweave_gamekit-0.1.0.tar.gz | 3.0 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| polyweave_gamekit-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.3 MB
Release files / polyweave_gamekit-0.1.0.tar.gz
| Download URL | polyweave_gamekit-0.1.0.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dddb168d04231fa6de658a74db2c5dc86c8e0f044c9f8e5c31984eb3e818c738
|
|
BLAKE2b-256 checksum How to use checksums |
bc172c20a486bd3ea6a4ab067dc292d02fadfbb7aceddb8cca22c4df415d6ab8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 22, 2026.
Transparency logRelease files / polyweave_gamekit-0.1.0-py3-none-any.whl
| Download URL | polyweave_gamekit-0.1.0-py3-none-any.whl |
|---|---|
| Size | 3.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5d96df7f620c012a6c984b71f91bd188faa3f5e337cb8d9da25c28be86653709
|
|
BLAKE2b-256 checksum How to use checksums |
b4f6e2fd4c2eee62b55be04a3e3de37bc5c8d8e009c69852273a2f949ae0a164
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 22, 2026.
Transparency logSecurity for polyweave-gamekit 0.1.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for polyweave_gamekit-0.1.0.tar.gz
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 Oct 22, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.