Skip to content

Release v2.2.0 - #213

Merged
vicmaster merged 1 commit into
masterfrom
release-v2.2.0
Sep 3, 2026
Merged

Release v2.2.0#213
vicmaster merged 1 commit into
masterfrom
release-v2.2.0

Conversation

@vicmaster

@vicmastervicmaster commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Version bump only — package.json, the lockfile, and the McpServer version in src/index.ts. All three verified to agree; build clean and test:fast 68/68 on the bump.

What ships

Everything here came out of building the v2.1.0 commerce example against the published package rather than the working tree. That was the point of doing it that way, and it found three things.

A page structure stamp no longer erases the canvas genre.canvas_set_genre writes metadata.provenance.preset, and apply_structure replaced that object wholesale — so declaring commerce and then stamping a layout, the order the docs encourage, silently dropped the genre and sent the screen's prices back to being flagged as fabricated data. It failed silently; nothing errored.

export takes the same fullPage option screenshot has. Phase 29 taught one and not the other, so saving a design taller than its artboard still meant working out the height by hand. The viewport-expansion step is now one shared helper, so the two capture paths cannot drift again.

The eyebrow tell no longer counts a type role's default tracking. It qualified any small text with letter-spacing above zero, and a personality can set letter-spacing on its label role — so eleven ordinary form labels on the checkout were counted as decorative eyebrows. The new floor was measured across a 112-canvas corpus rather than guessed: role-inherited tracking runs 0.3–0.6, deliberate eyebrow tracking runs 1–2, and the floor sits at 1 in the gap between them.

And the example itself is now in the README — a checkout at 100/100, stress-clean, correct in both themes, with designed empty-basket and loading states.

Why minor and not patch

export gained a documented option, which is additive but new surface. The evaluator change is strictly narrowing — every text it stops counting was counted before, so nothing can begin failing — and it moved no score: corpus canvases firing the tell were 1 before and 1 after (the same canvas), and the benchmark is unchanged at hero 72, minimal 98, bad-contrast 82.

Nothing breaks. Existing canvases and tool calls work unchanged.

Bumps package.json, the lockfile, and the McpServer version in src/index.ts.
Contents are the three defects the v2.1.0 commerce example surfaced: a page
structure stamp no longer erases the canvas genre, export takes the same
fullPage option screenshot has, and the eyebrow tell no longer counts a type
role's default tracking. Plus the checkout example itself in the README.
Minor rather than patch because export gained a documented option. The
evaluator change is strictly narrowing and moved no score: corpus firing 1
before and after, benchmark unchanged at 72/98/82.
@vicmaster
vicmaster merged commit 1532e2e into masterSep 3, 2026
3 checks passed
@vicmaster
vicmaster deleted the release-v2.2.0 branch September 3, 2026 17:24
Sign up for freeto 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

@vicmaster