@1agh/maude 0.29.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/apps/studio/acp/bridge.ts +285 -0
- package/apps/studio/acp/env.ts +48 -0
- package/apps/studio/acp/index.ts +132 -0
- package/apps/studio/acp/probe.ts +112 -0
- package/apps/studio/acp/transcript.ts +149 -0
- package/apps/studio/ai-banner.tsx +0 -1
- package/apps/studio/annotations-align.ts +149 -0
- package/apps/studio/annotations-bindings.ts +197 -0
- package/apps/studio/annotations-context-toolbar.tsx +436 -186
- package/apps/studio/annotations-groups.ts +270 -0
- package/apps/studio/annotations-layer.tsx +1714 -1661
- package/apps/studio/annotations-model.ts +2077 -0
- package/apps/studio/annotations-snap.ts +125 -0
- package/apps/studio/api.ts +433 -182
- package/apps/studio/bin/_png-playwright.mjs +1 -1
- package/apps/studio/bin/annotate.mjs +732 -0
- package/apps/studio/bin/annotate.sh +17 -0
- package/apps/studio/bin/chat-open.sh +44 -0
- package/apps/studio/bin/read-annotations.mjs +152 -17
- package/apps/studio/build.ts +1 -1
- package/apps/studio/canvas-arrowheads.ts +78 -9
- package/apps/studio/canvas-cursors.ts +2 -0
- package/apps/studio/canvas-edit.ts +257 -7
- package/apps/studio/canvas-icons.tsx +105 -0
- package/apps/studio/canvas-lib.tsx +112 -19
- package/apps/studio/canvas-list-watch.ts +177 -0
- package/apps/studio/canvas-shell.tsx +326 -9
- package/apps/studio/client/app.jsx +3579 -250
- package/apps/studio/client/canvas-url.js +5 -0
- package/apps/studio/client/github.js +99 -0
- package/apps/studio/client/index.html +1 -1
- package/apps/studio/client/panels/ChatPanel.jsx +770 -0
- package/apps/studio/client/panels/CollabModelInfographic.jsx +71 -0
- package/apps/studio/client/panels/CreateProject.jsx +334 -0
- package/apps/studio/client/panels/DiffView.jsx +590 -0
- package/apps/studio/client/panels/GitPanel.jsx +767 -0
- package/apps/studio/client/panels/IdentityBar.jsx +294 -0
- package/apps/studio/client/panels/OnboardingWizard.jsx +563 -0
- package/apps/studio/client/panels/RepoBranchSwitcher.jsx +349 -0
- package/apps/studio/client/panels/acp-runtime.js +286 -0
- package/apps/studio/client/panels/chat-markdown.jsx +138 -0
- package/apps/studio/client/panels/git-grouping.js +86 -0
- package/apps/studio/client/styles/0-reset.css +4 -0
- package/apps/studio/client/styles/3-shell-maude.css +1326 -14
- package/apps/studio/client/styles/4-components.css +39 -0
- package/apps/studio/client/styles/5-maude-overrides.css +41 -2
- package/apps/studio/client/styles/6-acp-chat.css +771 -0
- package/apps/studio/client/styles/_index.css +2 -0
- package/apps/studio/client/tour/collab-tour.js +61 -0
- package/apps/studio/client/tour/overlay.jsx +116 -18
- package/apps/studio/client/tour/usage-tour.js +23 -10
- package/apps/studio/client/whats-new.jsx +25 -10
- package/apps/studio/collab/registry.ts +13 -0
- package/apps/studio/collab/room.ts +36 -0
- package/apps/studio/commands/annotation-strokes-command.ts +1 -1
- package/apps/studio/commands/move-artboards-command.ts +1 -1
- package/apps/studio/comments-overlay.tsx +7 -5
- package/apps/studio/context-menu.tsx +4 -3
- package/apps/studio/contextual-toolbar.tsx +14 -0
- package/apps/studio/cursors-overlay.tsx +37 -21
- package/apps/studio/dist/client.bundle.js +31795 -1829
- package/apps/studio/dist/comment-mount.js +97 -9
- package/apps/studio/dist/styles.css +7938 -1599
- package/apps/studio/dom-selection.ts +115 -0
- package/apps/studio/export-dialog.tsx +3 -3
- package/apps/studio/git/endpoints.ts +338 -0
- package/apps/studio/git/service.ts +1334 -0
- package/apps/studio/git/watch.ts +97 -0
- package/apps/studio/github/endpoints.ts +358 -0
- package/apps/studio/github/service.ts +231 -0
- package/apps/studio/github/token.ts +53 -0
- package/apps/studio/history.ts +20 -3
- package/apps/studio/hmr-broadcast.ts +9 -2
- package/apps/studio/http.ts +508 -6
- package/apps/studio/input-router.tsx +7 -0
- package/apps/studio/inspect.ts +37 -8
- package/apps/studio/participants-chrome.tsx +70 -16
- package/apps/studio/paths.ts +12 -0
- package/apps/studio/scaffold-design.ts +57 -0
- package/apps/studio/server.ts +70 -4
- package/apps/studio/sync/agent.ts +311 -57
- package/apps/studio/sync/codec.ts +69 -0
- package/apps/studio/sync/cold-start.ts +198 -0
- package/apps/studio/sync/connection-state.ts +58 -2
- package/apps/studio/sync/hub-link.ts +137 -0
- package/apps/studio/sync/index.ts +563 -221
- package/apps/studio/sync/journal.ts +190 -0
- package/apps/studio/sync/migrate-seed.ts +202 -44
- package/apps/studio/sync/projection.ts +22 -3
- package/apps/studio/sync/status.ts +15 -4
- package/apps/studio/test/acp-bridge.test.ts +127 -0
- package/apps/studio/test/acp-env.test.ts +65 -0
- package/apps/studio/test/acp-origin-gate.test.ts +78 -0
- package/apps/studio/test/acp-transcript.test.ts +112 -0
- package/apps/studio/test/activity.test.ts +1 -7
- package/apps/studio/test/annotate-write.test.ts +184 -0
- package/apps/studio/test/annotations-align.test.ts +88 -0
- package/apps/studio/test/annotations-bindings.test.ts +124 -0
- package/apps/studio/test/annotations-groups.test.ts +231 -0
- package/apps/studio/test/annotations-snap.test.ts +79 -0
- package/apps/studio/test/canvas-create-api.test.ts +72 -0
- package/apps/studio/test/canvas-edit.test.ts +181 -1
- package/apps/studio/test/canvas-list-watch.test.ts +322 -0
- package/apps/studio/test/canvas-meta-api.test.ts +161 -27
- package/apps/studio/test/canvas-origin-gate.test.ts +43 -0
- package/apps/studio/test/chat-markdown.test.tsx +58 -0
- package/apps/studio/test/collab-bridge.test.ts +0 -2
- package/apps/studio/test/collab-room.test.ts +2 -7
- package/apps/studio/test/collab-session-survival.test.tsx +176 -0
- package/apps/studio/test/csp-canvas-shell.test.ts +5 -0
- package/apps/studio/test/csrf-write-guard.test.ts +78 -0
- package/apps/studio/test/editing-presence.test.ts +103 -0
- package/apps/studio/test/figjam-v3-model.test.ts +342 -0
- package/apps/studio/test/fixtures/figjam-v3-groups-bindings.svg +1 -0
- package/apps/studio/test/fixtures/mock-acp-agent.mjs +45 -0
- package/apps/studio/test/git-api.test.ts +0 -0
- package/apps/studio/test/git-branches.test.ts +106 -0
- package/apps/studio/test/git-grouping.test.ts +106 -0
- package/apps/studio/test/git-watch.test.ts +97 -0
- package/apps/studio/test/github-api.test.ts +465 -0
- package/apps/studio/test/hub-link.test.ts +69 -0
- package/apps/studio/test/participants-chrome.test.ts +36 -1
- package/apps/studio/test/shared-doc-migrate.test.ts +224 -14
- package/apps/studio/test/sync-agent.test.ts +272 -2
- package/apps/studio/test/sync-codec.test.ts +65 -0
- package/apps/studio/test/sync-cold-seed-dedup.test.ts +187 -0
- package/apps/studio/test/sync-cold-start.test.ts +304 -0
- package/apps/studio/test/sync-connection-state.test.ts +68 -0
- package/apps/studio/test/sync-hardening.test.ts +0 -8
- package/apps/studio/test/sync-hubs-config.test.ts +0 -1
- package/apps/studio/test/sync-incident-replay.test.ts +211 -0
- package/apps/studio/test/sync-journal.test.ts +176 -0
- package/apps/studio/test/sync-runtime.test.ts +360 -5
- package/apps/studio/test/sync-status.test.ts +66 -0
- package/apps/studio/test/tour-overlay.test.tsx +18 -0
- package/apps/studio/test/use-annotation-resize.test.ts +159 -0
- package/apps/studio/test/use-artboard-drag.test.ts +0 -1
- package/apps/studio/test/use-collab.test.ts +0 -0
- package/apps/studio/test/use-tool-mode.test.tsx +5 -2
- package/apps/studio/tool-palette.tsx +30 -11
- package/apps/studio/undo-hud.tsx +0 -1
- package/apps/studio/use-agent-presence.tsx +4 -2
- package/apps/studio/use-annotation-resize.tsx +484 -54
- package/apps/studio/use-annotation-selection.tsx +16 -4
- package/apps/studio/use-canvas-activity.tsx +2 -2
- package/apps/studio/use-chrome-visibility.tsx +66 -0
- package/apps/studio/use-collab.tsx +434 -202
- package/apps/studio/use-selection-set.tsx +9 -0
- package/apps/studio/use-tool-mode.tsx +5 -1
- package/apps/studio/whats-new.json +208 -10
- package/apps/studio/whats-new.schema.json +18 -2
- package/apps/studio/ws.ts +44 -1
- package/cli/commands/design-link.test.mjs +84 -0
- package/cli/commands/design.mjs +3 -1
- package/cli/commands/design.test.mjs +5 -1
- package/cli/lib/design-link.mjs +51 -1
- package/cli/lib/gitignore-block.mjs +16 -3
- package/cli/lib/gitignore-block.test.mjs +13 -1
- package/package.json +11 -9
- package/plugins/design/dependencies.json +17 -0
- package/plugins/design/templates/_shell.html +58 -12
|
@@ -43,24 +43,28 @@ const CURSOR_CSS = `
|
|
|
43
43
|
}
|
|
44
44
|
.dc-cursor-arrow {
|
|
45
45
|
display: block;
|
|
46
|
-
filter: drop-shadow(0 1px
|
|
46
|
+
filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.4));
|
|
47
47
|
}
|
|
48
|
+
/* DS colors-presence .cur-label recipe — hue pill, mono 10px, dark
|
|
49
|
+
* accent-fg text (never white-on-hue, which washed out on light hues).
|
|
50
|
+
* NOTE: keep this comment backtick-free — it lives inside the CURSOR_CSS
|
|
51
|
+
* template literal and a stray backtick closes it. */
|
|
48
52
|
.dc-cursor-label {
|
|
49
53
|
position: absolute;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
/* specimen geometry: the pill hangs below-right of the 15px triangle */
|
|
55
|
+
top: 14px;
|
|
56
|
+
left: 10px;
|
|
57
|
+
padding: 1px 8px;
|
|
58
|
+
font-family: var(--font-mono, ui-monospace, monospace);
|
|
54
59
|
font-weight: 500;
|
|
55
|
-
font-size:
|
|
56
|
-
line-height: 1.
|
|
57
|
-
color: var(--maude-hud-accent-fg,
|
|
58
|
-
border-radius:
|
|
60
|
+
font-size: 10px;
|
|
61
|
+
line-height: 1.4;
|
|
62
|
+
color: var(--maude-hud-accent-fg, oklch(0.180 0.030 268));
|
|
63
|
+
border-radius: 999px;
|
|
59
64
|
white-space: nowrap;
|
|
60
65
|
max-width: 180px;
|
|
61
66
|
overflow: hidden;
|
|
62
67
|
text-overflow: ellipsis;
|
|
63
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
|
|
64
68
|
}
|
|
65
69
|
.dc-peer-selection {
|
|
66
70
|
position: absolute;
|
|
@@ -85,8 +89,15 @@ const CURSOR_CSS = `
|
|
|
85
89
|
border-radius: var(--radius-sm, 2px) var(--radius-sm, 2px) 0 0;
|
|
86
90
|
white-space: nowrap;
|
|
87
91
|
}
|
|
92
|
+
/* Phase 30 / DDR-120 — soft editing-presence. When a peer (human or a bridged
|
|
93
|
+
* agent) is actively editing this canvas, their cursor pulses gently and the
|
|
94
|
+
* label carries a ✎ mark. A heads-up, never a lock. */
|
|
95
|
+
.dc-cursor--editing .dc-cursor-arrow { animation: dc-cursor-edit-pulse 1.6s ease-in-out infinite; }
|
|
96
|
+
.dc-cursor-edit-mark { margin-left: 3px; opacity: 0.85; }
|
|
97
|
+
@keyframes dc-cursor-edit-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
|
|
88
98
|
@media (prefers-reduced-motion: reduce) {
|
|
89
99
|
.dc-cursor { transition: none !important; }
|
|
100
|
+
.dc-cursor--editing .dc-cursor-arrow { animation: none; }
|
|
90
101
|
}
|
|
91
102
|
`.trim();
|
|
92
103
|
|
|
@@ -115,25 +126,30 @@ const Cursor = memo(function Cursor({ peer, viewport }: CursorProps): JSX.Elemen
|
|
|
115
126
|
// world → screen: screen = world * zoom + viewport.{x,y}
|
|
116
127
|
const screenX = peer.cursor.x * viewport.zoom + viewport.x;
|
|
117
128
|
const screenY = peer.cursor.y * viewport.zoom + viewport.y;
|
|
129
|
+
const editing = !!peer.editing;
|
|
118
130
|
return (
|
|
119
|
-
<div
|
|
131
|
+
<div
|
|
132
|
+
className={`dc-cursor${editing ? ' dc-cursor--editing' : ''}`}
|
|
133
|
+
style={{ transform: `translate(${screenX}px, ${screenY}px)` }}
|
|
134
|
+
>
|
|
135
|
+
{/* DS colors-presence Pointer — one plain triangle glyph, tinted by its
|
|
136
|
+
owner (the specimen's exact 24-grid path, no tail/notch). */}
|
|
120
137
|
<svg
|
|
121
138
|
className="dc-cursor-arrow"
|
|
122
|
-
width="
|
|
123
|
-
height="
|
|
124
|
-
viewBox="0 0
|
|
139
|
+
width="15"
|
|
140
|
+
height="15"
|
|
141
|
+
viewBox="0 0 24 24"
|
|
125
142
|
aria-hidden="true"
|
|
126
143
|
>
|
|
127
|
-
<path
|
|
128
|
-
d="M 2 2 L 2 18 L 6 14 L 9 21 L 12 20 L 9 13 L 14 13 Z"
|
|
129
|
-
fill={peer.color}
|
|
130
|
-
stroke="#fff"
|
|
131
|
-
strokeWidth="1.2"
|
|
132
|
-
strokeLinejoin="round"
|
|
133
|
-
/>
|
|
144
|
+
<path d="M4 3 L20 11.5 L12.5 13 L10 21 Z" fill={peer.color} />
|
|
134
145
|
</svg>
|
|
135
146
|
<div className="dc-cursor-label" style={{ background: peer.color }}>
|
|
136
147
|
{peer.name}
|
|
148
|
+
{editing && (
|
|
149
|
+
<span className="dc-cursor-edit-mark" aria-hidden="true">
|
|
150
|
+
✎
|
|
151
|
+
</span>
|
|
152
|
+
)}
|
|
137
153
|
</div>
|
|
138
154
|
</div>
|
|
139
155
|
);
|