Skip to content
Changelog

What polyweave shipped.

Every entry in docs/CHANGELOG.md, read at 2a0831a and dated by the commit that wrote it.

Atom feed
  1. A flattened sphere creases at its rim whatever its steps

    A sphere's rings and meridians follow its normal, so a squashed or oval sphere reads no crease at its rim at the steps it declares (design recorded in src/polyweave/layers/geometry/solid.py).

    PW565 · 0b75d59
  2. A bevelled or carved piece loses its colours, and every built mesh is written faceted

    A solve keeps what each face wears, and a document's smooth welds and shades a mesh smooth by angle.

    PW564 · fb8b87a
  3. A bevel in a fresh process crashes with No module named bmesh

    A bevel loads Blender before bmesh, so a declaration with a bevel builds in a fresh process.

    PW563 · fb8b87a
  4. A sphere or torus declared with steps crashes the build with a TypeError

    Every primitive takes steps as a whole number, so a sphere or torus declared with steps builds.

    PW562 · fb8b87a
  5. A loop cut by sound.loop always opens on the track's first sample, even a dying beat

    sound.loop takes a start bar and rotates the loop to open on it, seamless still, and answers starts_at; Spinhold's intro now opens on bar 2, past the dying beat.

    PW561 · 1078fb1
  6. sound.loop fails an Ogg loop's seam that sound.measure reads as ordinary

    sound.loop judges its seam with sound.measure's seam_step and seam_flux under those names, and an encoded loop says how it read as cut (design recorded in src/polyweave/layers/sound/sound_loop.py).

    PW560 · 0f2969d
  7. A recorded track cannot become an editable music.toml score

    music.from_audio hears a recording's stems as notes and hits, drafts a valid score, and answers the calls that sit it by the original (design recorded in src/polyweave/layers/sound/music_heard.py).

    PW559 · 277c640
  8. A voice over a recorded music track cannot be removed through polyweave

    sound.stems splits a recorded track with Demucs into vocals and no_vocals, or four stems, each recorded and saying where it plays against the mix; Spinhold's intro lost its spoken tag through it.

    PW558 · 64dd88e
  9. the players kit copies no ui_accept or ui_cancel per player, so one player's menu cannot answer their own A and B alone

    Each joined player gets their own copy of the menu actions on their pad, and the first player's answer their pad alone once two play (design recorded in docs/specs/kit.md).

    PW557 · eea6655
  10. a pad whose name hides its maker is named in the wrong buttons, and the player cannot say which family it is

    A player chooses a pad's button names on the remap screen, kept by its name; every prompt and menu follows the choice at once (design recorded in docs/specs/kit.md).

    PW556 · af68216
  11. the remap kit offers no ready button maps, so a player changes a scheme only by rebinding each action

    Both remap screens carry a Map row: maps stepped and previewed on the pad, tried on a countdown and kept with a second press (design recorded in docs/specs/kit.md).

    PW555 · 7e65557
  12. a keyed timeline of a scene's own properties cannot be declared and built, only skeletal motion and camera shots

    clip.timeline builds a declared *.timeline.toml of keyed properties and marks into an AnimationPlayer scene the game plays or seeks (design recorded in docs/specs/motion.md).

    PW554 · eedbbaa
  13. game.open passes no arguments to the game, so a state the game opens by a flag is reached by calling private methods

    game.open passes the game's own flags, kept in its flows, and clip.shots opens the game with them itself: a world's cutscene is one call (design recorded in docs/specs/driving.md).

    PW553 · 7841a56
  14. the prompts kit's follow keeps a lambda whose node was freed, and the next refresh calls it on a null instance

    refresh asks each follower again just before calling it, so a screen freed mid-refresh is let go (design superseded: the freeing was mid-refresh) (design recorded in docs/specs/kit.md).

    PW552 · 89b7913
  15. a help line's {action} marks fill only as words; bbcode reads another mark, ignores the player and pad, and drops {move}

    fill_bbcode draws a help row's own {action} and {move} marks as each player's icons, words where none, and watch_bbcode keeps it filled (design recorded in docs/specs/kit.md).

    PW551 · 99fecd7
  16. a kit's copied records name the artefact inside polyweave's tree, so provenance.verify reports every kit icon missing

    kit.install and kit.update rewrite each copied record to name the file where it landed in the game, so verify finds every kit icon (design recorded in docs/specs/kit.md).

    PW550 · ba6bd79
  17. an accepted take cannot be placed at the path the game loads, so it is copied by hand with a record naming its old path

    verdict.place puts an accepted member where the game loads it, with a record naming that path, the take and the verdict (design recorded in docs/specs/acceptance-spec.md).

    PW549 · df1ac7f
  18. no measure reads a transparent picture's alpha edge, so a halo or a wide soft fringe round it passes every spec

    fringe_width, fringe_luma and fringe_delta_e read a transparent edge, so a spec holds a logo's outline free of a wide ramp or halo (design recorded in docs/specs/measurements.md).

    PW548 · 7fd4d4b
  19. a sitting of alternatives for one slot lets a person accept every one, with no way to pick just one

    A sitting family may be a pick of alternatives: the page asks which one, batch accept skips it, and voice.choose takes the pick from the answer (design recorded in docs/specs/acceptance-spec.md).

    PW547 · fa3d6fb
  20. a dialogue kit proof ends with no signal under the full gate's load, so its broken-box case fails with nothing to read

    The dialogue proof times typing by summed frame time, not a wall clock read before frame one; a proof cut short names its last KIT STEP (design recorded in docs/specs/kit.md).

    PW546 · 245cb3e
  21. the prompts kit starts on the keyboard before any input, so a game launched with a pad in hand shows keys

    Before any input the prompts kit takes the first connected pad's family, the keyboard where none is, so a game needs no boot code to name the pad (design recorded in docs/specs/kit.md).

    PW545 · 00a45cb
  22. kit.install writes the remap kit's own file into polyweave.toml even where the game declares a STORE

    A kit may name the project constant that says where it keeps its file; install then writes the game's STORE file and section into [kit.remap] (design recorded in docs/specs/kit.md).

    PW544 · 89261b0
  23. loading an older bindings file logs an engine error for every action the player never rebound

    The store asks for each action's key before reading it, so a file naming only rebound actions loads with no engine error; the remap proof listens for one (design recorded in docs/specs/kit.md).

    PW543 · 4b38c83
  24. the drawn pad screen shows raw action names, unfilled help and works only on ui_accept and ui_cancel

    The pad screen reads each action's declared label, its help names the buttons through the prompts kit, and both screens work on a declared CONFIRM and BACK (design recorded in docs/specs/kit.md).

    PW542 · 29a08bc
  25. the remap screen says nothing when it listens and rebuilds its rows on each bind, so a host game loses focus

    The remap screen says listening and listened, answers is_listening, and repaints its rows in place, so a host game keeps focus after a bind (design recorded in docs/specs/kit.md).

    PW541 · b747585
  26. the remap screen rebinds on a store of its own, so co-op pads lose their narrowing and the shared store goes stale

    The remap screens bind on the shared store, which says changed, and the players kit follows it, so a rebind keeps each pad on its own actions (design recorded in docs/specs/kit.md).

    PW540 · 39c64f9
  27. the players kit's proof expects a pad seated on its first join press, so a game declaring AUTO_JOIN false fails it

    The players proof holds AUTO_JOIN on while it proves seating and puts the game's value back, so a game that answers its own joins holds.

    PW539 · 1f7de80
  28. the players kit's proof resets bindings through the game's declared store, wiping a player's own controls

    The players proof rebinds and resets a store of its own run, so installing the kit leaves a game's declared store and a player's controls untouched.

    PW538 · 1f7de80
  29. the remap kit's proof reads the screen's words in the game's language, so a pt-BR game with its own rows fails it

    The remap proof reads in a language of its own, set again after the game's autoloads, and holds in Spinhold on a pt-BR machine with its pt_BR rows.

    PW537 · 1337aaf
  30. a kit's older-file adoption is a fixed user:// path, so a game's tests overwrite kit fields to keep off the real file

    A relative ADOPTED file is read beside the options file, and adopted(folder) gets the saves folder, so a test's store adopts its seed (design recorded in docs/specs/kit.md).

    PW536 · 90ea7ac
  31. the options kit requires the menus and prompts kits, so a game wanting only the store ships 69 unused icons

    kit.install options without screen lands the settings store alone, with no menus or prompts, and kit.prove proves a kit whole and without each part (design recorded in docs/specs/kit.md).

    PW535 · 2d35cf6
  32. the saves kit's proof writes slots 1 and 2 by number, so a game declaring one slot fails it

    The saves proof runs its corrupt, migration, newer-build and already-played cases on the last slot a game declares, so a game keeping one save proves as it is.

    PW534 · a328c3f
  33. a cube's settled frame comes out as a permutation on some CPUs, so CI's cube test fails now and then

    A near tie between world axes goes to x, y, z order, so a cube settles to the same frame whatever rounding the CPU's BLAS kernel leaves.

    PW533 · dd99a18
  34. kit.prove proves each fixture under its fixed project name, so a run that left state in its user:// fails the next proof

    kit.prove copies each fixture under a name of its run and removes that user:// after, so a marker left under the fixture's own name fails no proof.

    PW532 · cbe3ba8
  35. [layers] on proposed for a project leaves off a layer its records and *.camera.toml show it using

    init and migrate turn on a layer whose record kind the tree's provenance carries, and motion for a *.camera.toml, so Spinhold's camera clip stays served.

    PW531 · cf3a5f5
  36. migrate leaves the imports it rewrote out of sorted order, so an adopter's import lint fails until they fix it by hand

    migrate puts each run of polyweave imports it rewrote in isort's order, so Cottony's fixture passes its import lint once migrated (design recorded in docs/specs/adoption.md).

    PW530 · 07cfe52
  37. A polyweave.toml holding [voxels] reads as a geometry declaration, so a build of the tree refuses the project file

    A project's polyweave.toml is never read as a shape, so a [voxels] budget in it no longer breaks build_all, the notice's count or init's geometry signal.

    PW529 · 7329797
  38. the crash kit's mid-run kill races the game under load, so the full gate fails it and a lone run passes

    The kill waits for the game's own first log line, and each crash test proves under a name of its own; the file holds 10 of 10 on 12 workers, from 1 of 10.

    PW525 · 565aae2
  39. a Blender render test's xdist worker crashes under the full gate and passes when the file runs alone

    Measured at 1 crash in about 180 gate runs and 0 in ten render runs on 12 workers; the gate now names a crashed worker's test and keeps Blender's crash log (design recorded in tools/gate.py).

    PW524 · d238113
  40. the saves kit's proof writes to one fixed user:// folder, so two proofs at once empty each other's slots

    The saves, options, remap and launch proofs each write under user:// paths of their own run, so two proofs at once no longer empty each other's files.

    PW523 · 39f6092
  41. Spinhold still runs on the flat package, so the 443 records and 30 verdicts most at stake in the break are unchecked

    Spinhold runs on the layered package with its four reads identical, so 443 records and every verdict crossed; tools fell 201 to 183 (design recorded in docs/specs/adoption.md).

    PW522 · 96136f7
  42. Cottony still runs on the flat package and serves every layer, so the block is unproven on its first consumer

    Cottony runs on the layered package: its reads answer as before and its tools/list fell from 201 tools, 130,085 chars, to 181 and 114,489 (design recorded in docs/specs/adoption.md).

    PW521 · 8d3465f
  43. A project's polyweave.toml and the Python importing polyweave break on the new layout, with nothing to carry them over

    polyweave migrate rewrites a project's imports from a data table and adds [layers] on; Cottony and Spinhold copies map whole (design recorded in docs/specs/adoption.md).

    PW520 · 293b350
  44. An extension would hide the gap it fills, so a measure two games both wrote never becomes vocabulary

    Every extension carries why, project.adoption lists it as not_yet_polyweave with its use and first day, and the brief names it (design recorded in docs/specs/project-config.md).

    PW519 · bd552a6
  45. a camera move cannot be declared as a clip or played by the game, so a cutscene's shots are numbers in the project

    clip.shots frames each shot of a camera clip in the running game and lays them out to judge; Spinhold's five opening shots wait for review (design recorded in docs/specs/motion.md).

    PW372 · 005f78d
  46. Cottony keeps its own settings and save code where the kits provide them

    Cottony runs on the options and saves kits with its own files gone, and a save the last release wrote loads with nothing lost (Cottony 20f98c4).

    PW371 · 98ea6d5
  47. Starship keeps its own bindings and co-op code after the input kits were extracted from it

    Spinhold runs on the prompts, remap and players kits with its own input code gone, and a player's rebinds load unchanged (Spinhold 798845a).

    PW370 · 4c6e773
  48. Training a Scenario model and drawing from it each speak to Scenario from the picture layer

    Scenario is an adapter that style.train and a trained model's pictures buy through, with training's charge owed by buy() (design recorded in src/polyweave/services/scenario.py).

    PW528 · 528427b
  49. The picture operations each send their own requests to Ideogram, and a charge sent but never delivered goes uncounted

    Ideogram is an adapter the picture operations buy through, and buy() owes a charge from submit until it is captured (design recorded in src/polyweave/services/service.py).

    PW527 · 4271311
  50. Meshy, Tripo and Rodin each carry their own purchase flow inside the mesh domain

    Meshy, Tripo and Rodin are adapters under services/, bought through one buy() that alone allows and captures; mesh.buy speaks to no service (design recorded in src/polyweave/services/service.py).

    PW526 · b661a26
  51. A project's own generator can run as a job but is no operation, so no agent finds it, describes it or searches over it

    A project's generator under [extend.operations] is a described tool and command, runs apart or as a job, is swept and recorded (design recorded in docs/specs/project-config.md).

    PW518 · ced4e89
  52. A project cannot add a measure of its own, so a look only its game needs is a fork, a side script or a PW line

    A project declares a measure under [extend.measures]; a spec bounds it as x.<project>.<name>, it runs apart, is recorded and goes stale (design recorded in docs/specs/measurements.md).

    PW517 · 6e0c946
  53. Each paid service's HTTP client is written inside the domain that buys from it, so a new service copies a client

    Every paid provider is an adapter under services/, and one buy() alone allows, owes and captures; no layer spends by itself (design recorded in src/polyweave/services/service.py).

    PW516 · efccc0c
  54. A material's finish and fuzz are special-cased in the bake and in write, so a toon or metal look is a third case

    The bake, the mesh writer and the review iterate over looks, so a new look is one module reaching both targets (design recorded in src/polyweave/layers/geometry/looks/__init__.py).

    PW515 · c73bce7
  55. Voxels are a branch inside build.write and a voxel_* module beside each mesh one, so a third form has no place to go

    build.write hands a declaration to the representation its table claims; a third is one new module (design recorded in src/polyweave/layers/geometry/representations/__init__.py).

    PW514 · 6472f5c
  56. A geometry op is spread over BUILDS, FIELDS, review's elif chain and voxels' bounds and TRACED, four places per op

    Each geometry op is one module under ops/ and BUILDS, FIELDS, TRACED, the voxel chains and the review words are read off them (design recorded in docs/specs/geometry.md).

    PW513 · d7f38ef
  57. Nothing proves a new layer can be added without editing the kernel, so the block's whole claim goes unchecked

    A tone layer added from a fixture folder reaches every surface with no core file naming it, and each broken seam fails the proof (design recorded in tests/test_a_whole_layer.py).

    PW512 · 6c28a5c
  58. census.py classifies every public function in the package in one map, so each new helper module edits it

    Each layer classifies its own helpers in its layer.py, a module named _x is internal by name, and the census keeps only the core's (design recorded in src/polyweave/surface/census.py).

    PW511 · 333de7c
  59. The tool list's budget has been raised about 30 times in a row, so it stops no growth and names no layer that grew

    Each layer's tools are held to a figure in its own layer.py and a session to SESSION_BUDGET, which capabilities reports (design recorded in src/polyweave/surface/server.py).

    PW510 · 3c4dcaa
  60. A project gets all 200 operations as tools whatever it makes, so a 2D game's agent loads Blender, voxel and rig tools

    project.init proposes [layers] on from the tree and says why each layer is on or off, so a new project gets only what it uses (design recorded in docs/specs/project-config.md).

    PW509 · af80075
  61. Every table polyweave.toml may hold is declared in one config.py, so a layer's settings are kernel code

    Each layer's settings.py declares its polyweave.toml tables and the kernel's schema is the union, so config.py holds only shared tables (design recorded in docs/specs/project-config.md).

    PW508 · 7459a9a
  62. Every error code lives in one 2,611-line codes.py, touched by 61 of the last 200 commits to the package

    Nine layers hold their own codes.py and the kernel's table is the union, so the kernel file halved to the kernel and loop codes (design recorded in src/polyweave/kernel/codes.py).

    PW507 · c0cc5d2
  63. A kernel or loop module can import a layer and both gates still pass, so the direction the layout states is a hope

    Each layer declares the layers it uses and test_layering refuses an undeclared edge or a cycle, so the direction holds layer to layer (design recorded in tests/test_layering.py).

    PW506 · 5d832a7
  64. asset.brief, the review page and loop.report each import every medium they describe, so one new layer edits all three

    A layer adds its section to asset.brief, loop.report and the review page as named parts, so those three import no layer (design recorded in src/polyweave/kernel/layer.py).

    PW505 · a500c98
  65. search.sweep can only draw a sample through render.bake, so picture, engine and preset each wrote a search of their own

    A fifth medium declares a producer for search.sweep instead of writing a search (design superseded: picture.fit is no search; engine's two enumerate grids).

    PW504 · 935f16e
  66. accept.check reaches into sound, vfx, video, flashes, render and reference_concept to measure a subject

    A layer's Subject measures its own file for accept.check, contrast is the engine's picture measure, and accept and measure import no layer (design recorded in src/polyweave/kernel/layer.py).

    PW503 · e83130c
  67. provenance names words, world, kits and driving and keeps a closed KINDS tuple, so the record format knows every layer

    Record kinds, each role's staleness check, what ships and outdated's sections come from layer.py, so provenance imports none (design recorded in src/polyweave/kernel/layer.py).

    PW502 · 713a0b1
  68. A verdict's answer branches on each domain by name, so every layer a person judges edits verdict.py

    verdict.judge hands each member to the one judge its layer declares and reports what it kept under that judge's name, so verdict imports no layer (design recorded in src/polyweave/kernel/layer.py).

    PW501 · bbb5a98
  69. A layer exists only as a line in a hand-kept MODULES tuple, so nothing reads what it contributes or what it needs

    Each layer declares itself in a layer.py found by walking layers/, and describe and capabilities say each one's layer and state (design recorded in src/polyweave/kernel/layer.py).

    PW500 · 3ac13b0
  70. The package's 128 modules sit flat, so nothing says which are shared core and which belong to one layer

    The package is now kernel, loop, a layer per medium, services and surface, so an import path says which way a dependency runs (design recorded in src/polyweave/__init__.py).

    PW499 · 957aba2
  71. union joins parts at a hard crease, so a body whose parts flow into each other, as moulded plastic, cannot be declared

    A blend op joins primitives by a fillet of radius where they meet, a round union of their fields meshed closed, each face in its part's material (design recorded in geometry.md).

    PW498 · 5a2fb91
  72. nothing measures how round a model's edges are, so a hard-edged piece in a soft-toy style reaches a person's sitting

    A spec bounds sharp_edge_share and edge_radius_min off a .glb at a stated crease, no render, and a refusal names where the hard edges are (design recorded in acceptance-spec.md).

    PW497 · 1e3c758
  73. a mesh's squash and jiggle when struck cannot be declared, so a toy that wobbles on a hit is a game's own vertex shader

    A vfx kind = "struck" declares give, wobble, settle and falloff, built as a shader and a strike() script, filmed struck and measured for a spec (design recorded in vfx.md).

    PW496 · 58777fc
  74. a material declares only colour and roughness, so a glossy plastic with clear coat, sheen and soft rim cannot be asked

    A material takes coat, sheen, rim and subsurface, derived onto the Principled BSDF the bake builds, and reads back as "clear-coated, glossy" (design recorded in geometry.md).

    PW494 · 08a328b
  75. a solid round on every edge, a capsule or a soft box, has no op, since plate rounds only its outline's corners in XY

    capsule and rounded_box are primitives, closed meshes the voxel test agrees with, and bevel takes segments and a round or chamfer profile (design recorded in geometry.md).

    PW493 · 4c4a113
  76. inflate swells one face of a drawing, so a body puffed round on both sides, as an inflatable toy is, cannot be declared

    A drawing inflated with sides = 2 is a closed pillow, its rim on the outline and round: 79° across it against a mirrored relief's 124° (design recorded in geometry.md).

    PW492 · 0b81e5d
  77. four source files cite a line through a mis-encoded section sign, so a search for that citation misses them

    The four signs are repaired, and a test fails on any source holding the twice-read sign or a byte-order mark, naming its file and line.

    PW491 · 20e48ad
  78. panel.capture films a panel only at its declared size, so how its shader draws it grown is never seen

    panel.capture takes sizes and films each state at each, so a test holds the stitch pitch at twice the width (design recorded in panel.md).

    PW490 · 56726bb
  79. a capture whose shader failed to compile answers ok, so panel.capture hands back stills of the bare white rect

    A shader that won't compile now fails the run as script-error at the shader's line, so panel.capture refuses the film as compose.unfilmed (design recorded in engine.md).

    PW489 · fd19ed9
  80. a capture warns same settings, different picture when only a sprite the scene draws changed, as if it were noise

    A recorded capture runs verbose and reads Godot 4's load lines, so a re-take whose sprite changed names that sprite, not noise (design recorded in docs/specs/engine.md).

    PW488 · a83c8d1
  81. engine.sweep keeps only the matched text of a hit, and a run its frame budget ended reads as one that never printed

    engine.sweep keeps each hit's whole printed line, and a run whose count reached the budget answers budget, not no-signal (design recorded in docs/specs/engine.md).

    PW487 · 66a4cea
  82. a sitting member that failed a bound shows no accept, so a person who likes the look cannot see how to approve it

    On a card that failed a bound, number reads as Accept and move the bound, and the card says why there is no plain Accept (design recorded in docs/specs/acceptance-spec.md).

    PW486 · f48c1a2
  83. the prompts kit's proof fails in a game running in another language, reading its translated key names as wrong

    The prompts proof reads names in a locale of its own and hands the game's back, so a pt-BR game holds, and a failure names both languages (design recorded in docs/specs/kit.md).

    PW485 · 03707eb
  84. the input kits fail to parse in a game that has its own class named Bindings, Spinhold among them

    Every kit script names another by a _Pw constant, kit.prove fixtures declare the bare names as global classes, and a failed proof says where it broke (design recorded in docs/specs/kit.md).

    PW484 · ee8a696
  85. measure.take reports luma only at p1, p50 and p99, so a spread between other percentiles cannot be measured

    A distribution answers any percentile and a spread over the median, and a region may be a colour worn in, so a painting is measured by object (design recorded in docs/specs/measurements.md).

    PW483 · 43dc115
  86. voice.design sends a sample shorter than the service accepts and quote cannot price it from the entity

    voice.design refuses a sample under the service's least before the call, and purchase.quote prices a voice call from its sample or the entity's own (design recorded in docs/specs/world.md).

    PW482 · eaf1b29
  87. verdict.sitting crashes on an old picture named HEAD:<path>, a form sound.sitting reads from git

    verdict.sitting and verdict.sheet check a committed old picture out of git, say where it came from, and refuse a missing picture by name (design recorded in docs/specs/acceptance-spec.md).

    PW481 · 9e49f03
  88. a panel cannot declare a lit bevel, an inner hairline, a moving sweep, inset brackets or a glow by state

    A panel declares a lit bevel, a hairline, set-in brackets, a placed tick, a sweep, and states as glow, lift and drain, with a tint set per instance (design recorded in docs/specs/panel.md).

    PW479 · 14e7430
  89. picture.vector answers a layer that drew nothing like any other, so an empty layer is found only by opening it

    picture.vector refuses a layer that drew nothing, an id a selector or reference shares between elements, and a filter or mask on the wrong kind (design recorded in docs/specs/store.md).

    PW478 · 65fdf63
  90. a capture cannot be held to the concept painting it copies, region by region, at another size and aspect

    reference.concept measures, places and sheets each region of a capture against its painting, and a spec bounds any of its numbers as a predicate (design recorded in docs/specs/measurements.md).

    PW477 · f5a7efb
  91. picture.vector draws one still, so a vector layer that loops through an attribute needs a hand-made source per frame

    picture.vector sweeps one attribute over frames from one source, each frame recorded with the sweep, packs a strip, and can skip the whole (design recorded in docs/specs/store.md).

    PW476 · 6347c05
  92. port.run names a failed predicate but not what it measured, so the margin takes a second accept.check by hand

    A failed port.run member carries missed: each failed predicate's value, bound, limit and how far past, and the render it was measured on (design recorded in docs/specs/acceptance-spec.md).

    PW475 · 99f5a0e
  93. a panel cannot carry a sewn seam, so a craft-styled game draws its stitches in its own code

    A seam sews a panel on build and shader, and picture.sew lays it inside a picture's worn silhouette, its shadow and holes darkened from the picture beneath (design recorded in docs/specs/panel.md).

    PW474 · 4227a68
  94. a panel's fill is one flat colour, so a felt or candy body with light, shade and grain cannot be declared

    A panel's fill takes a material of declared numbers, lit top to foot in its own hue with core, gloss, vivid, grain and weave, same on build and shader (design recorded in docs/specs/panel.md).

    PW473 · 361e1e4
  95. a panel's outline is a box with cut corners, so a pill, a rounded card or a lobed banner cannot be declared

    A panel is cut, rounded, a pill or any geometry outline; a pill stretches lengthwise, an outline builds at its size or on the shader at any size (design recorded in docs/specs/panel.md).

    PW472 · 188f3aa
  96. engine.run_declared blames the frame budget when the script exited 1 on its own after printing why it failed

    A script that exits non-zero on its own is reported with its exit code and its last three lines after the engine banner; the frame-budget hint is kept for silent runs.

    PW471 · 1319367
  97. nothing exports a pack and lists what landed in it, so a project parses Godot's pack table itself

    game.pack exports a preset as a pack and lists its files, imports mapped to sources, so Cottony's export check parses no pack itself (design recorded in docs/specs/engine.md).

    PW470 · fcf8ec2
  98. nothing boots a game's main scene and reads its shutdown, so a project's boot check starts Godot itself

    game.boot boots a game's main scene and reads its shutdown against the leak [engine] leaks forgives, so Cottony's boot check starts no Godot itself (design recorded in docs/specs/engine.md).

    PW469 · eeb465c
  99. a mesh with two equal extents gets whatever frame the machine's SVD returns, so its orientation differs by CPU

    A tied subspace takes the mesh's own axes, so a cube or lathe-turned mesh gets one frame on every machine and a cube's ambiguity is reported on CI too.

    PW468 · 4a5b659
  100. a game's engine scripts and the line each prints are a table in a Python driver the game writes itself

    A game declares its engine runs as [run.<name>] and engine.run_declared runs them, so Cottony's perf driver is gone for a table in its config (design recorded in docs/specs/engine.md).

    PW467 · 4a22e4b
  101. Cottony's tests, boot check and export check still start Godot through subprocess, each with its own lookup

    No tool in Cottony starts Godot itself: its tests, boot check and export check run through game.test, game.boot and game.pack.

    PW466 · fcf8ec2
  102. an accept on the review page never reaches the loop ledger, so loop.pending reads an accepted family as still waiting

    A page answer on a sitting naming its ledger asset is a ledger verdict, and a family run's verdict marks the member it names judged (design recorded in docs/specs/adoption.md).

    PW465 · f6d6a1f
  103. sound.sitting takes no about, so a sound sitting cannot say what changed or what to listen for

    sound.sitting takes about as verdict.sitting does, kept under the summary, so a sound sitting says what changed and what to listen for (design recorded in docs/specs/acceptance-spec.md).

    PW464 · 001bc43
  104. a review server that sees polyweave changed refuses the answer, and only the agent that started it can restart it

    A review server on old code starts a fresh one on its port and the page resends, so the answer lands with no restart by hand (design recorded in docs/specs/acceptance-spec.md).

    PW463 · 3bf7467
  105. scrub reads a painted mark as darker in luma only, so the hammer's soft purple seam on pink survives it

    The scrub reads a mark as a darker shade of its ground's hue in Lab too, at a reach that follows the sheet (design in docs/specs/fetching.md).

    PW462 · 6fa44b9
  106. a family search hands back a passing rig on every range's edge while one inside them has three times the headroom

    Each pass tries its window's middle first, so a rig inside the ranges wins on headroom, and a pass on an edge says so (design recorded in docs/specs/acceptance-spec.md).

    PW461 · 942ea69
  107. the review page lets a person accept a family whose spec fails, and the bound stays, so the bake refuses it

    A failing card offers adjust-the-bound in place of accept, and accept-all skips it, so a yes on the page moves the bound the bake checks (design recorded in docs/specs/acceptance-spec.md).

    PW460 · 507ea33
  108. the review page opens a sitting only by a click, so no URL shows the agent or the owner one sitting

    verdict.sitting answers the address the page opens a sitting at, and review prints a link to each one waiting, so a screenshot lands on it (design recorded in docs/specs/acceptance-spec.md).

    PW459 · db2628c
  109. port.run builds a member's declaration beside the declaration, so in a game's tree the engine imports the mesh

    port.run builds a declared member into the work area, or the folder its mesh key names, so a port never writes into the engine's import tree (design recorded in docs/specs/adoption.md).

    PW458 · 4a9263f
  110. verdict.judge takes any sentence its caller passes as the person's, so an agent can write the verdict on its own work

    A tool's accept lands only with the code the review page shows for the sitting, so an agent cannot accept its own look (design recorded in docs/specs/acceptance-spec.md).

    PW443 · 4732519
  111. Cottony still makes its audio outside polyweave

    Cottony's effects render through polyweave as General MIDI scores held to specs, its music loops by sound.loop, both accepted by the owner (design in docs/specs/music.md).

    PW192 · ba76f97
  112. the two friends, their lean frames and the mascot take eleven constants apiece and nothing declares one

    The friends, their lean frames and the mascot bake through polyweave, the face drawn as a pass, accepted by the owner (design in docs/specs/adoption.md).

    PW81 · b33ab43
  113. the three booster objects each needed a scrub, a roll and a fill found by hand after the service returned them

    The boosters bake through polyweave, the fetched two ingested against their drawings and scrubbed clean of painted dashes, accepted by the owner (design in docs/specs/adoption.md).

    PW80 · 6fa44b9
  114. the three brand marks are exposed by a hand-found light and nothing states what the type should read as

    The brand marks bake through polyweave from their blends, held to today's sprites and to letter edges as crisp, which the owner accepted (design in docs/specs/adoption.md).

    PW79 · 4990bbc
  115. the two trays are framed by a world rectangle written out per asset so the game's grid lands on it

    Both trays bake through polyweave from their declarations, framed by the game's numbers, one rig each, on specs the owner accepted (design in docs/specs/adoption.md).

    PW78 · d6964a8
  116. nothing says how much of Cottony still does its own version of what the plugin does

    project.adoption reads a project's code for the four surfaces polyweave owns, and Cottony's CI fails on a file doing one it keeps with no reason (design recorded in docs/specs/project-config.md).

    PW59 · 49d7ed9
  117. twelve GDScript runners in Cottony each start Godot their own way, and a settings mismatch is silent

    All twelve of Cottony's GDScript runners start through polyweave, the seven perf scripts from tools/run_perf.py, and the board shot records the settings it was taken in.

    PW56 · a503450
  118. Cottony lights twelve models through fourteen constants of its own, and the search never sees one of them

    Every model Cottony's rig lit bakes through polyweave against its own spec, family by family from PW76 to PW81, and bake_model.py's MODELS is empty (design recorded in docs/specs/adoption.md).

    PW53 · 7d0109f
  119. a purchase ledger kept as a table by name reads as its bare names, so every total over it is wrong or crashes

    purchase.ledger reads a lock keyed by name as adopted entries with their credits, refuses any other shape, and refuses to write the lock (design recorded in docs/specs/adoption.md).

    PW457 · 75bf858
  120. provenance.generated cannot tell what a Godot build ships, so it counts excluded files and buries art among code

    Without paths a Godot project's provenance.generated reads what its export preset ships, and unrecorded lists only media apart from code (design recorded in docs/specs/provenance.md).

    PW455 · 5b752a7
  121. provenance.generated leaves an older purchase's service unnamed, so a disclosure cannot say which generator made a file

    provenance.generated reads an unnamed purchase's service off its ledger entry, task id or folder, and else answers null with a fix (design recorded in docs/specs/provenance.md).

    PW454 · 3ec1300
  122. picture.vector draws an SVG with live text as a PNG with no letters, and answers as if nothing were lost

    picture.vector and store.capsules outline live text in its resolved font before ThorVG draws, record the font, and refuse a run they cannot outline (design recorded in docs/specs/store.md).

    PW453 · 11d1e9a
  123. a canon holds approved pictures only, so a new 3D enemy is never checked against the meshes already approved beside it

    A .glb joins a canon by verdict, and style.drift holds it to the family's meshes through renders at its rig, naming the nearest (design recorded in docs/specs/project-config.md).

    PW451 · db05a64
  124. no service's plan licence reaches the record, so a free-tier mesh or picture can ship in a sold game unwarned

    Each buy's record keeps its plan, read off the service or declared as [service] plan, and a sold game fails release_check on a free-plan part (design recorded in docs/specs/provenance.md).

    PW448 · 6afb0bc
  125. a bought mesh is oriented and scaled, but nothing holds its triangles, materials or holes to a bar before a sitting

    normalise.ingest(ready=spec) welds seams, cuts to the triangle ceiling and refuses a missed bound such as holes as mesh.not-ready (design recorded in docs/specs/acceptance-spec.md).

    PW447 · a1dda12
  126. no mesh can be bought from Rodin, so a part that needs clean topology has only Meshy's to start from

    mesh.buy speaks Rodin's v2 API for a service on hyper3d or deemos: a quad mesh behind the same ceiling, gate and ledger, its cost quoted (design recorded in docs/specs/fetching.md).

    PW446 · 27c5723
  127. Meshy is the only 3D generator a mesh can be bought from, so a project that prefers Tripo writes its own client

    mesh.buy speaks Tripo's v3 API for a service based on tripo3d: same ceiling, gate, balance readings and ledger (design recorded in docs/specs/fetching.md).

    PW445 · af7da9e
  128. nothing totals what the records already hold per asset, so polyweave's own effect on a game cannot be stated as a number

    loop.report totals each asset's runs, verdicts, purchases and gate refusals from the records, each naming its file (design recorded in docs/specs/adoption.md).

    PW444 · 1e1546f
  129. a sitting laid out in the wrong folder cannot be moved, and a hand move leaves its answers on the old path

    verdict.move moves a sitting, rewrites its manifest and index, and appends a moved line so earlier answers read at the new path (design recorded in docs/specs/acceptance-spec.md).

    PW436 · b13e76d
  130. a take made on a free ElevenLabs plan is recorded like any other, so a game can ship one commercially unwarned

    Each speech take keeps the account's tier in its record, and provenance.credits names every free-tier file as non-commercial only (design recorded in docs/specs/provenance.md).

    PW435 · 2a1ac76
  131. the prompts kit cannot keep a label filled, so each screen refills its help on a device, rebind or language change

    Prompts 0.5.0 keeps a watched label filled and runs followers on a device, binding or language change; remap tells it of every rebind (design recorded in docs/specs/kit.md).

    PW434 · 3265925
  132. the remap kit keeps its own file with a fixed pad section, so a game's extra pad options and ranges are lost

    Remap 0.6.0 keeps bindings in the game's own settings section, holds a declared deadzone range, keeps the game's pad options, and shares one store (design recorded in docs/specs/kit.md).

    PW433 · d96db97
  133. the remap menu binds on press, in English words, with no label or order per action

    Remap 0.5.0 binds on release, cancels on a held press, says its words through the game's table, and shows each declared label in order (design recorded in docs/specs/kit.md).

    PW432 · 15170e1
  134. the prompts kit has no generic family and cannot name a raw button code, so a pad screen cannot label every button

    Prompts 0.4.0 names an unknown pad generic, by compass with icons of its own, names any stored code in any family, reads codes as one row (design recorded in docs/specs/kit.md).

    PW431 · 05df9e0
  135. an MCP caller has no describe, so what a vfx declaration may hold is read only on the command line

    The MCP server lists a describe tool answering describe(name) with declares, so a *.vfx.toml's keys are read over MCP with no shell (design recorded in docs/specs/tool-surface.md).

    PW430 · d8043dc
  136. captured sequences cannot be cut together, scored and encoded, so a store teaser needs ffmpeg driven by hand

    video.cut builds a *.cut.toml of captured runs into a scored MP4, measured for length, size and first motion, which a spec bounds (design recorded in docs/specs/video.md).

    PW429 · 7a76f8f
  137. the remap kit has no screen that draws the pad and rebinds on the picture, so each game draws its own

    The pad screen draws each layout: PlayStation and Xbox as credited renders of borrowed models, Switch in line; the owner accepted the three on 2026-10-14 (design recorded in docs/specs/kit.md).

    PW428 · e832eab
  138. after port.run searches, each member's out holds the last sample tried, not the rig it answers with

    A search ends by evaluating its answer again where the last sample was not it, so every member's out is the rig it names (design recorded in docs/specs/acceptance-spec.md).

    PW452 · 4abc97e
  139. a search whose best rig sits on its axes' bounds reports never passing, not that the range may cut the answer off

    A search names each axis its best sits on the edge of, and a failing one says to widen it before reading never as unreachable (design recorded in docs/specs/acceptance-spec.md).

    PW442 · b028418
  140. a render's world light has a strength and no colour, so a rig lit by a warm world cannot be reproduced

    render.bake takes ambient_colour, the world light's colour as sRGB hex, in the key and record only where given (design recorded in docs/specs/adoption.md).

    PW441 · c0fb1a5
  141. a render's material replaces the mesh's own, so a roughness cannot be laid over a textured mesh without losing it

    A material given with over = true is set on the mesh's own shaders, its texture kept, so Cottony's mushroom bakes glazed with no copy (design recorded in docs/specs/adoption.md).

    PW440 · 08c4eb6
  142. a project's 2D passes painted on a render, a gloss window and a drop shadow, are absent from its record and cache key

    render.bake runs a project's own passes over its picture through after, each pass's digest and arguments in its cache key and record (design recorded in docs/specs/adoption.md).

    PW439 · bef079b
  143. npm start fails from any VS Code terminal with a missing-export error, since ELECTRON_RUN_AS_NODE runs Electron as Node

    npm start opens the window through a launcher that drops ELECTRON_RUN_AS_NODE, so it starts from any VS Code terminal (design recorded in gui/README.md).

    PW438 · c468d2a
  144. a 3.0 picture is sent to an async generate route Ideogram lists for 4.0 only, so a 3.0 call may fail unexplained

    A 3.0 picture goes to Ideogram's synchronous generate route, the one it answers, and 4.0 keeps its asynchronous one (design recorded in docs/specs/fetching.md).

    PW437 · 915f1c8
  145. vfx.build draws every particle as a flat quad, so a puffy tuft with depth is still a mesh built in game code

    A particle may be drawn as the engine's solids or as a .tres mesh of the project's own, so a puff with depth is declared, not built in code (design recorded in docs/specs/vfx.md).

    PW427 · 2ebe0b2
  146. a score cannot be another score transposed, so a piece in three keys is three files kept in step by hand

    A score extends another beside it, overriding by name and transposing its pitched notes, compiled as one, so an edit to the base reaches every key (design recorded in docs/specs/music.md).

    PW426 · 691c12a
  147. sound.sitting cannot hear the sound a render overwrote, so its old needs a hand git and LFS extract

    A sound sitting's old may name a committed version, HEAD:<path>, read through git and LFS into the work area with its origin recorded (design recorded in docs/specs/acceptance-spec.md).

    PW425 · 55a0110
  148. vfx.preview refuses an out under art/, so an effect's sitting cannot sit in art/review/ with the others

    vfx.preview lays its sitting wherever out says, art/review/ included, building what it films into the work area when the export leaves the source out (design recorded in docs/specs/vfx.md).

    PW424 · 9ece4bb
  149. a rendered cue's record leaves out its drum kit, so a kit edit leaves every cue reading current

    A cue's record names each chip kit it plays, so a kit edit reads outdated, and a thin record reads outdated instead of crashing the read (design recorded in docs/specs/music.md).

    PW423 · ed0b49b
  150. a music score cannot name the track it was written against, so a rendered cue's record never says whose loop it answers

    A score names the track it was written against in [music] reference, and every rendered file records it as an input with role reference (design recorded in docs/specs/music.md).

    PW422 · ff13ae7
  151. a built path ribbon freed before it entered the tree leaves its mesh node behind, an orphan and a leaked render instance

    A built path ribbon makes its mesh node in _ready, so one freed before it entered the tree leaves no orphan behind (design recorded in docs/specs/vfx.md).

    PW421 · f54764e
  152. render.bake draws a voxel build's glb shattered, cubes scattered with holes, unlike the build's own preview

    A voxel build renders whole at every rung: a preview keeps a light mesh whole and merges coplanar faces before anything collapses (design recorded in docs/specs/rungs.md).

    PW420 · a591efb
  153. words.check reads only the string table, so a store page or site copy is never held to the world's names

    words.check holds the Markdown, HTML or text files [words] copy names, each in its locale, to the world's names, a finding per file and line (design recorded in docs/specs/project-config.md).

    PW419 · 13d5cd7
  154. voice.lines lays its sitting out at the project root with no out, where the engine imports its sheets

    voice.lines takes an out, and it and voice.design lay a sitting in the work area by default, never at the root where an engine imports its sheets (design recorded in docs/specs/world.md).

    PW416 · cb6d36c
  155. the review page stacks every card of every sitting on one page, so a person cannot find what waits on them

    The review page opens on an index of sittings, newest first, each counting what waits, and a row opens that sitting alone at its own link (design recorded in docs/specs/acceptance-spec.md).

    PW415 · 5965ea2
  156. sound.speech fails takes that say the line, a JSON-only keys list and an unpriced quote hide what a set costs

    A take is transcribed in its column's language, accents folded and interjections said however spelled; --keys A B parses; unvoiced rows priced (design recorded in docs/specs/effects.md).

    PW414 · e86f737
  157. an entity has one voice for every language, so a voice designed in English reads Portuguese with an accent

    An entity may have a voice per locale, designed, chosen and spoken in that column alone, and each take records its locale, so digests are per tongue (design recorded in docs/specs/world.md).

    PW413 · 7060f52
  158. voice.lines sends no language with a line, so Portuguese takes are read in English

    voice.lines sends each line's column language as language_code to the models that hold to one, so a Portuguese take is read in Portuguese (design now in src/polyweave/layers/sound/sound_buy.py).

    PW412 · 189013b
  159. accepting a voice preview on the review page fails with Failed to fetch, so no voice can ever be chosen

    A voice preview is accepted on the page, and a page route that raises answers a 500 with op.crashed and where, never a dropped link (design recorded in docs/specs/acceptance-spec.md).

    PW411 · 53dc152
  160. no canon picture is ever sent as a style reference, so a family's look reaches the service only as words

    A family's canon pictures named in references go with every picture as style references on 3.0, the skeleton and palette in its words (design recorded in docs/specs/project-config.md).

    PW180 · 182b358
  161. the map's five candy props match a drawn sprite that exists only as medians in a comment

    The five map props bake through polyweave from one searched rig, each held to a spec the owner accepted beside the shipped sprite (design recorded in docs/specs/adoption.md).

    PW77 · 57f65eb
  162. a capture's record leaves out the script's own arguments, so a recorded picture cannot be taken again

    A capture's record keeps the script's args and how it was called, and capture.again takes it again with only the environment changed (design recorded in docs/specs/engine.md).

    PW418 · 4df3546
  163. vfx.build declares only particle systems, so a sheet or wall of light with a hot core and halo is a shader in game code

    vfx.build has a sheet kind: a quad and a generated shader with a profile across, faded ends, flicker and an afterimage, faded per instance (design recorded in docs/specs/vfx.md).

    PW417 · ecdc766
  164. a 403 from ElevenLabs prints with no detail, and a free plan's missing feature is found only by spending

    A refusal's text prints its detail, and a 403 from the speech service is fetch.plan-lacks in the service's words, costing nothing (design recorded in docs/specs/fetching.md).

    PW410 · 4a2a652
  165. describe lists vfx.build's arguments but not the keys a declaration holds, so an effect is written from vfx.py

    describe vfx.build answers declares, each key a *.vfx.toml holds with its type, default, choices and sentence, so no one reads vfx.py (design recorded in docs/specs/tool-surface.md).

    PW409 · 6ce0c94
  166. vfx.build draws no star, twinkle or heart, so a cute game's particles fall back to a flake or are drawn in game code

    vfx.build draws a twinkle, a star and a heart as a picture inside the scene, so a cute game's particles are declared and nothing is imported (design recorded in docs/specs/vfx.md).

    PW408 · 4b7278f
  167. a reference video is named by path each call, so a changed file is read silently and capture.run takes internal input

    reference.register keeps a video's digest so a changed file is refused, and capture.run and project.check catch internal footage (design recorded in docs/specs/fetching.md).

    PW407 · fb4f541
  168. a rebuild's comparison with its reference shows no declared pressure, so a spawning fault reads like a choice

    reference.compare takes the declared wave and where it starts, charts its pressure and gives each gap what the wave had alive then (design recorded in docs/specs/fetching.md).

    PW406 · 261d06b
  169. a reference video's timeline marks no change of music section, and is drawn apart from the frames its ticks fall in

    reference.events marks music sections by a novelty curve over the soundtrack, and draws each event's tick under the thumbnail it falls in (design recorded in docs/specs/fetching.md).

    PW405 · c601c5d
  170. reference.objects tells kinds apart by colour and size alone, so two enemies of one colour count as one kind

    A kind in reference.objects may name sample crops and a match, so one colour is told apart by shape and a flaring kind is kept (design recorded in docs/specs/fetching.md).

    PW404 · 295cc24
  171. the browser's review page and the window's decision screen would be two implementations of one screen

    python -m polyweave review serves the window's Decide screen over a browser desk, built into review_page/screen with a stamp; the iframe and page.js are gone (design recorded in gui/README.md).

    PW403 · cdc6291
  172. the window's decision screen shows no gate lanes, turntables, canon boards or pending table

    The window's decision screen draws gate lanes, turntables, canon boards and the pending table, and writes promotions, admissions and withdrawals via review.answer (design recorded in gui/README.md).

    PW402 · 7c1d519
  173. the window's decision screen cannot mark where a picture is wrong or compare two versions of it

    The window's decision screen marks a picture in its own pixels, sent as masks, and compares old and new four ways through review.compare (design recorded in gui/README.md).

    PW401 · fc2731a
  174. the window shows a project's verdicts only by framing the review page, never on its own decision screen

    The window's Decide view draws sittings and cards natively over a Desk, in the review catalog's words via review.words, and answers through review.answer (design recorded in gui/README.md).

    PW400 · b591226
  175. the saves and options kits read only their own files, so a game adopting them starts its players over

    The saves and options kits take what a game kept before them once, through adopted() and ADOPTED, write their own file and say so (design recorded in docs/specs/kit.md).

    PW398 · d988120
  176. the remap kit reads only its own file, so a game adopting it loses every binding its players had already set

    The remap kit takes the bindings a game kept before it, from the file and section it declares, once, and says so (design recorded in docs/specs/kit.md).

    PW397 · 33fdf3b
  177. the players kit seats any pad the moment it presses Start, so a game cannot hold a join for the next wave

    The players kit asks before seating a pad, seats it only where AUTO_JOIN or the game says, and carries a first player's rebind under SHARED_LAYOUT (design recorded in docs/specs/kit.md).

    PW396 · bfac1c8
  178. the prompts kit follows every pad, so a second player moves the first player's prompts, and an unplugged pad keeps them

    The prompts kit keeps a family per player, moved only by their own device, and hands an unplugged pad's prompts to a free pad or the keys (design recorded in docs/specs/kit.md).

    PW395 · 2891c8a
  179. the prompts kit names a binding only as an icon, so a help line in words cannot name a player's button in their language

    The prompts kit names a binding in words per player and family, and fills {action} and {move} marks through the string table (design recorded in docs/specs/kit.md).

    PW394 · 34fb0e4
  180. a style cannot take its palette from another project, so a game in a sister game's colours keeps a copy that drifts

    A style reads a palette kept in code, or borrows another project's shifted for its game, and says when that source moved (design recorded in docs/specs/project-config.md).

    PW387 · 22229d4
  181. measure.take asks for contrast_min and refuses it for want of targets, yet takes no targets parameter

    measure.take takes targets, ring, radius and behind, so contrast measures are asked beside the others; the refusal names the doors for targets (design recorded in docs/specs/measurements.md).

    PW386 · 26fe0c0
  182. worlds offered on one tier of a route cannot be held level in whole threat and in what they give to save

    measure.level totals each tier's worlds and names any whose threat is off its tier's band or whose saved count differs, refusing as a gate (design recorded in docs/specs/measurements.md).

    PW385 · f1374d7
  183. nothing keeps a reference video, or the frames taken from it, out of the repository and out of what ships

    A reference's frames stay in the work area and mark all made from them internal; verify names what git tracks of it and store pages refuse it (design recorded in docs/specs/provenance.md).

    PW384 · f6e1dce
  184. a transcription read from a reference video cites no frames, and a person's corrections to it are kept nowhere

    A transcription's rows cite their frames, a sitting shows each beside them, and a person's answer per row is kept and read back (design recorded in docs/specs/fetching.md).

    PW383 · 5a8f743
  185. a rebuilt level's capture cannot be aligned with the video it copies, so where it plays differently is found by memory

    reference.compare aligns a rebuild's capture with its reference video and lists, with both frames, each second whose counts differ (design recorded in docs/specs/fetching.md).

    PW382 · e9e0d1e
  186. a reference video has no timeline of its score, flashes and sound onsets, so where each wave starts is found by eye

    reference.events lays a video's number changes, flashes and strong onsets on one timeline, listing what it could not read (design recorded in docs/specs/fetching.md).

    PW381 · 16df21a
  187. a reference video's radar and HUD cannot be declared as regions, and the blips on its radar cannot be read as positions

    A reference's regions are declared once; reference.regions enlarges each and reference.minimap reads blips as places from the player (design recorded in docs/specs/fetching.md).

    PW380 · 7b96f5d
  188. the enemies in a reference video's frames cannot be counted or followed, so an agent counts them by eye on every sheet

    reference.objects counts declared kinds in a video's frames, joins them into tracks and groups with formation and end, ids on sheets (design recorded in docs/specs/fetching.md).

    PW379 · 21d6afd
  189. half the decision screen's facts and its masked write are no operation, so the window can only frame the Python page

    The decision screen's facts and writes are operations, and one React screen draws them in the window and as the review page, by PW399 to PW403 (design recorded in gui/README.md).

    PW377 · aafb148
  190. the window calls an operation by its name with untyped arguments, so a renamed parameter fails only at run time

    tools/operations_ts.py writes every operation's arguments as TypeScript types the window calls through, kept fresh by a test (design recorded in tools/operations_ts.py).

    PW399 · 44a618e
  191. a revision's session can write outside its item through Bash, and neither the question nor the touched list sees it

    A Bash write outside a revision's item is found by its hook around the command, kept as touched and shown to session and window (design recorded in docs/specs/acceptance-spec.md).

    PW378 · a1a5694
  192. provenance.verify reports the work area's snapshots of old commits as the project's drift

    provenance.verify reads only the project's own records, leaving out any checkout below the root and naming it in other_trees (design recorded in docs/specs/provenance.md).

    PW376 · e944383
  193. a verdict a person gives in chat answers no sitting by name, so the agent rebuilds each family's members for judge

    verdict.answer carries a chat verdict onto a sitting by name through the page's own write, skipping families already answered (design recorded in docs/specs/acceptance-spec.md).

    PW375 · 06b2dd0
  194. vfx.build writes each scene beside its declaration, so effects declared in an unshipped folder load only in the editor

    vfx.build writes where out or [paths] vfx says, and refuses beside a source the export leaves out; clip.camera refuses alike (design recorded in docs/specs/vfx.md).

    PW374 · 318c2aa
  195. game.shot answers success and a path when the save failed, and never makes the folder it is given

    game.shot and a batch's shot make the folder they are given, and a save that wrote no file is refused as driver.shot-not-written with the engine's error (design recorded in docs/specs/driving.md).

    PW373 · 167d374
  196. the options kit's proof fails in a game with one value row, writing its refused value over the one it just kept

    With one value row the options proof writes its refused value in a second older file, so it holds in a game whose kits give a single row.

    PW393 · 5dae10d
  197. the remap kit's proof holds only in a game with jump, fire and pause actions, so a kit that needs remap fails to install

    The remap proof declares three actions of its own at run time, so it holds in any game and a kit requiring remap installs.

    PW392 · fd9aa48
  198. a pad binding the remap kit rebinds answers pad 0 alone, so a lone player on any other pad loses it after a rebind

    A pad binding the remap kit decodes answers every pad, as the project's own do, and its proof presses a rebound binding from pad 1.

    PW391 · 111b051
  199. a colourblind player cannot tell a game's paired colours apart, and no filter corrects it or checks the pair

    The access kit lays a Daltonize filter over Machado's simulation, and each declared colour pair is held apart under it by measure.contrast.

    PW390 · 1b3abf5
  200. the window's live test fails the gate at random when its setup, two Python calls, outruns vitest's 10 s hook limit

    The shell's hooks get the 60 s its tests have, so the window's setup, two Python calls, no longer fails the gate when the machine is loaded.

    PW389 · 7a5e5ba
  201. a new game starts as an empty Godot project and is adopted onto polyweave later, by hand

    project.new starts a game already adopted: Godot project, LFS and git, config and agent, base kits proved, a first test and a gate that passes at once (design recorded in docs/specs/adoption.md).

    PW369 · f2d2ec5
  202. a preset's settings are chosen by eye, so no one knows if it is the best-looking one that fits its frame budget

    engine.preset_search finds per preset the settings fitting its p95 budget that lose least, prices each feature, and sends lossy ones to people (design recorded in docs/specs/engine.md).

    PW367 · dc402fe
  203. a game ships one graphics setting or presets chosen by hand, and no fallback when its renderer fails to start

    The graphics kit's presets touch only what the game uses, a first one is picked from the adapter, and the renderer fallback is held on (design recorded in docs/specs/kit.md).

    PW366 · 3aba95f
  204. a game's frame time, load time and memory are measured by scripts run by hand, with no baseline a commit regresses from

    engine.perf holds each declared scene to its frame percentiles, load, memory and node budgets and to its machine's baseline (design recorded in docs/specs/engine.md).

    PW365 · 9de8e9d
  205. a game's tables of enemies, items or waves are read as loose JSON, and a number typed as a string is found in play

    tables.check holds each row of a declared table to its schema by row and column; the tables kit loads them typed and re-reads a changed file (design recorded in docs/specs/kit.md).

    PW364 · 072d3b5
  206. an exported build is never launched before a player launches it, so a resource the export left out is found by them

    game.export_smoke exports each preset for this machine, launches the build to catch what the export left out, and replays a flow in its pack.

    PW363 · 8838e12
  207. each game runs its tests its own way, so an agent learns per project how to run them and read what failed

    game.test runs a game's tests the one way, naming each failure, parse error and hang with its line; the tests kit's base writes that convention (design recorded in docs/specs/kit.md).

    PW362 · 74d1ab1
  208. when a game crashes on a person's machine, the agent has nothing to read but their description of it

    The crash kit logs to user:// and packs each error with its script, line and state, an unclean exit on the next launch, and game.crash_read reads it (design recorded in docs/specs/kit.md).

    PW361 · 402d66d
  209. a bug that happens only sometimes cannot be reproduced, because a game's randomness and timing are held to no seed

    The determinism kit seeds named streams from one run seed and records input by physics frame; game.record_flow keeps a recorded run as a flow (design recorded in docs/specs/kit.md).

    PW360 · 06fe21a
  210. an agent reads a game's state by adding prints and running it, since nothing declares which state a query may read

    The state kit names a game's state once, each held to its type, and game.query reads a name through the driver with no path or print (design recorded in docs/specs/kit.md).

    PW359 · 365ac7d
  211. a moved file breaks a UID reference and a script that does not parse is found only when its scene loads

    engine.check holds each UID and path reference to a file, repoints a moved one and parses all scripts after an import; project.check holds text refs (design recorded in docs/specs/engine.md).

    PW358 · f06e210
  212. a second player joining, which pad is whose and keeping two players' bindings apart are rewritten per game

    The players kit seats a pad that presses Start, copies each action onto that pad alone, keeps rebinds apart and frees a pad on leave (design recorded in docs/specs/kit.md).

    PW357 · 7d2a394
  213. a pad unplugged mid-game or a window losing focus leaves the game running with no one at the controls

    The presence kit pauses on a pad leaving or focus lost, names whose pad in its own family's prompt, and resumes on its return or a confirm (design recorded in docs/specs/kit.md).

    PW356 · c4c5a5e
  214. text size, colourblind filters, subtitles and less shake are each left out or hand-built, and none is checked

    Subtitles follow the Voice bus within three rows on screen, and a declared run captured with flashes off holds no flash over the limit (design recorded in docs/specs/kit.md).

    PW355 · eaa5f3a
  215. no measure counts the flashes in a captured run, so a photosensitivity risk is found by a player

    measure.flashes counts general and red flashes in a captured run, naming the worst second, its frame and share against WCAG's limit; a spec bounds it (design recorded in docs/specs/measurements.md).

    PW354 · cd1f477
  216. a dialogue box with typed text, skip, advance and a portrait is rewritten per game, each advancing on its own button

    The dialogue kit types a table line at its rate, completes it on the first confirm of the family in hand and advances on the next, held to its box in every locale.

    PW353 · c346dd5
  217. the string table words checks reaches a game's TranslationServer by hand, with no fallback font for another script

    The language kit puts the table on screen, empty cells filled, a fallback font per script, the system's locale first, each screen held per locale.

    PW352 · 7bb4347
  218. each game lays out its audio buses, music crossfade and sound pooling its own way, and a bus's loudness is never checked

    The audio kit lays out declared buses, crossfades and ducks music, pools sounds, and holds each bus to its loudness with sound.measure (design recorded in docs/specs/kit.md).

    PW351 · 73187bb
  219. a game's credits are typed by hand while the provenance record already knows every asset's source and licence

    The credits kit draws its screen from a file provenance.credits writes from the records, and says when that file falls behind them (design recorded in docs/specs/kit.md).

    PW350 · b8d8f7b
  220. a verdict given with asset= opens an after run, so that asset's baseline is refused for good

    A verdict given with asset= now opens a run marked made: false, which neither refuses a baseline nor counts as a cost; older verdict runs read the same, so Spinhold's five reopen.

    PW388 · 084b07e
  221. the splash, the load into the first scene and each change of scene are hand-made per game and freeze on a large scene

    The launch kit gives a splash any button skips, a threaded load into each scene, and launch and frame times held to budgets at a percentile (design recorded in docs/specs/kit.md).

    PW349 · 62bfe75
  222. a save is written in place with no schema version, so a crash mid-write or a game update can lose a player's progress

    The saves kit writes slots through .tmp and a rename, keeps the save before, checks a sum and migrates by version; a newer save is kept (design recorded in docs/specs/kit.md).

    PW348 · 9f7da9e
  223. each game writes its own options screen and settings file, and an option that changes nothing goes unnoticed

    The options kit keeps one versioned settings file, migrating old keys and keeping unknown ones, on a screen of kits' tabs; each row is read back (design recorded in docs/specs/kit.md).

    PW347 · fe451a9
  224. a main menu, a pause menu and a confirm dialog are rebuilt per game, and a control no pad can reach is found by a person

    The menus kit gives main, pause and confirm menus a pad walks round, back and confirm by family, a real pause; a script alone proves kits (design recorded in docs/specs/kit.md).

    PW346 · 4040331
  225. rebinding, its conflicts, its reset and its persistence are written anew by each game that lets a player change controls

    The remap kit rebinds keys and pad apart, swaps a clash, keeps it in user://, resets to project.godot, on a screen in prompts' icons (design recorded in docs/specs/kit.md).

    PW345 · f2978bb
  226. a game names a pad's buttons in its own text per layout, with no icons, no Switch layout and no change on a new device

    The prompts kit follows the device in the player's hands and draws each action's binding as an icon, four sets by position, proved in Godot (design recorded in docs/specs/kit.md).

    PW344 · a209e87
  227. a project cannot tell that a kit it installed has a newer proved version, or what upgrading would replace

    provenance.outdated names a kit the plugin carries newer, with its changes, and kit.update swaps an unedited core and re-proves it, or puts it back (design recorded in docs/specs/kit.md).

    PW343 · baafaab
  228. a kit's proof runs only in a game that installed it, so a kit can leave this repository broken

    kit.prove installs every kit into a fresh copy of its fixture and runs its proof, and tools/gate.py names each kit held, failed or skipped, red on a failure (design recorded in docs/specs/kit.md).

    PW342 · 73028db
  229. nothing installs a kit into a project, records which version landed and proves it there in the same call

    kit.install lands a kit and what it requires, proposing its declaration, copying core and scene, recording its version and proving it, in one call (design recorded in docs/specs/kit.md).

    PW341 · a5e8c1a
  230. no format says what a kit is, so a part every game repeats is rewritten in each one, a little different each time

    A kit is a kit.toml with its core, scene, declaration and proof, under one five-step contract, and kit.list checks every kit the plugin carries (design recorded in docs/specs/kit.md).

    PW340 · 9b8815f
  231. game.open ignores the resolution and locale [capture] declares, and game.shot does not say what it took

    game.open runs in [capture]'s resolution and locale unless the call names its own, and game.shot answers the size and locale it took, naming a gap (design recorded in docs/specs/driving.md).

    PW339 · 8f9cf38
  232. verdict.sitting marks a member with no spec as passed, as if something had measured it

    A sitting member no spec holds answers passed null and checked false, sheet and page say nothing holds it, and its family gets no spec wording (design recorded in docs/specs/acceptance-spec.md).

    PW338 · d5396ea
  233. a dict parameter is refused as an @file, so PowerShell cannot pass one to the CLI at all

    A dict flag takes @file.json as a list does, read past a byte order mark, and a dict that does not read names that form, so PowerShell can pass one (design recorded in docs/specs/tool-surface.md).

    PW337 · 342547a
  234. nothing reads a held screen for text leaving its box or lying over other text, so a fit is judged by eye

    game.text_fit reads a held screen's labels and buttons for text wider than its box, unshown lines, out of its container or over other text, by locale (design recorded in docs/specs/driving.md).

    PW336 · e9b346b
  235. no operation says which characters of a string table its fonts lack, so a missing accent shows only on screen

    words.glyphs reads each declared font's character map and names every character a line it draws needs and lacks, upper case too, with its keys (design recorded in docs/specs/world.md).

    PW335 · 155c6d6
  236. an @file list written by Windows PowerShell is refused for its UTF-8 BOM, so PW247's remedy fails in that shell

    An @file argument and every JSON or TOML declaration are read past a UTF-8 byte order mark, so a file PowerShell 5.1 wrote is taken (design recorded in docs/specs/tool-surface.md).

    PW334 · 27b2d18
  237. an sfx effect cannot be declared at a note, so putting a menu sound in a key means working out base_freq by hand

    An sfx effect is declared at a note, with an arp and a slide by note and time compiled to sfxr's numbers, and sound.measure answers the pitch (design recorded in docs/specs/effects.md).

    PW333 · 5de6684
  238. a verdict given through the CLI never reaches the ledger, since an open run cannot outlive the call that opened it

    An open run is kept on disk by its id until it finishes, so a CLI verdict lands; verdict.judge asset= opens and closes a run in one call (design recorded in docs/specs/adoption.md).

    PW332 · 2c4c3b7
  239. a set of small 2D icons, such as a pad's button prompts, cannot be declared, built or accepted

    icons.build draws a declared set of outlined, rimmed, shaded icons at each size or as an atlas, holds them to legibility bounds, lays them out for a person (design recorded in docs/specs/panel.md).

    PW331 · 206600e
  240. a wave timeline's threat per second, in its two bounding cases, and its gaps with nothing to shoot cannot be measured

    measure.pressure reads a game's weighted events as threat per second in both bounding cases, with gaps past a window, and diffs two (design recorded in docs/specs/measurements.md).

    PW330 · eab8b57
  241. A reference gameplay video cannot be sampled into frames or contact sheets an agent can read

    reference.frames samples a video into time-named frames, denser in ranges, dropping still ones, on 4x4 sheets with times burnt in, tied to its hash (design recorded in docs/specs/fetching.md).

    PW328 · d2b5f2d
  242. geometry.fit scores a whole alpha silhouette, so a part inside a picture, like the V on a badge's disc, cannot be fitted

    geometry.fit takes a region, a drawing's colours scored against named materials in their whole, so a part fits in place and at scale (design recorded in docs/specs/geometry.md).

    PW326 · 59048b5
  243. no operation brings an artefact another project made into this one with a record of where it came from

    provenance.borrow copies another project's file here, recording its project, path, commit and digest, so outdated names each borrower once it moves (design recorded in docs/specs/provenance.md).

    PW325 · 16ba0c7
  244. a spoken line can only be heard after paying for it, so its wording and timing in the game cannot be tried for free

    sound.speak rung=draft speaks a line free on the project's local engine, as a draft voice.lines offers again and provenance sets apart (design recorded in docs/specs/effects.md).

    PW324 · 84282d7
  245. nothing measures a spoken take, so a clipped, padded or misread line reaches the person's verdict as a candidate

    A spoken take is held to its line and [voice] bounds before a person hears it, and with trim on, lands with its silence cut to the bound (design recorded in docs/specs/effects.md).

    PW323 · 025a33d
  246. a locale catalog's lines cannot be voiced as a set, so a cast's dialogue is one hand-made call and cue per line

    voice.lines prices a string table's lines and voices them only on spend, skipping current takes, naming voiceless speakers, halting at a ceiling (design recorded in docs/specs/world.md).

    PW322 · 144efae
  247. a world's character has no voice of its own, so each spoken line sounds like whichever voice its call happened to name

    An entity's voice is declared in the world, designed as paid previews, kept once a person accepts one, and spoken by sound.speak entity= (design recorded in docs/specs/world.md).

    PW321 · ca1e900
  248. a service's price is one figure per call, so a spoken line billed by its characters cannot be priced before it is sent

    A prices row may be by the character: a call counts its text first, a refusal quotes count and rate, and usage readings measure spend (design recorded in docs/specs/fetching.md).

    PW320 · 6886f4c
  249. measure.contrast rates a text box against its surround, so nothing says whether text reads over the picture behind it

    measure.contrast takes text lines, rating each stretch's glyphs against what is behind them, so a spec holds text_contrast_min (design recorded in docs/specs/measurements.md).

    PW319 · efeeb13
  250. a declaration cannot state its own cell ceiling, so a model allowed over the voxels budget carries the finding for good

    A declaration's [voxels] budget is now its own ceiling, and the checks and any budget finding say whose bound held (design recorded in docs/specs/geometry.md).

    PW318 · 6225c4d
  251. build --set voxels.cell=0.03 is dropped without a word, and the build answers built at the declared cell

    build --set now reaches a declaration's fields (voxels.cell), echoes what each key changed, and refuses a key naming nothing, listing what it takes (design recorded in docs/specs/geometry.md).

    PW317 · 292f771
  252. no operation speaks a line, so a game cannot get a voiced tag like a studio name read aloud

    sound.speak speaks a given line in a named voice through ElevenLabs' text to speech, priced by the character, and recorded with its voice and delivery (design recorded in docs/specs/effects.md).

    PW314 · 4f67150
  253. the window would show a project as it was when opened, so an item a session or terminal changed looks untouched

    The window watches the open project's root, re-reads the inventory once per burst, redraws only what moved, and marks an item changed while looked at (design recorded in gui/README.md).

    PW310 · 72e90b4
  254. a revision's change can rewrite items outside the one asked about, and the person learns of it only by diffing

    A revision's write outside its item and dependents asks first, with the reason; its close lists each file written and what waits (design recorded in docs/specs/acceptance-spec.md).

    PW309 · ed0ef8a
  255. a revision session can call a paid generator on its own, so a click on one picture spends credits nobody weighed

    A paid call in a revision stops with purchase.quote's price and what the ceiling leaves, runs on one yes, and its spend is tied to it (design recorded in docs/specs/fetching.md).

    PW308 · 5636b63
  256. a session changing an item can report done with no check run, and nothing makes it end on the person's verdict

    A revision's session runs the item's checks after each write, cannot stop without a sitting, and closes only on the person's answer (design recorded in docs/specs/acceptance-spec.md).

    PW307 · 8015d14
  257. asking for a change to one item means leaving the window for a terminal and retelling the agent which item and what

    An item's ask opens a session on the person's claude from its revision and brief; turns are kept on the revision, one session holding an item (design recorded in gui/README.md).

    PW306 · ed0aafc
  258. the window and the review page would each show a sitting, so two surfaces answer the same verdict and drift

    The window hosts the project's own review page, its server held beside the project's, so verdict.judge stays the one write; an item links to its sitting (design recorded in gui/README.md).

    PW305 · 9f3d685
  259. a person sees one item of a project only by opening its file by hand, with no declaration, record or bar beside it

    The window shows an item beside its bar, chain and dependents, a picture with its gate lanes and a loop looped, and filters to open revisions (design recorded in gui/README.md).

    PW304 · d8c6a80
  260. words.check holds a translated column to the English names, so a name written in that language reads as unknown

    An entity declares its name per locale, and words.check holds each column of the string table to that locale's forms, so a translated name reads as known.

    PW329 · 33aa745
  261. a menu panel, frame or stylebox cannot be declared, built or held to a spec, so a game draws its UI kit by hand

    A declared panel builds to nine-patches and a canvas shader with a tick, wipes to progress shaders, and panel.capture films every state and step (design recorded in docs/specs/panel.md).

    PW316 · b535ac8
  262. a vector logo cannot be rendered to a game texture, whole or in its layers, with a record naming the SVG

    picture.vector draws an SVG at a width through ThorVG, blur and masks kept, and named layers on one canvas, each with a record naming the SVG (design recorded in docs/specs/store.md).

    PW315 · 958e110
  263. sound.sitting plays a jingle's cues one by one, so a person never hears them mixed at the times the game plays them

    An [arrangement] mixes its cues at their times, pitches and gains into one sound with a plan the game reads, so a sitting hears it whole (design recorded in docs/specs/effects.md).

    PW313 · 85492c8
  264. geometry.describe warns a param no node reads when every node reads it, if its name is also a function

    A name counts as a function only where it is called, so a param named floor and read in floor + 0.35 is read, and no unused warning comes back.

    PW312 · 69e490a
  265. there is no desktop window that finds the projects on a machine using polyweave and opens one

    An Electron window finds projects under a named root, opens one on a held polyweave serve, names its engine and draws its inventory by kind in en or pt-BR (design recorded in gui/README.md).

    PW303 · f8e2977
  266. the plugin is sourced from the repository root, so a desktop app added to the tree ships in every adopter's cache

    The marketplace sources plugin/, holding only the manifest, hooks and skills; a scratch install cached just those, and project.check passed (design recorded in docs/specs/adoption.md).

    PW302 · b69fa94
  267. a person's request to change one item lives only in a chat, so no run, sitting or record ties it to the item

    revision.ask keeps a person's request against an item's digest; revision.open lists open ones with briefs, and revision.close ends one (design recorded in docs/specs/acceptance-spec.md).

    PW301 · 6777aa4
  268. asset.brief reads a geometry declaration only, so a picture, sound, effect or line has no one-read state

    asset.brief reads a cue as music.validate, an sfx or vfx effect as its table and measures, a picture as its style family, and any inventory id (design recorded in docs/specs/inventory.md).

    PW300 · ef2be6f
  269. nothing lists every item a project governs, so a picture, sound or line is found only by knowing its path

    project.inventory lists every artefact, unrecorded file, unbuilt declaration and line by kind, with record state, pending verdict and digest (design recorded in docs/specs/inventory.md).

    PW299 · 35fdfa3
  270. asset.brief calls a spec current while its render is of a mesh the game stopped drawing when voxels replaced it

    A spec's subject names its declaration; render.bake and the search render its build, and verify calls a render of another mesh stale (design recorded in docs/specs/acceptance-spec.md).

    PW298 · afa68f1
  271. game.open never makes the scene it loads current, so a game's scene change leaves the first scene and its camera up

    The driver makes the scene it loads current, so a game's own change_scene_to_file frees it as for a player, and relative paths follow the scene playing now.

    PW297 · 89e1f18
  272. every capture opens a Godot window on the desktop, so a gate run flashes dozens of them and steals focus

    A capture's engine starts minimised and unfocused through the run's override.cfg, and an autoload keeps it drawing, so a gate shows no Godot window (design recorded in docs/specs/engine.md).

    PW296 · 704d414
  273. a sitting's summary draws its choices as boxes that look pressable, and nothing parts one sitting from the next

    A sitting's summary lists its choices as a plain legend under How to decide, and each sitting is its own section, parted by a rule, with its count of items and answers.

    PW295 · 1ea4064
  274. the review server keeps the polyweave it started with, so a spec using a measure added since is refused on Accept

    A review server started before polyweave changed refuses an answer with review.stale-server naming the restart, and the page shows a banner saying so.

    PW294 · ec00193
  275. a sitting laid out before PW287 reads in English on the page, with no summary, and looks broken to its owner

    The review page reads a sitting laid out before PW287 through the catalog: its choices by key, its title and summary from its kind, in the project's language.

    PW293 · f6be2e3
  276. no measure says how tall a silhouette is for its width, so a spec cannot hold an enemy tall enough to hit

    silhouette_aspect says how tall a subject stands; Starship's enemy spec holds it at 0.6, refusing four flat Lancers and passing the Mote (design recorded in docs/specs/measurements.md).

    PW292 · 28b7ecf
  277. words.sheet lays out every row of the string table, so a person judges the tone of interface labels nobody speaks

    words.sheet lays out only spoken lines, with an about, and the page shows each as large text by its speaker; Starship's sitting holds its 174 crew lines.

    PW291 · 34e1b5e
  278. a picture bought from a world entity on 4.0 is refused with 400, its json_prompt lacking compositional_deconstruction

    A world entity's picture on 4.0 carries compositional_deconstruction composed from its look, so the service takes it; Starship's Lancer was bought through it.

    PW290 · aa577c5
  279. the review page redraws itself whole after each answer and every few seconds, so a click between two is lost

    The review page redraws only when what it read changed, and an answer redraws its own card alone, so a person answers card after card with one click each.

    PW289 · 8656c6d
  280. an accept with no comment is refused as loop.no-reason, though the review page calls the comment optional

    An accept with no comment on the review page is recorded as accepted with no comment, in the project's language; a redo still needs the person's words.

    PW288 · 055a901
  281. a review sitting shows sheets and choices with no summary, no consequence and only in English

    A sitting says what is judged and what each choice leads to, in the project's language from per-language catalogs, on a page made for the reviewer (design recorded in docs/specs/acceptance-spec.md).

    PW287 · 70f3869
  282. a path ribbon adds a point every frame, so it is cut short at high frame rates, where its cost is timed

    A path ribbon adds a point each step seconds or gap metres, so it trails 7.2 m at both 60 and 600 fps, and an amount under lifetime/step is refused (design recorded in docs/specs/vfx.md).

    PW286 · afa582d
  283. vfx.build has no lifetime randomness, so a built burst dies on one frame where the accepted one frays

    An effect declares randomness, 0 to 1, written to the particles node as Starship's trails set it, so a port keeps their uneven start (design superseded: it spreads emission, not lifetime).

    PW285 · 52c735c
  284. a trail's ribbon and its particles are two vfx effects, so the game places two scenes and a person judges two halves

    An effect can be made of parts, one scene under a Node3D measured and watched as one; Starship's trails build as 7 scenes and 7 sheets (design recorded in docs/specs/vfx.md).

    PW284 · d442bb4
  285. music.render refuses an unwritable format as music.no-engine on a machine without the engines

    music.render names a format it cannot write as music.bad-format before it looks for engines, so the refusal and the CI gate read the same on every machine.

    PW282 · 9399687
  286. vfx.build cannot declare damping, spin, box emission, particle shape or a path ribbon, so no accepted trail builds

    vfx.build declares the five trail keys and a path_ribbon drawn behind the emitter by a script in the scene; vfx.preview watches trails move (design recorded in docs/specs/vfx.md).

    PW281 · 1d223e9
  287. no capture can take a picture larger than the desktop, so a 4K key art on a 4K screen always comes back shrunk

    capture.run retakes a shrunk picture with the window borderless, which holds sizes past the desktop, and keeps the size for later runs (design recorded in docs/specs/engine.md).

    PW280 · 733b460
  288. a spec cannot give contrast_min its ring or a target's radius, so a shot measured from a spec reads 1.0 in silence

    A contrast predicate takes ring, radius and a JSON or log targets file; a ring inside its shot is refused, not read as 1.0 (design recorded in docs/specs/measurements.md).

    PW279 · a2268ed
  289. a kept expectation on a dictionary or array of numbers fails every replay, since 1 is compared to 1.0 as text

    The driver compares numbers as numbers inside a Dictionary or Array, so an expectation on a tally replays as passed and a wrong one still fails.

    PW278 · 4fda914
  290. a selector cannot pick out an unnamed node by its place under a named one, so buttons inside a screen stay fragile

    A selector may name the ancestor it looks under and the node's order there, so re-keying Cottony left no generated path in either flow.

    PW277 · c8c36cb
  291. a flow kept before selectors still clicks at generated paths, and re-keeping it means driving every step again

    game.rekey puts selectors in an older flow by sending it through a held session; Cottony's two flows were re-keyed and replay to the same frames.

    PW276 · ef30a09
  292. store.capsules reads only a raster logo, so a wordmark kept as SVG has to be exported by hand at a guessed size

    store.capsules draws an SVG logo through Godot at each capsule's size and measures its stroke there; Starship's clear wordmark cut nine capsules.

    PW275 · c3c62d7
  293. a cube and a plate over the same box fill different cells where a face falls on a cell centre

    A plate or prism takes a centre on its edge as a primitive takes one on its face, so one box fills the same cells whichever op draws it (design superseded: closed, not half-open).

    PW274 · 6c07efa
  294. capture.movie asked at a size records at the project's window size, and is refused after as though the script erred

    capture.movie sizes Movie Maker with a run-long override.cfg of window overrides, so a movie asked at 320x240 keeps 320x240 frames.

    PW273 · dfcec69
  295. no measure says how well a target stands out from what lies behind it, so a shot's legibility is scripted by hand

    measure.contrast gives each target's WCAG ratio and CIEDE2000 distance against its ring, and a spec bounds contrast_min over targets a log names.

    PW272 · ca7ad8b
  296. a flow that needs many moves costs thousands of calls, so losing a later Cottony level was never kept

    game.batch sends many commands in one call, so Cottony's lose-a-later-level flow was kept in seven calls with start_level, and replays to one frame.

    PW271 · 9cf6cab
  297. a kept flow names nodes by Godot's generated names, so any node added before them breaks it

    The driver takes a selector wherever it takes a path, and game.keep writes one for each generated path, so a flow survives a node added ahead of it.

    PW270 · 77a0ec1
  298. compose.place writes its picture with no record, so a composed capsule cannot say which pictures it came from

    compose.place and compose.sheet write a record naming the pictures they were made from, so provenance_dependents on a key art finds what was composed from it.

    PW269 · b39a878
  299. a store's capsule set cannot be cut from one key art, so each project crops and places its logo by hand

    store.capsules cuts a store's whole set from one key art and a logo, shapes as data, refusing any upscale and failing a capsule whose logo won't read (design recorded in docs/specs/store.md).

    PW268 · 0124b9c
  300. capture.run trusts the size a script says it applied, so a window the OS shrank records a picture of the wrong size

    A capture holds the size its pictures have, several sizes hold none, and a picture the OS shrank is refused naming its size and the cause.

    PW267 · 09e4d14
  301. the review page admits a picture to a canon only from a gate lane, so a family never gated cannot start

    [style] candidates lists pictures a person may admit to a canon from the review page with no gate run, and a board under two pictures says it judges nothing.

    PW266 · 119891b
  302. a refused picture can be promoted only from the review page, so a verdict given in chat has no operation to carry it

    verdict.promote carries a promotion given in conversation as the refused lane's own write, from the CLI or MCP, and mesh.buy then models from the picture.

    PW265 · eabb3cb
  303. mesh.buy asks which paid service to use even when only one of the declared services sells meshes

    A buy naming no service takes the one whose prices row carries its model, so mesh.buy in Starship reaches Meshy; it asks only when none or several do.

    PW264 · 590d515
  304. geometry.fit scores at the reference's own aspect, so a declaration held to another box is squeezed to its range edges

    geometry.fit names each view's aspect gap and the best values bound by their ranges, and boxed=true scores shape inside each view's box.

    PW263 · 15fe5aa
  305. a one-cell paint region centred on a cell boundary silently takes both cells, so a row of mullions paints a whole face

    A voxel build names each thin paint region that takes more cells across than its width, with the node, the axis and the half-cell move.

    PW262 · cd8aeb4
  306. a sitting given bare picture paths as members raises and takes the MCP server down instead of refusing

    A sitting reads a bare path as a picture and refuses any other bad member by index (verdict.bad-member); an operation that raises comes back to MCP as op.crashed.

    PW261 · 79c5682
  307. a capture run through the tool never writes its picture's record, since no caller can pass engine.run's produces

    capture.run records every picture its expect lines name, as Starship's citadel now is, and says why_unrecorded when a run names none (design superseded: PW246 had already fixed it).

    PW260 · 89a4825
  308. a visual effect such as a trail or a burst of particles cannot be declared, built or accepted

    Starship's seven trails are declared, built and accepted through vfx.build and vfx.preview, and the game wears the built scenes with no drawing code of its own.

    PW259 · d394ed2
  309. what a change costs a frame is found only by stashing, re-importing and timing both sides by hand

    engine.cost times a script on the tree and a revision's worktree, alternating, with each measure's difference, interval and sure; RK131 read +1.11 ms GPU (design recorded in docs/specs/engine.md).

    PW258 · edc5203
  310. Starship's screen still shows names its world bible replaced

    Starship's 174 crew lines are judged into its lines canon, and its Lancer is bought from the world with entity=, the sidecar naming it.

    PW200 · 4132376
  311. words.check reads the plural of a declared name as a name the world does not show

    words.check takes a declared name's English plural as the name (Gleaners, Foremen), an entity may state an irregular plural, and a near miss names the name it is near.

    PW257 · c3c8ced
  312. a sitting shows pictures only, so a person cannot hear a new sound beside the old one and give a verdict

    sound.sitting plays each sound beside the one it replaces on the review page, a loop looped; verdict.judge keeps the answer in its record (design recorded in docs/specs/acceptance-spec.md).

    PW256 · e7ededa
  313. music.render always writes both WAV and OGG, so a game that loads one ships the other or deletes it by hand

    music.render writes only the formats a game loads: those named, else its declared cue's format, else both; an OGG asked for without ffmpeg is refused, not dropped.

    PW255 · 8c5bdec
  314. a synthesised effect is normalised to a peak alone, so a replacement lands 10 dB louder than the sound it replaces

    An effect may declare its loudness or match the sound it replaces and lands within 0.5 dB of it, peak a ceiling said when it binds (design recorded in docs/specs/effects.md).

    PW254 · a81bff9
  315. a voxel preview's front view puts +x where a camera at -z sees -x, so an asymmetric model reads mirrored

    The voxel sheet draws each view as a camera there sees it, +x on the left from -z as a Godot camera shows it, so asymmetry reads true (design recorded in docs/specs/geometry.md).

    PW253 · 6a35a29
  316. a paint whose marks cover none of its body's cells builds clean, and the detail is silently missing

    A voxel build names each paint member that covers none of its body's cells, and each declared material no cell wears, as findings (design recorded in docs/specs/geometry.md).

    PW252 · 3c94fd4
  317. capture.run kills every script at frame 6000, and no parameter raises it

    capture.run takes frames and timeout, so a late moment runs to its end, and a silent run's why names the budget that may have cut it (design recorded in docs/specs/engine.md).

    PW251 · 29dff9b
  318. finding a seed where a game shows a moment means flying it by hand, one seed at a time

    engine.sweep runs one script over a grid of arguments in parallel and returns the runs whose log shows a pattern, recorded per build (design recorded in docs/specs/engine.md).

    PW250 · 450d9e6
  319. a game can be captured as one still, never as the frames of a run between two ticks

    capture.movie keeps every frame between two marks a script prints, via Movie Maker, with the audio and one record naming ticks and dropped frames (design recorded in docs/specs/engine.md).

    PW249 · 4a81444
  320. a project cannot ask which files it ships were made by a generator, directly or through their inputs

    provenance.generated names every shipped file whose lineage reaches a purchase, with its chain and service, beside the authored and unrecorded ones (design recorded in docs/specs/provenance.md).

    PW248 · 697505f
  321. a list parameter passed from PowerShell never arrives as JSON, so the CLI refuses it

    A list flag may be given once per item or as @file.json, so it survives PowerShell 5.1, and a mangled list is refused naming both forms (design recorded in docs/specs/tool-surface.md).

    PW247 · 3c0b47c
  322. capture.run answers ok false with verdict ok and an empty why when only the environment differed

    A capture whose environment did not hold now names the cause in verdict and why at the top, and lists the pictures its expect lines named (design recorded in docs/specs/engine.md).

    PW246 · 943cb2a
  323. a capture asked at 1920x1080 comes back at the project's window override, since each script applies the size

    capture.run puts the declared size on the engine's command line, which beats a window override, and checks the saved picture's own size (design recorded in docs/specs/engine.md).

    PW245 · d7df1f7
  324. Cottony's flow from title screen to a won level is checked by no test, so a broken menu ships unseen

    Cottony's export check replays two flows a blind agent kept, a won first level and a setting that sticks, beside a clean release check (design recorded in docs/specs/driving.md).

    PW217 · 18c423d
  325. A real-time game has never been driven frame by frame, so the driver is proven on a turn-based board only

    Starship, driven into its first phase with fire held and kept as a flow, replayed ten times to the same score, ship and wave on frame 732 (design recorded in docs/specs/driving.md).

    PW216 · 23d1d66
  326. Nothing stops the driver addon from shipping inside a release export

    game.release_check names every preset, autoload or exported pack that would ship the driver, and refuses as a gate with strict (design recorded in docs/specs/driving.md).

    PW215 · d43745f
  327. A flow an agent found by driving the game is lost when the session closes, so nothing replays it

    game.keep writes a session's steps as a flow file, and game.replay runs it in one launch with no agent, naming the first step that broke (design recorded in docs/specs/driving.md).

    PW214 · b38762e
  328. An agent has no tool that opens a game, acts in it and reads it back within one session

    game.open, query, input, step, wait, call, shot and close drive a held game over MCP or the CLI, each answer naming the errors it printed (design recorded in docs/specs/driving.md).

    PW213 · 42887d7
  329. A running game cannot be held between two tool calls, so each question an agent asks it costs a fresh launch

    A polyweave_driver addon holds a game by blocking its main loop and answers query, input, step, wait, call and shot over loopback JSON (design recorded in docs/specs/driving.md).

    PW212 · f7b248d
  330. Nobody knows if an agent can drive a Godot game from its menu to a won level and get the same result twice

    A GDScript harness drove Cottony from its splash to a won level 1 by input alone, and ten runs agreed to the frame and the board.

    PW211 · 6b0d43d
  331. words.check reads the pronoun I's contractions mid-sentence as unknown names, failing ordinary English dialogue

    In an English locale words.check reads I'm, I'll, I've and I'd as ordinary words, so dialogue passes with nothing listed in [words] ordinary (design recorded in docs/specs/world.md).

    PW244 · 0c311f3
  332. words.check glues the lines of a cell with a real line break, reading two words as one unknown name

    words.check reads the table as one stream, so a real line break in a quoted cell splits it exactly as the escaped \n does (design recorded in docs/specs/world.md).

    PW243 · dc45284
  333. a capture of a moment in play misses its subject when spawns vary between runs

    capture.run with until_visible takes the run again, up to tries, until the script reports its subject on screen before the picture (design recorded in docs/specs/engine.md).

    PW242 · dffd55f
  334. a declaration cannot say its asymmetry is meant, so a one-armed pose fails the symmetry check the project applies to all

    A declaration or one variant may set near_symmetry or asymmetric in its [voxels], and the symmetry finding names its model (design recorded in docs/specs/geometry.md).

    PW241 · dfac94c
  335. no operation compares two voxel models cell by cell, so proving a declaration rewrite changed nothing takes a script

    geometry.compare answers whether two voxel models hold the same cells in the same materials, naming what moved and how the grids differ (design recorded in docs/specs/geometry.md).

    PW240 · 417c6b7
  336. a mesh of small triangles projects as a speckle of dots, so its silhouette is mostly missing

    project samples each face across its whole barycentric set, so a finely cut surface draws the outline one quad does (design recorded in docs/specs/fetching.md).

    PW239 · 20a31cd
  337. capture.run over MCP and the CLI takes no arguments for the script, so a capture that needs any falls back to Python

    capture.run takes the script's own args over MCP and the CLI, passed after one -- ahead of the environment (design recorded in docs/specs/engine.md).

    PW238 · f5c3111
  338. a voxel detail painted onto a body needs two carves and a helper node, as no op repaints cells without adding any

    A paint node repaints a body's own cells where another node covers them, cell for cell the two-carve trick, and reads back in words (design recorded in docs/specs/geometry.md).

    PW237 · 2e60810
  339. a voxel preview does not say which way its front view looks, so a face declared on +z is found by rebuilding

    The spec states a model faces -z, the sheet labels where each view looks from, and describe warns of a face part on +z (design recorded in docs/specs/geometry.md).

    PW236 · f6062c9
  340. the Godot addon reads a voxel model but cannot draw one, so each game writes its own MultiMesh drawer

    The Godot addon's VoxelDraw node draws a model's skin, shared per file and centred, with per-node wash and fade and a default shader (design recorded in docs/specs/geometry.md).

    PW235 · 94a9884
  341. a voxel model over budget on cells no one sees is hollowed by a hand-sized cutter, by trial

    [voxels] hollow keeps a skin of whole cells and drops the inside before the checks, and a budget finding names the buried share (design recorded in docs/specs/geometry.md).

    PW234 · b0d0dec
  342. a primitive has one size and no cone or frustum, so every disc and drum is a scaled, turned unit cylinder

    A primitive takes a size per axis and an axis to stand on, with cone, frustum and torus answered exactly on the voxel grid (design recorded in docs/specs/geometry.md).

    PW233 · 737fc2c
  343. a fit to a Meshy mesh scores the gaps in its surface as empty, so the fitted model shrinks to match them

    geometry.fit fills a mesh reference's silhouette from its border, so a leaky mesh is fitted to its outline; filled says how much each view needed (design recorded in docs/specs/geometry.md).

    PW232 · 7348c05
  344. a misspelt key under a declaration's [voxels] builds without it and names nothing

    A key under [voxels] that nothing reads is refused as geom.unknown-field at voxels.<key>, naming the nearest real one (design recorded in docs/specs/geometry.md).

    PW231 · 6d1f3da
  345. fitting a voxel model to its reference has no operation, so a project writes a script to run it

    geometry.fit fits a voxel declaration to a drawing or mesh from the command line or MCP, and writes the best values into its [params] on request (design recorded in docs/specs/geometry.md).

    PW230 · bbdb0e9
  346. a project's voxel declarations cannot share one cell size, so each repeats it and a drift is found by eye

    A project's [voxels] cell is the cell of every declaration stating none, the build says so, and a declaration drifting from it is warned (design recorded in docs/specs/geometry.md).

    PW229 · 0a7d296
  347. an artefact built on Windows is written with CRLF, so its provenance fails once a checkout normalises line endings

    Text artefacts and records are written with LF everywhere, and verify says a record taken over CRLF was, not that it changed (design recorded in docs/specs/provenance.md).

    PW228 · 01c8bab
  348. a build stamp records its outputs as absolute paths, so it cannot be committed or shared between checkouts

    A build stamp names its source and outputs relative to the root with LF endings, so two checkouts write the same bytes and it can be committed (design recorded in docs/specs/geometry.md).

    PW227 · 4a37d3c
  349. a voxel build always writes a .glb too, which a Godot project imports and never uses

    [voxels] mesh = false, or mesh=false and --no-mesh on the builds, writes the cells alone, taking back a .glb an earlier build recorded (design recorded in docs/specs/geometry.md).

    PW226 · b6f79e0
  350. A loop cut mid-bar in a dense mix passes both seam measures

    seam_grid holds a loop's length to whole bars from its record, or to beats off its onsets: a dense-mix cut reads 0.19 to 0.38, a whole loop 0.001 (design recorded in docs/specs/measurements.md).

    PW225 · 54073ee
  351. A sound ffmpeg cannot decode escapes sound.read as a raw process error, not a refusal

    A sound ffmpeg cannot decode is refused with spec.unreadable-sound naming the file, and sound.declared names that one cue while the others still measure.

    PW224 · 7ad4772
  352. A chiptune score cannot play its percussion on an sfxr drum kit

    A score plays drums on a chip:<kit> of sfxr hits, each placed on its tick by velocity, with a kit lacking a hit named before any render (design recorded in docs/specs/music.md).

    PW223 · c36b652
  353. seam_flux reads a loop that restarts on a crash cymbal as a cut

    seam_flux weighs the wrap against the track's own strong onsets, so a clean loop opening on a crash reads below one; cuts still read above (design recorded in docs/specs/measurements.md).

    PW222 · fa628a2
  354. sound.measure refuses every one-shot effect as too short for a seam

    A one-shot measures its loudness, peak and duration with no seam, so an effect can be bounded; a seam bound on one is refused with the length needed (design recorded in docs/specs/measurements.md).

    PW221 · 52fb2e4
  355. Rendered audio does not record which instruments made it or what their licences owe

    Every rendered or synthesised sound's record names its engines, libraries and patches with their licences; provenance.credits lists what a game owes (design recorded in docs/specs/provenance.md).

    PW191 · 67792a1
  356. Realistic sound effects have no bounded way to be bought from a service

    sound.buy buys an effect from ElevenLabs under its price row and ceiling, transcodes it to its declared cue's format and ledgers it first (design recorded in docs/specs/effects.md).

    PW190 · c6d8db0
  357. Retro sound effects are synthesised by each consumer's own script

    sound.synth makes retro effects with a seeded sfxr from a *.sfx.toml, at the declared cue's file, redrawing seeds until a duration bound holds (design recorded in docs/specs/effects.md).

    PW189 · 28155a9
  358. One theme cannot play at several intensities that stay in step

    A score's tracks name layers, and music.render writes one file per layer at the mix's exact length, each riding the master's gain so they add back up to it (design recorded in docs/specs/music.md).

    PW188 · 9716908
  359. A composed score cannot become a WAV or OGG file without a DAW open

    music.render turns a valid score into a mastered WAV and OGG through Surge XT and FluidSynth, folding a loop's tail onto its start, with no DAW open (design recorded in docs/specs/music.md).

    PW187 · ebeb5ef
  360. An agent cannot write multi-track music as data that polyweave validates

    A *.music.toml score in mini-notation compiles to a piano-shaped note model; music.validate names every problem with its line, and music.to_midi writes it (design recorded in docs/specs/music.md).

    PW186 · 53b8b5a
  361. No declaration says which music and sound effects a game needs or where they land

    A game declares its audio as [sound.<family>] cues, and sound.declared says where each lands, what it measures and which files are missing (design recorded in docs/specs/project-config.md).

    PW185 · 4303611
  362. Nobody knows if agent-composed, headlessly rendered music sounds good enough to ship in a game

    A person judged three agent-written loops and ten seeded effects, rendered headlessly through Surge XT and FluidSynth, to sound professional, so Block P proceeds.

    PW184 · e193a3d
  363. Nothing says an adopted project has drifted: an engine gone, a path missing, a stale agent section

    init --check reports each adoption gap with its remedy and exits non-zero on an error; init's own output and a hand-written adoption check clean (design recorded in docs/specs/project-config.md).

    PW220 · 75d4f9c
  364. A configured project still hides polyweave from its agent: no server declared, no skill, no word in AGENTS.md

    init --agent declares the server unless the plugin is on, and writes a stamped AGENTS.md section from the config that CLAUDE.md imports (design recorded in docs/specs/project-config.md).

    PW219 · 2712e84
  365. A new project writes polyweave.toml by hand, key by key, against a spec it has to read first

    python -m polyweave init proposes polyweave.toml from the tree, writes it only when asked, merges without overwriting, and never proposes a budget (design recorded in docs/specs/project-config.md).

    PW218 · 7160e4a
  366. a scene script's expected line anchored with ^ never matches below the log's first line

    A script's expected line is matched in line mode, so an anchored pattern finds the line wherever in the log the script printed it.

    PW210 · c13ecfc
  367. a variation is held to its parent pixel for pixel, which a service that redraws the whole picture can never meet

    picture.against_parent measures what was kept as the outline framed alike and the look's drift, floored by accepted variations; pixels only where a service preserves.

    PW209 · b69ce63
  368. a picture a person promoted from the gate's refused lane cannot be bought from, because mesh.buy asks only the gate

    mesh.buy accepts a picture the gate saw and a person promoted from its refused lane on the review page, as well as one the gate passed.

    PW208 · df7b6b7
  369. Every public description still calls polyweave a tool for 3D assets

    The manifests, skill trigger, README, docstring, llms.txt and site describe a game's parts, claiming only what shipped and naming levels as next.

    PW207 · 6e9085e
  370. Whether a line keeps the world's tone has nowhere to be answered but a chat

    words.sheet puts unjudged lines on the review page beside the world's tone; verdict.judge keeps each in a lines canon world.read returns (design recorded in docs/specs/world.md).

    PW199 · 22ae225
  371. A character's picture or mesh is bought from a description retyped by hand

    picture.buy and mesh.buy take entity=, compose the prompt from its look, and record it so only its own changes read as outdated (design recorded in docs/specs/world.md).

    PW198 · aaa71ce
  372. Text a player reads is never checked against the world's names and rules

    words.check holds Godot's translation CSV to the world per locale; words.unlisted counts scene literals outside it (design recorded in docs/specs/world.md).

    PW197 · f518f44
  373. No declaration says which names, factions and characters a game's world holds

    A *.world.toml declares a game's entities; world.validate reports duplicate names, unknown factions and style families on their lines (design recorded in docs/specs/world.md).

    PW196 · 7255e0c
  374. a transparent picture is uploaded with the colour its generator left under full transparency

    Every picture a service is sent has the colour under full transparency cleared to black, so a service that drops alpha shows only what a viewer saw.

    PW195 · a63a91b
  375. the picture gate compares silhouettes where each service framed them, so placement and size swamp the shape

    The gate trims each silhouette to its alpha and fits it into one square before comparing, so a shape scores the same wherever and however large it was drawn.

    PW194 · dd9cea2
  376. a paid picture's download is refused by Ideogram's image host, because the plugin sends Python's default agent

    Every request the plugin sends names it as polyweave, so Ideogram's image host hands over a paid picture instead of refusing the download.

    PW193 · d1092f1
  377. a mesh is bought by each consumer's own Meshy client, so the plugin never sees a mesh bought from a picture

    mesh.buy buys an untextured mesh from words or a gated picture, measured by two balance readings, and refuses a picture the gate never passed.

    PW183 · 8e39fb1
  378. a verdict sheet is sized to its member rows, so the choice lines under them are cut off at the edge

    A verdict sheet measures every line with the font that draws it, choices included, so none is cut off on a sheet of narrow pictures.

    PW182 · 5a9f56e
  379. an approved picture cannot be reframed to another aspect ratio, so an icon and a banner of it are two separate pictures

    picture.vary reframes a picture into a new frame, and against_parent finds where the parent landed and refuses if it changed (design recorded in docs/specs/fetching.md).

    PW181 · 8aee039
  380. a picture paid for whose download then fails is charged to no ceiling, so the next spend is judged too high

    A picture charged for and never delivered is owed beside the ledger and counted against the ceiling; picture.collect lands it later (design recorded in docs/specs/fetching.md).

    PW179 · e38a493
  381. a picture is bought only synchronously, so each call holds a connection open until it is drawn

    picture.buy sends the async route, polls the generation id to its end or a timeout, keeps it as the task id, and runs as a fetch job (design recorded in docs/specs/fetching.md).

    PW178 · 90d4811
  382. the canon is a folder of files, so what a family is meant to look like is never seen whole

    Each family's canon is one board with its palette, skeleton and floors, each picture's effect on them, and joins and removals only by a click (design recorded in docs/specs/acceptance-spec.md).

    PW177 · 369d5a6
  383. two versions of an asset are compared side by side, where a few ΔE of drift or a grown silhouette goes unseen

    A mesh compares as a turntable baked at the rig's own camera, frame by frame, with the drawing laid over its front view (design recorded in docs/specs/acceptance-spec.md).

    PW176 · 23a65ef
  384. a person sees the pictures the agent kept and never the ones it refused, so a wrong refusal is invisible

    The page lays each gate run out as kept and refused lanes with their numbers, and a person promotes a refused picture through judge (design recorded in docs/specs/acceptance-spec.md).

    PW175 · eb2b27d
  385. a person can say what is wrong with a picture only in words, so where it is wrong is the agent's guess

    A person can mark where on the page; the mark is kept as a mask tied to the picture's digest, and an edit of that picture is bounded by it (design recorded in docs/specs/acceptance-spec.md).

    PW174 · 93fb61b
  386. an answer given on the page reaches the agent only when the person says so again in chat

    Each page answer is a line in answers.jsonl, and verdict.answers hands back what was said since a time and carries it into the agent's open run (design recorded in docs/specs/acceptance-spec.md).

    PW173 · bf7dbad
  387. a person sees a render or picture only by opening files by hand, so a verdict rests on the agent's description

    polyweave review serves one page on 127.0.0.1 that shows every sitting's sheets from disk and has one write, verdict.judge (design recorded in docs/specs/acceptance-spec.md).

    PW172 · a46a186
  388. 2D art from a picture service arrives at the size and margin it chose, not the project's grid

    picture.fit defringes, trims and fits a picture to its family's cell and anchor, pixel art unsmoothed, with the transform on its record (design recorded in docs/specs/fetching.md).

    PW171 · 510fc84
  389. a variation of an approved picture can change what was approved, and nothing compares it to the one it came from

    picture.vary buys a remix or masked edit with its parent on record; against_parent refuses change outside the mask and drift from the canon (design recorded in docs/specs/fetching.md).

    PW170 · a3f1788
  390. lettering drawn into a picture can be misspelt or lose its accents, and nothing reads the letters back

    picture.letters reads lettering back with tesseract in the project's language, keeps accents, and reports an absent engine as unchecked (design recorded in docs/specs/fetching.md).

    PW169 · 1476966
  391. a reference drawing reaches the mesh service unchecked, so a wrong silhouette is found only once the mesh is paid for

    picture.gate refuses a picture that is no drawing, runs off the frame, misses the outline or drifts, says why, and keeps the best IoU (design recorded in docs/specs/fetching.md).

    PW168 · 73c84ce
  392. a picture that drifts from the canon is found by a person looking, after it was already offered as a candidate

    style.drift holds palette, value, saturation, line, edge and light to the canon's own spread and says which way a picture drifted (design recorded in docs/specs/project-config.md).

    PW167 · c3fee96
  393. nothing says what a project's pictures should look like, so each prompt restates a house style by hand and drifts

    Each family's palette and skeleton are declared once and composed into every structured prompt, and only a verdict adds to a canon (design recorded in docs/specs/project-config.md).

    PW166 · 4f5ea1d
  394. a picture cannot be made again from its record, because the service rewrites the prompt it was given

    A picture's record keeps the prompt sent and the one drawn from, its seed and size; json_prompt is drawn as written, and describe makes a picture one (design recorded in docs/specs/fetching.md).

    PW165 · 2716384
  395. an image service reports no balance, so what a picture cost cannot be measured the way a mesh's is

    A picture is priced from the declared table and says it was quoted; reads report quoted spend, and reconcile holds each quote against the bill (design recorded in docs/specs/fetching.md).

    PW164 · 9b12d44
  396. no picture can be bought, so every drawing a mesh starts from still has to come from a person

    picture.buy buys one Ideogram picture against its own ceiling, checked first, refused as a code, and captured before its link expires (design recorded in docs/specs/fetching.md).

    PW163 · d9646d5
  397. a project can name only one paid service, so a second one's key, schema and ceiling have nowhere to live

    Each paid service is a named table with its own key, schema and ceiling in its own unit, and a spend among several must name one (design recorded in docs/specs/project-config.md).

    PW162 · a3c3434
  398. a look digest's palette is one mean colour, so restyling the small slot of a two-material asset may not move it

    A bake paints each slot flat in a one-sample pass at its rig, so the look palette is a colour per slot and a recoloured rim moves it (design recorded in docs/specs/measurements.md).

    PW161 · 15874cc
  399. a clip is baked to an animation and a sheet only from Python, since every step takes a mesh and a rig in memory

    motion.bake takes the clip, mesh and plan by name, fits, weights, compiles and bakes, and answers with the paths and whether both outputs match (design recorded in docs/specs/motion.md).

    PW160 · fe35b11
  400. a misspelt key in a geometry declaration is accepted silently, at the top level or on a node

    parse refuses a key nothing reads with geom.unknown-field, per document, node, repeat and op; it caught a fixture whose bevel said amount (design recorded in docs/specs/geometry.md).

    PW146 · 4d8169e
  401. a bake after preview_size changed is served the old-size picture from the cache, as a hit

    Every bake keys on the frame it draws, so a changed preview_size misses and renders at the new size; every existing key changed once (design recorded in docs/specs/engine.md).

    PW145 · 2c299dd
  402. the rig a search found is kept nowhere, so each run searches it again and no other game can start from it

    A passing searched port keeps its rig beside the family file; the next port renders at it before searching, and another family can start from it (design recorded in docs/specs/adoption.md).

    PW144 · 4f95643
  403. an acceptance spec bounds how an asset looks and never what it costs the game to draw

    A spec bounds triangles, materials, draw calls, texture bytes and cells, read off the .glb, voxel model or texture it names, so costly looks fail (design recorded in docs/specs/acceptance-spec.md).

    PW143 · 647fcd8
  404. a voxel model is drawn with every filled cell, including the ones buried where no face of them can be seen

    The addon draws skin() alone on request, read off depths or neighbours, and exposed_by() names what a hit uncovers; the frame cost is unmeasured (design recorded in docs/specs/geometry.md).

    PW142 · f10a8c5
  405. a bake does not say whether its silhouette moved or only its look, so two bakes are compared by measuring both again

    A bake returns and records a shape and a look digest quantised at the rung's noise floor; measure.digest reads both off any picture (design recorded in docs/specs/measurements.md).

    PW141 · 739a7a7
  406. a build is reported cached after the plugin that built it changed, because its stamp hashes the inputs alone

    A build records each output's provenance and its stamp is that record's key, so a new plugin version or --preview rebuilds (design recorded in docs/specs/geometry.md).

    PW140 · 936804e
  407. two jobs started at once can both pass the capacity check, so [render] max_parallel is exceeded

    An O_EXCL start lock spans the count and the record, so two starts at a bound of one give one refusal; a job not yet spawned is no longer reaped (design recorded in docs/specs/tool-surface.md).

    PW139 · 40c82ba
  408. the tool-surface spec names twelve error areas and the code declares nineteen, and nothing reads one against the other

    Six readers hold the specs and skill to the code's areas, names, measures, config, key and commands; the drift they found is fixed (design recorded in tests/test_spec_names.py).

    PW138 · b637e19
  409. the site's own test requires the page to say there is no implementation, after a hundred lines have shipped

    The site states built blocks and open lines from the generated roadmap, a test holds it; README, CLAUDE.md, specs and capabilities() dropped stale status (design recorded in site/README.md).

    PW137 · 627421f
  410. no pytest or ruff runs anywhere but a desk, so a consumer pinned to a commit gets one nobody gated

    A gates workflow runs ruff and the gate on Python 3.11 and 3.13, prints the stamp saying CI proves the pure half, and validates the plugin manifests (design recorded in .github/workflows/gates.yml).

    PW136 · 0729d24
  411. a test log written at the repository root is staged by the commit tool, because nothing ignores *.log

    A log at the repository root and the gate's own files are ignored, so a redirected run can never be staged with the fix it was taken for.

    PW135 · 9a47279
  412. a green suite with Blender and Godot absent reads the same as one that rendered, and leaves no record it ran

    tools/gate.py runs the suite under a lock, keeps its log and a red copy, and stamps the counts and how many tests skipped for each absent engine (design recorded in tools/gate.py).

    PW134 · e041787
  413. an agent may hand-edit a built mesh or voxel file, and nothing notices the output no longer follows its declaration

    The plugin's guard denies a hand edit to a built or recorded file, naming the declaration, and a Stop hook catches one that slipped by (design recorded in docs/specs/adoption.md).

    PW133 · 6cbe3b4
  414. an agent in a consumer is never told the plugin exists, because it ships no manifest, skill or session notice

    The repo is a Claude Code plugin and marketplace: an MCP server, a driving skill, and a one-line SessionStart notice, held to size by a test (design recorded in docs/specs/adoption.md).

    PW132 · a5d7a24
  415. starting work on an asset means opening its declaration, spec, record and last verdict one file at a time

    asset.brief says where an asset stands in one read: its shape, its bar and origins, its artefact against its record, its last verdict, a digest (design recorded in docs/specs/tool-surface.md).

    PW131 · e10b40f
  416. every test calls the surface correctly, so a silently dropped argument or a wrong first call is never measured

    A canonical task runs in three counted calls, and a naive client's first guesses are each refused; validate now type-checks every argument (design recorded in docs/specs/tool-surface.md).

    PW130 · 824480f
  417. nothing bounds what describe, capabilities or an error costs the turn that reads it

    A test holds describe, capabilities, the largest refusal, --help and a search's answer to measured ceilings, and a long allowed list is cut to 40 (design recorded in docs/specs/tool-surface.md).

    PW129 · 1200f7e
  418. a refused name says what was wrong but never which names would have worked

    Every unknown-name refusal passes allowed, so each names the names that work, the nearest and where; test_names holds all 62 sites.

    PW128 · c75532d
  419. a remedy is a sentence, so nothing checks that the call it names exists or accepts those arguments

    A remedy naming a call carries it as a door, operation and arguments, and a test parses every door in the source and codes table as a command (design recorded in docs/specs/tool-surface.md).

    PW127 · dd2e214
  420. the acceptance spec is only ever aimed at a 3D bake, though nothing in its format is 3D

    The owner put sound in scope: a spec bounds a WAV's seam step and spectral change, loudness, peak and length, checked and verified like a picture (design recorded in docs/specs/acceptance-spec.md).

    PW113 · 4ca6659
  421. a mesh's outline, a reference, an ingest and a composed picture are made only from Python, since describe lists none

    Eight operations cover shape, reference, normalise, compose and texture by path, choices read off the code; pending falls to 40 (design recorded in docs/specs/tool-surface.md).

    PW159 · fc50d02
  422. the engine is found, run and captured only from Python, since describe lists nothing of the engine side

    engine.find and run, capture.run and declared, offscreen.routes and godot.install are operations, free of test hooks; pending falls to 73 (design recorded in docs/specs/tool-surface.md).

    PW158 · 8e27fbe
  423. the purchase ledger and the service schema are read only from Python, since describe lists neither

    Seven purchase and three schema operations are registered, a date taken as text; writing and learning stay behind the fetch; pending falls to 94 (design recorded in docs/specs/tool-surface.md).

    PW157 · eb0308f
  424. a declaration is built or read back only from Python, since describe lists no geometry

    geometry.build, build_all, describe and variants are operations taking a declaration's path; pending falls to 112 (design recorded in docs/specs/tool-surface.md).

    PW156 · 7430cc0
  425. a picture is measured only from Python, since describe does not list the measurement vocabulary

    measure.take, same and available are operations, take naming the four arguments a measure takes; pending falls to 147 (design recorded in docs/specs/tool-surface.md).

    PW155 · 139315c
  426. a render's plan and an asset's scale are checked only from Python, since describe lists neither

    render.plan and units.check, engine_scale and read_number are operations describe returns; pending falls to 163 (design recorded in docs/specs/tool-surface.md).

    PW154 · 3ad5351
  427. an artefact's record, and what depends on a file, are read only from Python, since describe lists no provenance

    provenance.read, verify, unrecorded, dependents and outdated are operations describe returns; pending falls to 174 (design recorded in docs/specs/tool-surface.md).

    PW153 · c545a95
  428. a family's port and a search's trace are reached only from Python, since describe lists neither

    port.run ports a family by its file path and trace.read reads a sweep's trace back, both by name; pending falls to 193 (design recorded in docs/specs/tool-surface.md).

    PW152 · 1c87300
  429. the loop ledger is kept only from Python, since describe does not list loop

    The ledger is ten loop operations, the open run passed as JSON between them; pending falls to 200 (design recorded in docs/specs/tool-surface.md).

    PW151 · 39c8f99
  430. a person's verdict is carried only from Python, since describe does not list verdict

    verdict.sheet, verdict.sitting and verdict.judge are operations, judge's three choices declared; pending falls to 213 (design recorded in docs/specs/tool-surface.md).

    PW150 · 328af84
  431. a bound is calibrated from the noise only from Python, since describe does not list calibrate

    calibrate.run and calibrate.apply are operations; apply by name cannot replace a person's bound, and pending falls to 216 (design recorded in docs/specs/tool-surface.md).

    PW149 · f2200a2
  432. a rendered search is reached only from Python, since describe does not list search

    search.sweep, asynchronous with a spec path, and search.worth_parallel are operations describe returns; pending falls to 222 (design recorded in docs/specs/tool-surface.md).

    PW148 · 7a723c0
  433. an acceptance spec can be checked or verified only from Python, since describe does not list accept

    accept.check, accept.verify and accept.check_screen are operations describe returns, called with paths alone; pending falls to 236 (design recorded in docs/specs/tool-surface.md).

    PW147 · 97a201a
  434. an agent's first call is guessed from prose, because no tool schema carries the plugin's names, ranges and choices

    python -m polyweave serve lists each operation as an MCP tool whose schema has its ranges, choices and required fields, within budgets (design recorded in docs/specs/tool-surface.md).

    PW126 · 1762834
  435. an agent in a consumer can ask what the machine can do, explain a code or start a job only by writing Python

    Every operation is a python -m polyweave subcommand derived from its declaration, with --job for async work and text read off the JSON (design recorded in docs/specs/tool-surface.md).

    PW125 · 941a353
  436. describe knows one operation, so search, accept, geometry and voxels are still learned by reading their source

    Every public function is registered, an entry read or internal with its reason; capabilities lists nothing unregistered and pending is 0.

    PW124 · 99682f6
  437. build --all skips a declaration it refuses to read, so a typo drops an asset from the build and exits 0

    build --all tells a declaration from other TOML by its nodes or voxels key, so one that fails comes back refused and the build exits 1 (design superseded: no geom.unknown-field existed (PW146)).

    PW123 · c522f21
  438. a voxel model's cubes mesh is refused when a material carries a game key or its colours came from a texture

    A voxel model's cubes mesh wears its palette with only the keys the shader has, so game keys ride in the cells alone and found colours are materials.

    PW122 · 76a92a0
  439. on Windows every console program a background job starts opens a terminal window of its own

    A background worker on Windows gets a hidden console of its own, so the engine or a Python child it starts no longer opens a terminal window.

    PW121 · f534fb9
  440. every family port is a hand-written script repeating the same build, search, check, bake and record steps

    A family file states members, axes and bake targets, and port.port runs the build, family search, final bake and ledger record from it (design recorded in docs/specs/adoption.md).

    PW120 · daa1809
  441. nothing answers which captures and renders depend on a file, so a changed sprite means re-taking all of them

    provenance.dependents names every capture and render made from a file, and outdated fails while one depends on a file that has changed since (design recorded in docs/specs/provenance.md).

    PW119 · 21c6d10
  442. a capture that changes blames an undeclared setting when what moved was a file the game loaded

    A capture hashes its script and every resource the game loaded, so a changed sprite names itself instead of an undeclared setting taking the blame (design recorded in docs/specs/engine.md).

    PW118 · e683fd1
  443. every symptom in the backlog was measured on one game, so the config boundary is tested by a single adopter

    A web-page adopter needed no new key but found two Cottony shapes compiled in: all three rungs assumed, and scales read only from GDScript (design recorded in docs/specs/adoption.md).

    PW117 · 630739e
  444. a ledger side that never measured the hand work still yields a conclusive verdict

    A run names what it never measured, and compare lists it and calls a side with untimed seconds inconclusive instead of not reduced (design recorded in docs/specs/adoption.md).

    PW116 · aeb764f
  445. a run's render count is whatever its caller adds up, so a cache hit can be charged as a render

    Inside loop.recording, every bake counts itself into the run as a render or a cache hit, so no caller's arithmetic reaches the ledger (design recorded in docs/specs/adoption.md).

    PW115 · 18921c6
  446. the loop ledger only times a first port, where the old rig is a three-second re-bake of constants already found

    A run can name a change to a ported asset, record a person's minutes, and be compared on that change alone, the baseline rule held per change (design recorded in docs/specs/adoption.md).

    PW114 · c8f8768
  447. a spec is checked against the bake and never against what the engine draws on screen

    A capture script names where it drew each asset, a spec's screen points at one, and verify checks it there and says when screen and bake disagree (design recorded in docs/specs/acceptance-spec.md).

    PW112 · 0311334
  448. no command checks committed artefacts against their specs, so a spec binds only while a search runs

    A spec may name its artefact, and python -m polyweave verify checks each one as committed, with no render, and exits non-zero on a failure (design recorded in docs/specs/acceptance-spec.md).

    PW111 · 800c99f
  449. nothing lists which assets wait on a person's look, so each family waits its turn in series

    loop.pending lists every asset whose newest render no person has judged, and verdict.sitting lays all their sheets out for one look (design recorded in docs/specs/adoption.md).

    PW110 · 6782b32
  450. a person judges a port from a file an agent points at, and the verdict is typed back into the spec by hand

    verdict.sheet shows a family with its failures in words; verdict.judge logs the reply and rewrites a wrong bound as the person's (design recorded in docs/specs/acceptance-spec.md).

    PW109 · 5bff758
  451. a person's verdict is stored per run, so nothing learns which bound a rejection was about

    A verdict keeps each predicate's value and the ids a person blamed, and loop.bounds names a bound overruled twice one way, with the values behind it (design recorded in docs/specs/adoption.md).

    PW108 · 0023c92
  452. a margin around a measured value is chosen by eye, never derived from how much the measure moves on its own

    calibrate re-renders an accepted picture under seed, samples and size, and proposes each bound as its value plus three spreads (design recorded in docs/specs/acceptance-spec.md).

    PW107 · 1f0c080
  453. a spec bound does not say whether it was measured, guessed as a margin or agreed by a person

    A bound may say it was measured, a margin or a person's, and a miss names that bound and what it means, listing misses on a margin as guessed (design recorded in docs/specs/acceptance-spec.md).

    PW106 · 347ab20
  454. a rig can only be searched against one spec, so a family is fitted on one member and hoped for on the rest

    A family search scores each sample by its worst member and, where nothing holds on all, names the two predicates that never hold together (design recorded in docs/specs/acceptance-spec.md).

    PW105 · 6d1c136
  455. a search stops at the first sample inside every bound, however close to one of them it sits

    A check reports each bound's headroom and the tightest, and a search keeps looking past the first pass while a pass still raises the headroom (design recorded in docs/specs/acceptance-spec.md).

    PW104 · bb0f4db
  456. a family of models that differ in a few numbers is one document copied per member

    A document declares [variants] overriding parameters and material keys, and a build writes every member under its own name, read back side by side (design recorded in docs/specs/geometry.md).

    PW103 · d655d78
  457. a Godot project reading a voxel model must write its own loader and MultiMesh setup

    A polyweave_voxels addon installs into a Godot project and reads a voxel model into a resource with a ready MultiMesh, checked in Godot 4.7 (design recorded in docs/specs/geometry.md).

    PW102 · ad47631
  458. building a declaration takes a Python script of the project's own

    python -m polyweave build writes a declaration's outputs with its readback and findings, as text or JSON, and --all skips what has not changed (design recorded in docs/specs/geometry.md).

    PW101 · fd54970
  459. a fetched mesh cannot be the starting block of a voxel model

    A textured mesh node's cells wear its texture's colours, sampled off the surface and quantised to the count the node states; the hammer takes two seconds (design recorded in docs/specs/geometry.md).

    PW100 · f6fc847
  460. a game breaking a voxel model must work out its fragments and damage order itself at runtime

    A [voxels.fracture] plan splits cells into seeded connected fragments that keep to one material, and ranks each cell by its depth from the surface (design recorded in docs/specs/geometry.md).

    PW99 · 1bffff9
  461. fitting a voxel model to a concept drawing or a fetched mesh is guessing numbers by hand

    A voxel fit searches declared ranges for the best overlap with a drawing or mesh per view, in under a second, scoring floating or over-budget cells zero (design recorded in docs/specs/geometry.md).

    PW98 · e72a645
  462. a voxel model with floating cells, one-cell threads or too many cells builds without complaint

    Every voxel build reports floating and edge-held pieces, long threads, near-symmetry, budget and extent, naming the cells, with the project's limits (design recorded in docs/specs/geometry.md).

    PW97 · 14d156f
  463. a symmetric shape must be declared whole, so its two halves can drift apart

    A mirror op joins a half to its reflection across any plane, faces still outward and materials carried, and in cells keeps a column on the plane once (design recorded in docs/specs/geometry.md).

    PW96 · b31cee3
  464. a shape placed cell by cell, like layered pixel art, has no op and would take dozens of cube nodes

    A cells node draws a block as text rows per layer with a legend, painting over earlier nodes, carvable, and built as cubes in a mesh document (design recorded in docs/specs/geometry.md).

    PW95 · 465baa8
  465. a voxel model cannot be seen without starting Blender and paying for a render

    A voxel build writes a contact sheet beside its cells: front, side, top and isometric views in flat colour, drawn in milliseconds with no renderer (design recorded in docs/specs/geometry.md).

    PW94 · 5e06e76
  466. a declaration can only become a triangle mesh, so a game that draws and breaks cells has nothing to read

    A [voxels] declaration builds as cells in milliseconds, painted by the last node covering them, written as flat arrays beside the same cubes as mesh (design recorded in docs/specs/geometry.md).

    PW93 · 5aa33d7
  467. Cottony's four progress stars are lit by three constants found by hand, and no search sees them

    The four stars bake through polyweave from one searched rig, key 15 W and ambient 6, after a person accepted the dim at 0.3977 against a 0.37 margin that was never a look.

    PW76 · d2ae97c
  468. a mesh can only be sized by its height and set on its base, so a flat flying model is rescaled by hand in the game

    Ingest sizes a mesh on its height, length or longest extent and holds it from its base or centre, per asset and on the record, so a ship is two units long and centred.

    PW92 · 6af8dc0
  469. orienting a mesh against its drawing finds which way round it faces but never how far it leans

    Orient now finds how far a drawing leans its subject, without a render: Cottony's hammer comes out at 22 degrees, the roll found by hand, at IoU 0.79 from 0.43.

    PW91 · e015365
  470. a fetched mesh put in the project's frame by ingest comes back without its texture

    Ingest moves the arrived object in place and exports it whole, so Cottony's fetched hammer comes out oriented, sized and still painted.

    PW90 · eea936b
  471. a model kept as a .blend cannot be rendered by the plugin at all

    A .blend is read as it is, its mesh appended in its own materials, so Cottony's 42 MB logo file renders through a plugin bake in 3.4s.

    PW89 · 1efb93b
  472. a declaration scaled by a transform comes back wearing no material, and a mirrored one inside out

    A transform now carries the mesh's material groups and reverses a mirrored mesh's faces, so a tray scaled into cells keeps its two materials and faces out.

    PW88 · b7d6890
  473. a silhouette checked with no region scores a render missing half the drawn shape close to 1

    With no region named the silhouette measures compare over the whole frame, so a render missing half its drawing reads 0.5, not near 1 (design recorded in docs/specs/measurements.md).

    PW87 · 47326fc
  474. a region's colour can only be bounded at its mean, so a spotted cap reads whiter than its body

    pixel_delta_e bounds a region's colour at a percentile, so a spotted cap reads at its body colour and delta_e still means the mean (design recorded in docs/specs/measurements.md).

    PW86 · de65fce
  475. a bake that declares the rectangle it covers answers with the rung's size, not the picture's

    A bake answers with the width and height it drew, on a fresh render and a cache hit alike, and keeps the rung's square beside it as rung_size.

    PW85 · 48d12a6
  476. a rig found on a 96 px star goes dark and flat on the same star at 192 px

    Light power scales with the square of the subject's size, so Cottony's gold star now passes its spec at 96 and 192 px under one rig (design recorded in src/polyweave/render/rig.py).

    PW84 · d0812a6
  477. a colour a declaration writes as #FFC43F renders lighter and greyer than #FFC43F

    A declared hex colour now reaches the shader linearised, and bake(material=) takes one too, so #FFC43F rendered under emission reads back within 2 of itself in delta E.

    PW83 · a68ef3d
  478. a project that has made every capture reproducible has no way to keep it that way

    [capture] reproducible turns a picture that stopped reproducing into a refusal, for the project that has pinned its captures and wants to keep what it earned.

    PW75 · fae7981
  479. a capture of an animated scene draws a different picture every run, and no declared setting holds it still

    A differs now names the settings the run pinned and the frame it never recorded, turning a statement of the fault into a statement of where to look.

    PW74 · 35b93b3
  480. a message with an em dash reaches the terminal with a replacement character in it

    A runner calls polyweave.readable() and the prose arrives whole; the strings were never the fault, and the premise that they were is corrected in the record.

    PW73 · f203b0a
  481. the provenance record's script path is absolute, so a record committed beside its artefact names one desk's drive

    Every path a record carries is now relative to the root, a single kind's own included, and build does it so that no call site has to remember to.

    PW72 · ae09e52
  482. two runs of one capture with the same declared settings produce different bytes, and nothing says so

    A capture now reads the record the last run left and says when the same declared settings produced a different file, proved against the Cottony capture that does not reproduce.

    PW71 · 898d788
  483. Cottony finds Godot two ways now, and the runner CI depends on is the one that ignores the config

    Cottony reaches the plugin as a pinned git dependency, so the runner CI depends on finds Godot the same way the other two do (design recorded in docs/specs/adoption.md).

    PW70 · ddad82d
  484. a declaration that has been built reaches no renderer and no file, so the only way to see one is a test

    A declaration writes itself to a file that bake takes, carrying the coordinates and the materials the build worked out (design recorded in docs/specs/geometry.md).

    PW69 · 44b7bf0
  485. a built mesh has no texture coordinates, so a drawn panel is the right shape wearing nothing

    Inflate takes a drawing as well as an outline, blurring its alpha into the height, so what is inside a drawing shapes the panel and not where it stops (design recorded in docs/specs/geometry.md).

    PW68 · 2c729d6
  486. a model in two materials builds into one mesh that carries neither of them

    A build says which faces wear which material, and the renderer takes a slot per material, so a rope rim on a cushion face stays two colours (design recorded in docs/specs/geometry.md).

    PW67 · 36f986d
  487. a crowned star reaches 82 units outside its own outline, and the op promises it will not

    A crowned dome keeps the silhouette it was given, concave or not, because a concave ring shrinks toward its centroid rather than along its miters (design recorded in docs/specs/geometry.md).

    PW66 · 8baede9
  488. an annulus is a ring between two radii, so a rim that is not round cannot be declared at all

    An annulus takes two edges, so a rim that is not round is a ring rather than a boolean between two plates (design recorded in docs/specs/geometry.md).

    PW65 · 82577ae
  489. an outline naming a shape cannot be given a points count, because points already names a list of them

    A shape is given the points count the document wrote, so Cottony's star builds from a declaration and the review and the build agree about it (design recorded in docs/specs/geometry.md).

    PW64 · 9564517
  490. three of Cottony's rig constants share a name with a plugin parameter that means something else

    Every rig parameter declares its unit and a search says each axis back as fill (W), so a number that meant a fraction elsewhere shows as it is written (design recorded in docs/specs/adoption.md).

    PW63 · 7024e7e
  491. a render resolves its noise floor without naming its rung, so a sphere is judged at the floor measured for a final

    A render is judged at its own rung's noise floor, so the sphere gets the 0.025 measured at four samples rather than final's 0.013 (design recorded in docs/specs/project-config.md).

    PW62 · 1e3b8c7
  492. the site understands one of the backlog's three dep forms, so a block or a range becomes a dangling id

    The site asks roadkeep how each dep resolved instead of splitting the string, so a block survives whole and the gate reads all three forms (design recorded in site/scripts/roadmap.mjs).

    PW61 · 642a88c
  493. a declaration is read, resolved and reported on, and nothing turns one into a mesh

    A declaration builds into the mesh it describes, and the spec's own tray comes out 928 by 928 by 6 with a report per node (design recorded in docs/specs/geometry.md).

    PW60 · 883c4d3
  494. nothing a game ships has been through the skeleton, the clip or the sprite sheet

    A game's own settle pair lays out as one sheet with an index, and its shipped pixels recover the squash its constants declare (design recorded in docs/specs/adoption.md).

    PW58 · 04442fc
  495. a Cottony fetch is bounded by nothing a tool can see, and records itself in a ledger the plugin cannot read

    A ledger another client kept replays into this one for nothing, and every hash it recorded is compared with the file for the first time (design recorded in docs/specs/adoption.md).

    PW55 · 8112fd4
  496. a Cottony shape is a bmesh program that exists only inside a bake, so nothing can read, diff or search it

    Cottony's three model routes are declarations that build, and writing them down is what found the four ops the vocabulary was short (design recorded in docs/specs/adoption.md).

    PW54 · dfdeb3a
  497. a render holding two opaque pixels in one corner is empty for every purpose and passes every check

    A render whose subject reaches too little of the frame is refused on extent rather than area, so a speck is caught and a correctly framed rope is not (design recorded in docs/specs/tool-surface.md).

    PW52 · f6e5a62
  498. a record says nothing about the tolerances its measurements were taken against

    A record carries the tolerances its measurements were taken against, and a cache hit names which of those bars have moved since (design recorded in docs/specs/provenance.md).

    PW51 · 14027aa
  499. a fuzzy surface cannot be declared at all, because shell texturing is a technique and no table holds one

    A material declares a fuzzy surface as a depth and a coarseness, and eight shell constants are derived from those two, so fur asks as cotton does (design recorded in docs/specs/geometry.md).

    PW50 · 449fa82
  500. a fetched mesh arrives with shading painted into its texture, and nothing can take the marks back out

    A texture's painted marks are found against a measured bar and lifted, opt-in and at the final rung, where the repair is 2.5x the floor not invisible (design recorded in docs/specs/fetching.md).

    PW49 · 9299259
  501. every test input is synthetic, so nothing is ever checked against an artefact somebody made

    A real drawing, a fetched mesh and a plush body are in the suite through LFS, and the scene script is a file, so the plugin is checked against real work (design recorded in docs/specs/adoption.md).

    PW48 · 0cacaad
  502. a bake renders square at the rung's size, so a declared world rectangle can be refused but never met

    A declared rectangle now decides both axes and gets an orthographic camera, and the key needed no new field because the declaration already rides in params (design recorded in docs/specs/engine.md).

    PW47 · 4f5115f
  503. a normalised mesh sits beside the paid one with nothing recording what it derives from

    A normalised mesh carries a record naming its parent by hash and holding the transform, so the chain from credits spent to mesh in scene is followable (design recorded in docs/specs/provenance.md).

    PW46 · 7110c16
  504. a search renders its samples one after another, so a budget of twenty-four costs twenty-four waits

    A pass can be handed over whole and rendered through job handles, and the crossing is measured: a loss on the sphere rung, 3.7x on the final one (design recorded in docs/specs/acceptance-spec.md).

    PW45 · 871a15b
  505. one configured noise floor calls every preview-sized render a change, because the floor moves with the rung

    The floor is keyed by rung and read for the one a render records, and a twin render measures it outright, right at any sample count anywhere (design recorded in docs/specs/project-config.md).

    PW44 · 304a856
  506. a colour measured off a render is not the colour that was authored, and nothing says so

    Capabilities renders one known colour and reports what came back, so an installation that cannot measure colour says so before a spec is built on it (design recorded in docs/specs/tool-surface.md).

    PW43 · 11b3366
  507. a render that is black to any observer passes the check for a blank render, on one bit of edge noise

    Flat is now the spread across the visible pixels against the noise floor, so the unlit render that used to pass on one bit of edge noise is refused (design recorded in docs/specs/tool-surface.md).

    PW42 · 645dada
  508. an artefact that was produced without a record is invisible, because verify starts from the records

    Verify now walks the produced directories as well as the records, so a file with no sidecar is named, and a project says which it made by hand (design recorded in docs/specs/provenance.md).

    PW41 · 318fb2d
  509. a tolerance has one default in the project config and a different one in the function that uses it

    A tolerance is resolved once by the operation holding a root, and the pure functions below default nothing, so a second value has nowhere to live (design recorded in docs/specs/project-config.md).

    PW40 · 32c2f35
  510. a job checks only that an argument exists while a direct call checks its range, so one call has two contracts

    A registered operation is validated in the caller before a job spawns, and an unregistered target is left to the worker's signature check (design recorded in docs/specs/tool-surface.md).

    PW39 · fbf3f07
  511. a height field survives an eight-bit round trip as a staircase, and every assertion says it is fine

    A field is its own checked kind, holding the file's own bit depth and its distinct values per channel, with a shallow write and a flat buffer apart (design recorded in docs/specs/tool-surface.md).

    PW38 · 15d250b
  512. a renderer outlives the worker that started it, and a sweep on Windows cannot find it to end it

    A worker writes every process it spawns down before waiting on it, and a sweep ends those pids directly, while the recorded start time still matches (design recorded in docs/specs/tool-surface.md).

    PW37 · 02ea505
  513. the plugin's value is asserted and never measured against what it replaced

    One asset's cost is recorded each way, with a baseline that cannot be written after the port and a verdict allowed to say the plugin made things worse (design recorded in docs/specs/adoption.md).

    PW35 · 8917a7f
  514. a declaration that cannot express a shape leaves no way back to code

    One node may be a project function, handed resolved arguments and its inputs as meshes, with its source hashed so a change to the code costs a rebuild (design recorded in docs/specs/geometry.md).

    PW34 · 22ffdbd
  515. a shape cannot be reviewed without building it, so a wrong construction is found in the render

    A shape reads back in words before it is built, beside what is odd about it, and a built one reports a face count per node (design recorded in docs/specs/geometry.md).

    PW33 · f73f124
  516. a shape's own numbers are unreachable from the search that tunes everything else

    A shape's parameters and a rig's search as one space, ordered so the shape is rebuilt once per shape rather than once per sample (design recorded in docs/specs/geometry.md).

    PW32 · d7ebefa
  517. a format covering only primitives would leave every real asset in code

    Carve, bevel and inflate complete the vocabulary, with the boolean asserted non-empty because that is what protects a build rather than the solver chosen (design recorded in docs/specs/geometry.md).

    PW31 · 963b652
  518. a shape is a Python script, so stating one means writing and debugging a program

    A shape is a TOML document of named parameters, expressions over them and a repeat, resolved into a flat graph that says what a change rebuilds (design recorded in docs/specs/geometry.md).

    PW30 · 0353d1e
  519. a 2D screen needs frames and a 3D scene needs a clip, so the motion is authored twice

    One clip produces the engine's animation and a trimmed sprite sheet with its atlas, both carrying the digest that says they are the same motion (design recorded in docs/specs/motion.md).

    PW29 · 30d817d
  520. an animation lives in a binary track, so a curve cannot be reviewed or edited as text

    A clip is authored as TOML with one key per line, so a timing change is one line in a diff, and the glTF export is a compile step keyed on that text (design recorded in docs/specs/motion.md).

    PW28 · d8916f5
  521. motion is expressed as a second static render, so nothing longer than two frames exists

    A clip has a name, a duration and channels over time, each frame renders as a still, and one measurement runs across all of them rather than at rest (design recorded in docs/specs/motion.md).

    PW27 · 487c1b6
  522. a fetched mesh has no skeleton, so it cannot be posed at all

    The fitted skeleton and its weights are written into the mesh file as a glTF skin, proved by turning a joint in the re-imported file and watching it follow (design recorded in docs/specs/motion.md).

    PW26 · c5ba4cc
  523. a capture takes its picture in whatever language and settings the runner happens to have

    A capture is passed the settings it must be taken under, prints back what it applied, and is refused where the two differ; the answer is recorded beside it (design recorded in docs/specs/engine.md).

    PW25 · 1be08e5
  524. the baked sprite and the running game agree on scale only because a constant was tuned

    An asset declares the rectangle it covers and the scale it is baked at, checked against the engine's own number before a render, both numbers in a refusal (design recorded in docs/specs/engine.md).

    PW24 · b5eadce
  525. a real renderer needs a window, so a capture cannot run where there is no screen

    One call captures real pixels by whichever route draws on this machine, each route proved by a picture it drew and read back rather than assumed (design recorded in docs/specs/engine.md).

    PW23 · 3d0eca4
  526. the engine's exit code is not the verdict, so each project writes its own output parser

    One runner drives a scene script and returns a verdict read off the printed line, the errors and the file, with both bounds set and the log kept (design recorded in docs/specs/engine.md).

    PW22 · 6ddcdbc
  527. a reference photograph brings whatever stood behind the subject back as geometry

    A reference photograph is cut, flattened and checked before a fetch carries it, and the prepared picture is what the record names (design recorded in docs/specs/fetching.md).

    PW21 · 6b74804
  528. a fetched mesh arrives at an arbitrary orientation, scale and origin

    A fetched mesh is oriented, scaled and stood on its origin on arrival, against the drawing that asked for it, and the correction is kept as one matrix (design recorded in docs/specs/fetching.md).

    PW20 · 34e1e1a
  529. an unknown field is dropped in silence, so a payload that validates proves nothing

    The service's shape is probed for free, kept as a file, and payloads are refused locally, so a typo is a refusal rather than a field dropped in silence (design recorded in docs/specs/fetching.md).

    PW19 · 1175cf8
  530. every fetch needs a human decision, so work stops between approvals

    A ceiling set once is spent against without asking, refused when it would be passed, and what each call really cost is the balance either side of it (design recorded in docs/specs/fetching.md).

    PW18 · b65aacc
  531. a paid asset is deleted by the service seventy-two hours after it is made

    A bought artefact lands on disk, is hashed and recorded, and only then ledgered, so nothing ever claims an asset the service has since deleted (design recorded in docs/specs/fetching.md).

    PW17 · 5518067
  532. a generated mesh's silhouette is checked after its credits are spent

    A returned shape is compared against the drawing that asked for it, on a preview where there is one, and a mismatch is a refusal with the picture (design recorded in docs/specs/fetching.md).

    PW16 · 8fac484
  533. a search reports the winning numbers and not what it rejected

    A search writes down every sample it scored and lays the best handful side by side, so a spec satisfied by a wrong render is visible as that (design recorded in docs/specs/acceptance-spec.md).

    PW15 · c0edc29
  534. a search re-renders states it has already rendered

    An identical render is returned from the store instead of paid for again, keyed on everything that can change it, and a hit says it was one (design recorded in docs/specs/provenance.md).

    PW14 · 23ec6b0
  535. a rig number is found by rendering, looking, and changing it by hand, one sample at a time

    A rig number is found by searching the range the spec permits, on a stated budget of renders, reported against every predicate it was scored on (design recorded in docs/specs/acceptance-spec.md).

    PW13 · ea4f5ab
  536. what counts as a correct render lives in somebody's head, so it is approved by opinion

    A file per asset states what makes a render of it correct, and every predicate returns a verdict and a margin a search can climb (design recorded in docs/specs/acceptance-spec.md).

    PW12 · e3b9509
  537. a bake is not byte-reproducible, so a file diff cannot say whether anything changed

    Two renders are compared with a tolerance rather than byte-wise, and a path tracer's own noise sits fifty times below a real change (design recorded in docs/specs/measurements.md).

    PW11 · 52872ee
  538. an asset is judged alone and then lands beside five siblings it does not match

    An asset is composited onto a sheet with its siblings or into the screen it belongs to, and the measurement runs on that rather than the lone file (design recorded in docs/specs/context.md).

    PW10 · 5fa2f0f
  539. a mean over an image agrees while the look is plainly wrong

    Saturation, luma and hue spread come back as distributions over the frame or the subject, so a picture that is wrong at the 99th percentile says so (design recorded in docs/specs/measurements.md).

    PW9 · 9c43d74
  540. a render is judged by opening the file it wrote, so every verdict costs a second call

    A render returns the picture and its measurements in one answer, each measurement naming the region and the rung it was taken at (design recorded in docs/specs/measurements.md).

    PW8 · e6dd42a
  541. judging a material costs a two-minute render when the verdict needs three seconds

    A question is answered from the lowest rung that carries it, on one shared rig, and the answer names the rung it came from (design recorded in docs/specs/rungs.md).

    PW7 · ff4573e
  542. the renderer's version is not recorded, so a render that moved cannot be told from a change

    Every artefact carries a record of the engine, seed, samples, inputs and params that made it, and the same record is the cache key (design recorded in docs/specs/provenance.md).

    PW6 · cd8780e
  543. paths, palette and rig defaults are written into the tool, so a second project cannot run it

    Every path, tolerance, binary and budget is read from polyweave.toml on each call, over a default the plugin ships for all of it (design recorded in docs/specs/project-config.md).

    PW5 · c85cffb
  544. a failure arrives as a stack trace, so the fix is guessed from the frame that raised it

    Every code is declared with what it means and what produces it, explain answers any of them, and a code the table lacks cannot be raised (design recorded in docs/specs/tool-surface.md).

    PW4 · 576cef8
  545. a tool's parameters are learned by reading the source that implements them

    One call returns an operation's parameters with type, range, default and a sentence, read from the signature; another says what this machine can do (design recorded in docs/specs/tool-surface.md).

    PW3 · 638b17e
  546. a tool reports success on an empty result, so the failure is found a render later

    Every operation asserts its own output before returning, and an empty boolean, a blank render or a short download is an error naming what failed (design recorded in docs/specs/tool-surface.md).

    PW2 · 924bc7f
  547. an operation that takes minutes holds the turn, and nothing reports progress until it ends

    Long work returns a handle at once; poll names the stage it reached, result the artefact or the typed failure, cancel the whole process tree (design recorded in docs/specs/tool-surface.md).

    PW1 · 8d1c9ab
  548. a declared finish reaches the game only through glTF import, so a look a person accepted is rebuilt in a game shader

    A build writes a finish as a Godot .tres, a shader for a sheen, with the bake's numbers; Godot reads them back.

    PW495
  549. reference.objects counts a background of the enemies' own hue as enemies, so a busy reference cannot be counted

    reference.objects keeps only what moved against the scene's scroll, and reference.sample cuts a kind's crop from a frame and reads its colour.

    PW480
  550. no picture can be bought from a model trained on the project's own art, so its style reaches a service only as words

    style.train trains a Scenario model on a family's canon against the ceiling, and picture.buy draws from it, naming the model and its members.

    PW450
  551. a game's states and transitions live only in code, so a state nothing reaches or nothing leaves is found by playing

    engine.states reads each enum state machine a game wrote and names a state nothing reaches or nothing leaves, with no run.

    PW368
  552. every Cottony look gate restates its own floor, so no asset has a bar a search can aim at

    Cottony's vivid floor is two acceptance specs a search can aim at, read by a new saturation_hsv measure, and check_vivid.py only runs them.

    PW57
  553. a real project cannot adopt the plugin without carrying its own paths and palette into it

    Cottony's whole config is a fixture no key had to be added for, and the one thing that did not survive it, a spec axis the renderer has no knob for, is refused before a render.

    PW36

← polyweave's product page