Skip to content

Table Seating Planner: listing evaluation fixes (summary, spec readMes, demo screenshots)#660

Merged
richardhjtan merged 5 commits into
mainfrom
cs-11951-product-managers-listing-evaluation
Jul 17, 2026
Merged

Table Seating Planner: listing evaluation fixes (summary, spec readMes, demo screenshots)#660
richardhjtan merged 5 commits into
mainfrom
cs-11951-product-managers-listing-evaluation

Conversation

@richardhjtan

@richardhjtan richardhjtan commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

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

  • Summary rewritten in two paragraphs: a problem/solution statement in warm language, then what the demo shows you — asking the AI assistant to arrange seats, the guided setup wizard, and themed invitations/posters. (The "App" tag landed earlier in Table Seating Planner: add "App" tag to CardListing #655.)
  • Removed a stray examples link that pointed at the realm's index card; linked the bundled Theme/parisian as an example (it was shipped but referenced nowhere).
  • Only the three planner instances remain as examples (hero first); the guests, hosts, layout templates, and themes move to supportingCards (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.
  • Example instances get real evening event datetimes — the DatetimeField migration left all three at a midnight placeholder that rendered as "12:00 AM" in the header.

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:

  1. 85c8a56e-…-81ceb0df.png — the populated example plan (hero image)
  2. setup-wizard-c0a3fa49.png — the Stepper-based setup wizard with event details filled
  3. add-element-d340bad2.png — the Add-to-canvas menu with the table-shape flyout
  4. seating-print-05985ab6.png — the print/export dialog over the seating canvas
  5. ai-poster-9d32df2e.png — the Invitations view right after AI poster generation

All 800×600 captures of the isolated card UI running against a local realm.

Specs

  • readMe filled 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).
  • The hero spec's readMe previously showed contains(TableSeatingPlanner) (a CardDef in a contains field) — replaced with a valid linksTo example.
  • Card specs link the shipped instances via linkedExamples (Guest ×8, Host ×2, LayoutTemplate ×2, TableSeatingPlanner ×3); the Table and Fixture field specs carry containedExamples validated against the current schemas.

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings July 16, 2026 14:58
@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown

Staging Submissions Preview

This PR's content is pushed to the staging submissions realm: https://realms-staging.stack.cards/submissions/

Changed listings:

Changed folders:

  • 41e20f-wedding-table-seating-planner/

Updated at 2026-07-17 11:03:31 UTC for commit dbfda79. Shared realm: only this PR's changed files are pushed; files touched by multiple PRs reflect whichever pushed last, and deleted files are not removed.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 examples link, and swaps screenshots to a clearer demo “story”.
  • Populates readMe content 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 .gts extension, 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.

@richardhjtan
richardhjtan force-pushed the cs-11951-product-managers-listing-evaluation branch from 984e3d1 to 5ee0fe2 Compare July 17, 2026 08:39
richardhjtan and others added 5 commits July 17, 2026 19:02
…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>
@richardhjtan
richardhjtan force-pushed the cs-11951-product-managers-listing-evaluation branch from 5ee0fe2 to dbfda79 Compare July 17, 2026 11:02
@richardhjtan
richardhjtan merged commit 18e58e7 into main Jul 17, 2026
3 checks passed
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.

2 participants