Skip to main content

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)

Source distribution for polyweave-gamekit 0.1.0
File Size Uploaded Provenance
polyweave_gamekit-0.1.0.tar.gz 3.0 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for polyweave-gamekit 0.1.0
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page