Skip to content

feat(queen): the city on the comb - islands of the mark as floating soil, a structure per card, a crystal per device - #901

Merged
gHashTag merged 1 commit into
mainfrom
feat/queen-cycle-005-city-on-the-comb
Sep 4, 2026
Merged

feat(queen): the city on the comb - islands of the mark as floating soil, a structure per card, a crystal per device#901
gHashTag merged 1 commit into
mainfrom
feat/queen-cycle-005-city-on-the-comb

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 4, 2026

Copy link
Copy Markdown
Owner

What

The user's decisions of 2026-09-04: a city whose tile IS the mark; only the down-pointing cells remain, so the marks float as islands, each the field of one unit; the islands are soil through which the drawing shows. One structure sprite per card by column, one crystal per verified hardware device by family, nine renders through the sprite pipeline.

Verified

eslint, tsc, check:queen-honesty 18/18, languages 204/204, all check:queen-*, api, ratchet, viewport 25/25, dead-api 10/10, touch, round.

🤖 Generated with Claude Code

…oil, a structure per card, a crystal per device

Loop cycle 005, the user's three decisions of 2026-09-04: a city whose tile
IS the mark (not a city instead of the comb); only the down-pointing cells
remain, so the marks touch at vertices and float as islands, each the field
of one unit; and the islands are soil through which the drawing shows.

- buildCells keeps only the down cells (rows sized to hold every card).
- Every island floats on its own phase (zc): ground, walls, nodes, effects,
  structures and the shadows of what stands on them move as one body.
- The ground pass draws each island as a slab: a dark underside and three
  side faces nine units below, the engraved plate on top at alpha .85/.7/.35
  by territory, a lit rim; the mark's 135 edges are drawn over the soil.
- One structure sprite per card cell by column (structure-{backlog,running,
  review,done,blocked,dropped}) and one crystal per verified hardware device
  by family (crystal-{cpu,fpga,gpu}, crystalOf in queenHud.ts), painter-
  sorted by projected depth, under the bees. A sprite that has not loaded
  draws nothing. The context panel shows a picked card's structure.
- Nine renders through the sprite pipeline (kie.ai google/nano-banana, the
  house engraving idiom), all nine accepted on the first submission; tinted
  dim silver / cyan / silver / gold / cold / dark and gold / cyan / green.

Green: eslint, tsc, honesty 18/18, languages 204/204, seven Queen contracts,
api, ratchet, viewport 25/25, dead-api 10/10, touch (18 cells), round.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gHashTag
gHashTag merged commit 974ec9e into main Sep 4, 2026
15 of 19 checks passed
@gHashTag
gHashTag deleted the feat/queen-cycle-005-city-on-the-comb branch September 4, 2026 04:58
github-actions Bot added a commit that referenced this pull request Sep 4, 2026
feat(queen): the city on the comb - islands of the mark as floating soil, a structure per card, a crystal per device (#901)

Loop cycle 005, the user's three decisions of 2026-09-04: a city whose tile
IS the mark (not a city instead of the comb); only the down-pointing cells
remain, so the marks touch at vertices and float as islands, each the field
of one unit; and the islands are soil through which the drawing shows.

- buildCells keeps only the down cells (rows sized to hold every card).
- Every island floats on its own phase (zc): ground, walls, nodes, effects,
  structures and the shadows of what stands on them move as one body.
- The ground pass draws each island as a slab: a dark underside and three
  side faces nine units below, the engraved plate on top at alpha .85/.7/.35
  by territory, a lit rim; the mark's 135 edges are drawn over the soil.
- One structure sprite per card cell by column (structure-{backlog,running,
  review,done,blocked,dropped}) and one crystal per verified hardware device
  by family (crystal-{cpu,fpga,gpu}, crystalOf in queenHud.ts), painter-
  sorted by projected depth, under the bees. A sprite that has not loaded
  draws nothing. The context panel shows a picked card's structure.
- Nine renders through the sprite pipeline (kie.ai google/nano-banana, the
  house engraving idiom), all nine accepted on the first submission; tinted
  dim silver / cyan / silver / gold / cold / dark and gold / cyan / green.

Green: eslint, tsc, honesty 18/18, languages 204/204, seven Queen contracts,
api, ratchet, viewport 25/25, dead-api 10/10, touch (18 cells), round.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
gHashTag added a commit that referenced this pull request Sep 4, 2026
Loop cycle 006 (queen-game-loop), backlog P0-13. The comb rebuilds its
cells from the card list on every poll, and since #901 the field is exactly
that list, so a stored cell index drifted to a stranger's cell whenever the
board reordered: the outline stood on one card while SELECTED and OPEN
ISSUE named another. The pick is now derived, never stored as an index: a
pick with a card follows its number across polls and re-reads the card
(column, territory); a pick without one keeps its index; a card that left
the board clears the pick. The viewport section carries data-pick-index and
data-pick-number for probes.

qa/queen-pick-contract.mjs (check:queen-pick): headless Chrome, CDP Fetch
at the response stage caches the live board and answers every later poll
with the cards rotated by seven; a picked card must keep its number and
SELECTED text while its index moves. Shown to fail on the index-based logic
(index did not follow, panel and outline disagreed); on this build #1418
stayed picked, index 0 -> 158. Green: eslint, tsc, honesty 18/18, languages
204/204, seven Queen contracts, api, ratchet, viewport 25/25, dead-api
10/10, touch, round.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request Sep 4, 2026
fix(queen): the pick is a card number, not a cell index (#902)

Loop cycle 006 (queen-game-loop), backlog P0-13. The comb rebuilds its
cells from the card list on every poll, and since #901 the field is exactly
that list, so a stored cell index drifted to a stranger's cell whenever the
board reordered: the outline stood on one card while SELECTED and OPEN
ISSUE named another. The pick is now derived, never stored as an index: a
pick with a card follows its number across polls and re-reads the card
(column, territory); a pick without one keeps its index; a card that left
the board clears the pick. The viewport section carries data-pick-index and
data-pick-number for probes.

qa/queen-pick-contract.mjs (check:queen-pick): headless Chrome, CDP Fetch
at the response stage caches the live board and answers every later poll
with the cards rotated by seven; a picked card must keep its number and
SELECTED text while its index moves. Shown to fail on the index-based logic
(index did not follow, panel and outline disagreed); on this build #1418
stayed picked, index 0 -> 158. Green: eslint, tsc, honesty 18/18, languages
204/204, seven Queen contracts, api, ratchet, viewport 25/25, dead-api
10/10, touch, round.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant