githubnext/chopinPublic

Let's compose rich plans together

Integrate current main and verify visual decision review states

MAMaggie Appleton authored
e7b8211Patch
226 files changed+17941-422
StackedSplit
.github/workflows/ci.yml+3 −0
AGENTS.md+1 −0
Dockerfile+1 −0
apps/server/src/visual-decisions/service.test.ts+1 −1
apps/web/package.json+1 −0
apps/web/src/channel-workspace.tsx+19 −70
apps/web/src/child-provenance.tsx+10 −6
apps/web/src/copy-link.ts+10 −0
apps/web/src/design-audit/interactive.tsx+1 −0
apps/web/src/diagram-gallery/page.tsx+226 −0
apps/web/src/diagram-gallery/route.ts+3 −0
apps/web/src/diagram-gallery/styles.css+274 −0
apps/web/src/document-actions-menu.test.ts+9 −6
apps/web/src/document-actions-menu.tsx+10 −5
apps/web/src/document-workspace-host.tsx+6 −5
apps/web/src/global-shortcuts.ts+33 −0
apps/web/src/hosted-login.tsx+13 −25
apps/web/src/hosted.test.ts+3 −3
apps/web/src/hosted.tsx+59 −31
apps/web/src/icon-tooltip.css+8 −0
apps/web/src/icon-tooltip.tsx+1 −0
apps/web/src/keyboard-shortcuts-dialog.tsx+63 −0
apps/web/src/main.tsx+3 −0
apps/web/src/navigation-chrome.test.ts+22 −2
apps/web/src/navigation-model.ts+2 −1
apps/web/src/navigation-notice-view.tsx+36 −0
apps/web/src/navigation-notice.tsx+6 −0
apps/web/src/navigation-shell.tsx+100 −41
apps/web/src/navigation.css+196 −10
apps/web/src/project-sidebar-chrome.tsx+75 −13
apps/web/src/project-sidebar.tsx+105 −4
apps/web/src/room-workspace.tsx+28 −0
apps/web/src/shortcuts.test.ts+144 −0
apps/web/src/shortcuts.ts+148 −0
apps/web/src/theme.css+15 −0
apps/web/src/tokens.test.ts+2 −0
apps/web/src/workspace-feedback.test.ts+4 −4
apps/web/src/workspace-notice.tsx+17 −0
apps/web/src/workspace.tsx+23 −2
bun.lock+17 −0
docs/architecture.md+4 −0
docs/superpowers/plans/2026-10-08-seecode-rendering-module.md+60 −0
docs/visual-decisions.md+9 −2
e2e/conversation-plan-layout.e2e.ts+2 −2
e2e/conversation-plan-ui.e2e.ts+2 −2
e2e/decision-marker.e2e.ts+1 −1
e2e/design/interactions.e2e.ts+2 −0
e2e/diagram-gallery/gallery.e2e.ts+171 −0
e2e/diagram-gallery/playwright.config.ts+37 −0
e2e/document-creation.e2e.ts+1 −1
e2e/document-navigation.e2e.ts+9 −3
e2e/hosted.e2e.ts+44 −7
e2e/keyboard-shortcuts.e2e.ts+119 −0
e2e/playwright.config.ts+5 −1
e2e/research-child-surface.e2e.ts+45 −9
e2e/research-workspace.e2e.ts+2 −2
e2e/responsive-activity.e2e.ts+4 −4
e2e/responsive-comments.e2e.ts+4 −0
e2e/responsive-workspace.e2e.ts+7 −7
e2e/room-mounts.ts+37 −0
e2e/shell.e2e.ts+7 −7
e2e/sidecar-option-async.e2e.ts+5 −5
e2e/sidecar-option-contracts.e2e.ts+2 −1
e2e/sidecar.e2e.ts+55 −10
e2e/toolbar.e2e.ts+29 −1
e2e/undo.e2e.ts+139 −0
e2e/visual-decision-input.e2e.ts+7 −0
package.json+1 −0
packages/diagrams/LICENSE+21 −0
packages/diagrams/PROVENANCE.md+24 −0
packages/diagrams/README.md+34 −0
packages/diagrams/package.json+38 −0
packages/diagrams/src/core/motion.d.mts+1 −0
packages/diagrams/src/core/motion.mjs+83 −0
packages/diagrams/src/core/render/charts/bar.mjs+379 −0
packages/diagrams/src/core/render/charts/blocks.mjs+316 −0
packages/diagrams/src/core/render/charts/line.mjs+293 −0
packages/diagrams/src/core/render/charts/radial.mjs+192 −0
packages/diagrams/src/core/render/charts/sankey.mjs+210 −0
packages/diagrams/src/core/render/charts/scale.mjs+37 −0
packages/diagrams/src/core/render/charts/scatter.mjs+165 −0
packages/diagrams/src/core/render/charts/wardley.mjs+160 −0
packages/diagrams/src/core/render/graph/graph.mjs+665 −0
packages/diagrams/src/core/render/graph/route.mjs+399 −0
packages/diagrams/src/core/render/lanes/gantt.mjs+212 −0
packages/diagrams/src/core/render/lanes/journey.mjs+144 −0
packages/diagrams/src/core/render/lanes/sequence.mjs+292 −0
packages/diagrams/src/core/render/lanes/time.mjs+89 −0
packages/diagrams/src/core/render/lanes/timeline.mjs+174 −0
packages/diagrams/src/core/render/shared/edges.mjs+201 −0
packages/diagrams/src/core/render/shared/legend.mjs+91 −0
packages/diagrams/src/core/render/shared/nodes.mjs+286 −0
packages/diagrams/src/core/render/structure/common.mjs+71 −0
packages/diagrams/src/core/render/structure/fishbone.mjs+110 −0
packages/diagrams/src/core/render/structure/kanban.mjs+125 −0
packages/diagrams/src/core/render/structure/layers.mjs+81 −0
packages/diagrams/src/core/render/structure/loop.mjs+109 −0
packages/diagrams/src/core/render/structure/matrix.mjs+114 −0
packages/diagrams/src/core/render/structure/nested.mjs+138 −0
packages/diagrams/src/core/render/structure/process.mjs+63 −0
packages/diagrams/src/core/render/structure/pyramid.mjs+80 −0
packages/diagrams/src/core/render/structure/quadrant.mjs+126 −0
packages/diagrams/src/core/render/structure/storymap.mjs+100 −0
packages/diagrams/src/core/render/structure/tree.mjs+149 −0
packages/diagrams/src/core/render/structure/venn.mjs+90 −0
packages/diagrams/src/core/schema.d.mts+9 −0
packages/diagrams/src/core/schema.mjs+98 −0
packages/diagrams/src/core/schemas.ts+62 −0
packages/diagrams/src/core/schemas/bar.schema.json+207 −0
packages/diagrams/src/core/schemas/common.schema.json+118 −0
packages/diagrams/src/core/schemas/fishbone.schema.json+47 −0
packages/diagrams/src/core/schemas/gantt.schema.json+93 −0
packages/diagrams/src/core/schemas/graph.schema.json+291 −0
packages/diagrams/src/core/schemas/heatmap.schema.json+52 −0
packages/diagrams/src/core/schemas/journey.schema.json+70 −0
packages/diagrams/src/core/schemas/kanban.schema.json+75 −0
packages/diagrams/src/core/schemas/layers.schema.json+54 −0
packages/diagrams/src/core/schemas/line.schema.json+68 −0
packages/diagrams/src/core/schemas/loop.schema.json+58 −0
packages/diagrams/src/core/schemas/matrix.schema.json+47 −0
packages/diagrams/src/core/schemas/nested.schema.json+55 −0
packages/diagrams/src/core/schemas/polar.schema.json+65 −0
packages/diagrams/src/core/schemas/process.schema.json+53 −0
packages/diagrams/src/core/schemas/pyramid.schema.json+54 −0
packages/diagrams/src/core/schemas/quadrant.schema.json+101 −0
packages/diagrams/src/core/schemas/radar.schema.json+51 −0
packages/diagrams/src/core/schemas/sankey.schema.json+60 −0
packages/diagrams/src/core/schemas/scatter.schema.json+97 −0
packages/diagrams/src/core/schemas/sequence.schema.json+87 −0
packages/diagrams/src/core/schemas/stages.schema.json+312 −0
packages/diagrams/src/core/schemas/story-map.schema.json+90 −0
packages/diagrams/src/core/schemas/timeline.schema.json+86 −0
packages/diagrams/src/core/schemas/tree.schema.json+36 −0
packages/diagrams/src/core/schemas/treemap.schema.json+61 −0
packages/diagrams/src/core/schemas/venn.schema.json+72 −0
packages/diagrams/src/core/schemas/wardley.schema.json+60 −0
packages/diagrams/src/core/schemas/waterfall.schema.json+61 −0
packages/diagrams/src/core/svg.mjs+89 −0
packages/diagrams/src/core/text.mjs+75 −0
packages/diagrams/src/core/tokens.mjs+2 −0
packages/diagrams/src/core/types.d.mts+12 −0
packages/diagrams/src/core/types.mjs+110 −0
packages/diagrams/src/diagram.tsx+368 −0
packages/diagrams/src/fixtures/index.ts+90 −0
packages/diagrams/src/fixtures/specs/charts/bar.json+14 −0
packages/diagrams/src/fixtures/specs/charts/heatmap.json+49 −0
packages/diagrams/src/fixtures/specs/charts/line.json+57 −0
packages/diagrams/src/fixtures/specs/charts/polar.json+56 −0
packages/diagrams/src/fixtures/specs/charts/radar.json+49 −0
packages/diagrams/src/fixtures/specs/charts/sankey.json+59 −0
packages/diagrams/src/fixtures/specs/charts/scatter.json+36 −0
packages/diagrams/src/fixtures/specs/charts/treemap.json+39 −0
packages/diagrams/src/fixtures/specs/charts/waterfall.json+33 −0
packages/diagrams/src/fixtures/specs/data-platform/dp-integration.json+89 −0
packages/diagrams/src/fixtures/specs/data-platform/dp-security-matrix.json+50 −0
packages/diagrams/src/fixtures/specs/data-platform/medallion.json+51 −0
packages/diagrams/src/fixtures/specs/process/data-flow.json+83 −0
packages/diagrams/src/fixtures/specs/process/flowchart.json+88 −0
packages/diagrams/src/fixtures/specs/process/gantt.json+52 −0
packages/diagrams/src/fixtures/specs/process/journey.json+53 −0
packages/diagrams/src/fixtures/specs/process/kanban.json+49 −0
packages/diagrams/src/fixtures/specs/process/loop.json+16 −0
packages/diagrams/src/fixtures/specs/process/process.json+27 −0
packages/diagrams/src/fixtures/specs/process/sequence.json+84 −0
packages/diagrams/src/fixtures/specs/process/state.json+92 −0
packages/diagrams/src/fixtures/specs/process/story-map.json+74 −0
packages/diagrams/src/fixtures/specs/process/swimlane.json+79 −0
packages/diagrams/src/fixtures/specs/process/timeline.json+50 −0
packages/diagrams/src/fixtures/specs/structure/fishbone.json+37 −0
packages/diagrams/src/fixtures/specs/structure/layers.json+43 −0
packages/diagrams/src/fixtures/specs/structure/nested.json+24 −0
packages/diagrams/src/fixtures/specs/structure/org-chart.json+21 −0
packages/diagrams/src/fixtures/specs/structure/pyramid.json+13 −0
packages/diagrams/src/fixtures/specs/structure/quadrant.json+14 −0
packages/diagrams/src/fixtures/specs/structure/tree.json+33 −0
packages/diagrams/src/fixtures/specs/structure/venn.json+15 −0
packages/diagrams/src/fixtures/specs/structure/wardley.json+33 −0
packages/diagrams/src/fixtures/specs/systems/architecture-delta.json+33 −0
packages/diagrams/src/fixtures/specs/systems/architecture.json+57 −0
packages/diagrams/src/fixtures/specs/systems/db-schema.json+38 −0
packages/diagrams/src/fixtures/specs/systems/dependency.json+24 −0
packages/diagrams/src/fixtures/specs/systems/deployment.json+52 −0
packages/diagrams/src/fixtures/specs/systems/er.json+40 −0
packages/diagrams/src/fixtures/specs/systems/high-level.json+12 −0
packages/diagrams/src/fixtures/specs/systems/it-state.json+49 −0
packages/diagrams/src/fixtures/specs/systems/uml-class.json+46 −0
packages/diagrams/src/index.ts+2 −0
packages/diagrams/src/render.ts+268 −0
packages/diagrams/src/viewer/chrome.css+189 −0
packages/diagrams/src/viewer/diagram.css+3 −0
packages/diagrams/src/viewer/diagram.test.tsx+60 −0
packages/diagrams/src/viewer/drawing.css+1148 −0
packages/diagrams/src/viewer/motion.css+172 −0
packages/diagrams/src/viewer/namespace.test.ts+24 −0
packages/diagrams/src/viewer/namespace.ts+26 −0
packages/diagrams/test/render.test.ts+251 −0
packages/diagrams/tsconfig.json+11 −0
packages/editor/src/collaboration.tsx+13 −2
packages/editor/src/comment-layer.tsx+13 −2
packages/editor/src/decisions.tsx+4 −0
packages/editor/src/history.test.ts+614 −0
packages/editor/src/history.ts+365 −0
packages/editor/src/index.ts+1 −0
packages/editor/src/plan-editor.tsx+24 −0
packages/editor/src/presence-faces.test.tsx+6 −1
packages/editor/src/presence-faces.tsx+6 −0
packages/editor/src/static-plan-editor.tsx+4 −1
packages/editor/src/styles.css+41 −0
packages/editor/src/toolbar/bubble.tsx+136 −36
packages/editor/src/toolbar/placement.test.ts+42 −1
packages/editor/src/toolbar/placement.ts+16 −1
packages/editor/src/toolbar/shortcut.test.ts+17 −0
packages/editor/src/toolbar/shortcut.ts+16 −0
packages/editor/src/widget-options.ts+2 −0
packages/editor/src/widgets/questionnaire.tsx+12 −3
packages/icons/src/brand.tsx+7 −0
packages/icons/src/index.ts+3 −0
packages/icons/src/line.tsx+18 −0
packages/question/src/react/question-view.test.ts+13 −1
packages/question/src/react/question-view.tsx+66 −47
scripts/check-design-production.ts+6 −3
scripts/design-contract/exceptions.json+2 −1
scripts/design-contract/exceptions/dynamic-editor.json+26 −12
scripts/design-contract/exceptions/dynamic-packages.json+16 −2
scripts/design-contract/exceptions/dynamic-web.json+22 −15
scripts/design-contract/exceptions/seecode-diagram.json+497 −0