githubnext/chopinPublic

Let's compose rich plans together

Build collaborative visual-decision infrastructure #412

ClosedMaggieAppletonclosed 19 commits intomainfromrefs/pull/412/head
ConversationFiles changed
74 files changed+5009-23
StackedSplit
Dockerfile+1 −0
apps/server/package.json+3 −2
apps/server/src/client.ts+22 −5
apps/server/src/main.ts+83 −1
apps/server/src/plan/edit.ts+27 −0
apps/server/src/plan/service.ts+33 −2
apps/server/src/storage/errors.ts+8 −0
apps/server/src/storage/postgres/adapter.ts+4 −1
apps/server/src/visual-decisions/common.ts+49 −0
apps/server/src/visual-decisions/create.ts+105 −0
apps/server/src/visual-decisions/draft.ts+111 −0
apps/server/src/visual-decisions/save.ts+109 −0
apps/server/src/visual-decisions/service.test-fixtures.ts+75 −0
apps/server/src/visual-decisions/service.test.ts+470 −0
apps/server/src/visual-decisions/service.ts+4 −0
apps/server/src/visual-decisions/state.ts+98 −0
apps/server/src/visual-preview/descriptor.ts+53 −0
apps/server/src/visual-preview/policy.test.ts+49 −0
apps/server/src/visual-preview/policy.ts+65 −0
apps/server/src/visual-preview/server.ts+42 −0
apps/server/src/visual-preview/site.test.ts+28 −0
apps/server/src/visual-preview/site.ts+32 −0
apps/web/package.json+2 −1
apps/web/produce-visual-preview.ts+33 −0
apps/web/src/room-workspace.tsx+4 −1
apps/web/src/visual-preview/bridge.ts+49 −0
apps/web/src/visual-preview/frame.css+13 −0
apps/web/src/visual-preview/frame.tsx+40 −0
apps/web/src/visual-preview/host.tsx+139 −0
apps/web/src/visual-preview/protocol.test.ts+66 −0
apps/web/src/visual-preview/protocol.ts+68 −0
apps/web/src/visual-preview/verify.ts+73 −0
apps/web/tsconfig.json+3 −1
apps/web/visual-preview.vite.config.ts+22 −0
bun.lock+5 −0
docs/architecture.md+8 −0
docs/superpowers/plans/2026-10-08-dynamic-design-card-rendering.md+49 −0
docs/superpowers/plans/2026-10-08-visual-decision-jig.md+110 −0
docs/superpowers/specs/2026-10-08-visual-decision-jig-design.md+97 −0
docs/visual-decisions.md+137 −0
e2e/playwright.config.ts+23 −1
e2e/visual-decision-boundary.e2e.ts+208 −0
e2e/visual-decision-bridge.e2e.ts+123 −0
e2e/visual-decision-input.e2e.ts+146 −0
e2e/visual-decision-projection.e2e.ts+65 −0
e2e/visual-decision-retry.e2e.ts+97 −0
e2e/visual-decision-save.e2e.ts+161 −0
e2e/visual-decision.e2e.ts+299 −0
e2e/visual-decision.helpers.ts+162 −0
e2e/visual-decision.playwright.config.ts+32 −0
package.json+1 −0
packages/dialect/src/dialect.ts+1 −0
packages/dialect/src/nodes/questionnaire-fields.ts+5 −0
packages/dialect/src/nodes/questionnaire-mdx.ts+3 −0
packages/dialect/src/nodes/questionnaire-visual.test.ts+12 −0
packages/editor/src/decisions.tsx+57 −1
packages/editor/src/index.ts+1 −0
packages/editor/src/plan-editor.tsx+5 −0
packages/editor/src/styles.css+1 −0
packages/editor/src/use-visual-decision.ts+40 −0
packages/editor/src/visual-decision-controller.test.ts+232 −0
packages/editor/src/visual-decision-controller.ts+206 −0
packages/editor/src/visual-decision.css+157 −0
packages/editor/src/widget-options.ts+2 −0
packages/editor/src/widgets/questionnaire.tsx+20 −1
packages/editor/src/widgets/visual-decision.tsx+261 −0
packages/protocol/index.d.ts+5 −2
packages/protocol/visual-decision.d.ts+46 −0
packages/question/src/index.ts+1 −0
packages/question/src/visual.test.ts+69 −0
packages/question/src/visual.ts+128 −0
scripts/design-contract/exceptions/dynamic-editor.json+18 −4
scripts/design-contract/exceptions/dynamic-web.json+20 −0
scripts/design-contract/exceptions/preserved-values.json+13 −0