Table Seating Planner: listing evaluation fixes (summary, spec readMes, demo screenshots)#660
Conversation
Staging Submissions PreviewThis PR's content is pushed to the staging submissions realm: https://realms-staging.stack.cards/submissions/ Changed listings: Changed folders:
Updated at 2026-07-17 11:03:31 UTC for commit |
There was a problem hiding this comment.
Pull request overview
Updates the Table Seating Planner catalog listing and its accompanying specs to address PM evaluation feedback by improving listing copy, refreshing screenshots, and filling in spec readMe content with real usage/examples from the package.
Changes:
- Rewrites the CardListing summary, removes a stray
exampleslink, and swaps screenshots to a clearer demo “story”. - Populates
readMecontent across the package’s specs (cards/fields/commands/components/utils). - Adds/updates spec example links (
linkedExamples) and field value examples (containedExamples) for shipped demo instances.
Reviewed changes
Copilot reviewed 27 out of 33 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| 41e20f-wedding-table-seating-planner/Spec/f9669f95-25c0-475d-9cec-55c21d4fa59e.json | Updates TableSeatingPlanner spec readMe; links shipped planner instances. |
| 41e20f-wedding-table-seating-planner/Spec/f05cd9e9-66b0-45b1-964d-b2412fe0c5f9.json | Adds Fixture spec readMe and containedExamples. |
| 41e20f-wedding-table-seating-planner/Spec/e966b075-b116-4db2-812f-e0c5f9669f95.json | Adds sectionSize util spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/e0c5f966-9f95-45c0-875d-1cec55c21d4f.json | Adds TableSeatingPlannerIsolated component spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/d9e966b0-75b1-464d-b241-2fe0c5f9669f.json | Adds categoryColor util spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/ca767df0-5cd9-4966-b075-b1164db2412f.json | Adds sectionSeatPoints util spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/c5f9669f-9525-4047-9d1c-ec55c21d4fa5.json | Adds SeatingPlanPopover component spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/b1164db2-412f-40c5-b966-9f9525c0475d.json | Adds LayoutPreview component spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/b075b116-4db2-412f-a0c5-f9669f9525c0.json | Adds Host card spec readMe; links shipped Host examples. |
| 41e20f-wedding-table-seating-planner/Spec/9f9525c0-475d-4cec-95c2-1d4fa59e6bda.json | Adds LayoutTemplate card spec readMe; links shipped template examples. |
| 41e20f-wedding-table-seating-planner/Spec/7df05cd9-e966-4075-b116-4db2412fe0c5.json | Adds Table field spec readMe and containedExamples. |
| 41e20f-wedding-table-seating-planner/Spec/767df05c-d9e9-46b0-b5b1-164db2412fe0.json | Adds seatPoints util spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/75b1164d-b241-4fe0-85f9-669f9525c047.json | Adds InvitationPosterCommand spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/66ca767d-f05c-49e9-a6b0-75b1164db241.json | Adds initialsOf util spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/66b075b1-164d-4241-afe0-c5f9669f9525.json | Adds shortTableLabel util spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/669f9525-c047-4d1c-ac55-c21d4fa59e6b.json | Adds AnalyzeFloorPlanCommand spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/5cd9e966-b075-4116-8db2-412fe0c5f966.json | Adds Person card spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/4e5135f4-4fd2-4d7d-9d2b-415b227ae77f.json | Adds ArrangeSeatsCommand spec readMe (and command ref metadata). |
| 41e20f-wedding-table-seating-planner/Spec/412fe0c5-f966-4f95-a5c0-475d1cec55c2.json | Adds TableSeatingPlannerFitted component spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/39355975-9e51-49d1-9b77-88bcdb7c5feb.json | Adds TableCardView component spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/2fe0c5f9-669f-4525-8047-5d1cec55c21d.json | Adds FixtureGlyph component spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/1866ca76-7df0-4cd9-a966-b075b1164db2.json | Adds categoryLabel util spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/164db241-2fe0-45f9-a69f-9525c0475d1c.json | Adds Guest card spec readMe; links shipped Guest examples. |
| 41e20f-wedding-table-seating-planner/Spec/10c3938c-b579-45cc-a849-4811b0fbc16b.json | Adds PlaceCardView component spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/0ec5868a-22d5-46ff-9ff0-4018ebbd3d57.json | Adds ApplySeatingPlanCommand spec readMe. |
| 41e20f-wedding-table-seating-planner/Spec/039f23ea-f61a-4a68-a322-6ff5acb17bf7.json | Adds SetupWizard component spec readMe. |
| 41e20f-wedding-table-seating-planner/CardListing/6241aa1f-0a8a-45f3-9b8b-57ac600070c4.json | Updates listing summary, screenshots, and removes stray examples link. |
Comments suppressed due to low confidence (1)
41e20f-wedding-table-seating-planner/Spec/4e5135f4-4fd2-4d7d-9d2b-415b227ae77f.json:9
- The spec’s module reference (and the import path in the readMe) includes a
.gtsextension, but the other command specs in this package reference their../commands/*modules without the extension. Keeping this consistent avoids broken spec links and confusing copy/paste imports.
"readMe": "# ArrangeSeatsCommand\n\n## Summary\n\nAsks an LLM to work out a full seating arrangement from a JSON payload of parties, tables, and a free-text instruction, using a system prompt that encodes the seating rules: parties are never split, capacity and `reservedCategories` are respected, VIP and category closeness drive table prominence, and the planner's instruction outranks every default. Input is an `ArrangeInput` card (`userPrompt` — the JSON payload as a string — and optional `llmModel`, default `anthropic/claude-sonnet-4.6`); output is an `ArrangeResult` whose `output` field carries the model's raw JSON (`assignments`, `seatZones`, `resizes`, `rationale`, `summary`). The AI call goes through `OneShotLlmRequestCommand` rather than the OpenRouter proxy directly, and the command does not validate the model's answer — the caller checks capacities before applying it. Note that the shipped planner UI does not invoke this command: it launches the AI assistant with the Seat Arranger skill (which applies the plan via Apply Seating Plan), so this command is the one-shot alternative to that flow.\n\n## Import\n\n```js\nimport { ArrangeSeatsCommand } from '../commands/arrange-seats-command.gts';\n```\n\n## Usage\n\n```js\nlet ctx = this.args.context?.commandContext;\nlet result = await new ArrangeSeatsCommand(ctx).execute({\n userPrompt: JSON.stringify({ parties, tables, instruction }),\n});\nlet plan = JSON.parse(result.output);\n```\n\nThe payload shapes match the system prompt: each party is `{ id, name, size, members, category, vip }` (id is the party head's guest card id) and each table is `{ id, name, capacity, reservedCategories, vip, prominence, shape }` plus `rows` and `cols` for `section` grids.\n",
"ref": {
"name": "ArrangeSeatsCommand",
"module": "../commands/arrange-seats-command.gts"
},
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
984e3d1 to
5ee0fe2
Compare
…s, demo screenshots) - Rewrite the listing summary as a problem/solution statement in warm language, with a second paragraph on what the demo shows (AI seat arranging, setup wizard, invitations/posters) - Replace the three example-render screenshots with demo keyframes: setup wizard, print/export over the seating canvas, AI poster generation in the Invitations view - Fill readMe on all 26 specs (cards, fields, commands, components, utils), verified against source; fix the hero readMe's invalid contains(CardDef) usage example - Wire linkedExamples on card specs to the shipped instances and add containedExamples to the Table and Fixture field specs - Drop the stray examples link to the realm index card Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The keyframe set skipped the room-composing interaction entirely; this adds the Add-to-canvas menu with the table-shape flyout open over the seating canvas, slotted between the setup wizard and the print/export keyframes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The example render of the Lucas & Amy plan comes first as the hero image, followed by the four demo keyframes (setup wizard, add-element, print/export, AI poster). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Recapture all five screenshots against the current UI (Stepper-based setup wizard, theme-token header, richer generated poster): example view first, then wizard, add-element, print/export, AI poster - Correct six spec readMes that described pre-rework behavior: setup wizard now composes the shared Stepper; the fitted format is the standard four container-query tiers; isolated theming flows through token chains; Host.role is a six-value enum; both print card-views document their real print-sheet args - Give the example instances real evening event datetimes (the DatetimeField migration left all three at a midnight placeholder, which rendered as "12:00 AM" in the header) - Link the shipped Theme/parisian as a listing example (it was bundled but referenced nowhere) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…move support cards to supportingCards The guests, hosts, layout templates, and themes install with the listing but no longer appear as examples in the detail view. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5ee0fe2 to
dbfda79
Compare
Addresses the PM evaluation feedback on the Table Seating Planner listing (CS-11951). Rebased onto main after the UI rework (#661/#663); all screenshots are captured from the current UI.
Listing card
exampleslink that pointed at the realm's index card; linked the bundledTheme/parisianas an example (it was shipped but referenced nowhere).examples(hero first); the guests, hosts, layout templates, and themes move tosupportingCards(Listings: supportingCards install with examples but stay out of the detail view (CS-12116) #664) so they install with the listing but stay out of the detail view.Screenshots
The three screenshots were renders of the three example instances and looked nearly identical. They are now the example view plus four demo keyframes, ordered as a first-run story:
85c8a56e-…-81ceb0df.png— the populated example plan (hero image)setup-wizard-c0a3fa49.png— the Stepper-based setup wizard with event details filledadd-element-d340bad2.png— the Add-to-canvas menu with the table-shape flyoutseating-print-05985ab6.png— the print/export dialog over the seating canvasai-poster-9d32df2e.png— the Invitations view right after AI poster generationAll 800×600 captures of the isolated card UI running against a local realm.
Specs
readMefilled on all 26 specs (5 cards, 2 fields, 4 commands, 8 components, 7 utils), written against the actual source and re-verified after the UI rework — six were corrected for post-rework behavior (wizard composes the shared Stepper, fitted is the standard four container-query tiers, isolated theming flows through token chains, Host.role is a six-value enum, both print card-views document their real print-sheet args).contains(TableSeatingPlanner)(a CardDef in a contains field) — replaced with a validlinksToexample.linkedExamples(Guest ×8, Host ×2, LayoutTemplate ×2, TableSeatingPlanner ×3); the Table and Fixture field specs carrycontainedExamplesvalidated against the current schemas.🤖 Generated with Claude Code