pmx-canvas 0.4.3 → 0.4.4
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/CHANGELOG.md +27 -0
- package/Readme.md +7 -6
- package/dist/canvas/global.css +55 -0
- package/dist/canvas/index.js +2 -2
- package/dist/canvas/surface-theme.css +32 -0
- package/dist/types/cli/agent.d.ts +1 -0
- package/dist/types/cli/commands/skills.d.ts +41 -0
- package/dist/types/client/state/sse-bridge.d.ts +1 -0
- package/dist/types/shared/themes.d.ts +1 -1
- package/docs/RELEASE.md +14 -6
- package/docs/bun-webview-integration.md +2 -2
- package/docs/cli.md +24 -1
- package/docs/environment.md +2 -2
- package/docs/http-api.md +6 -3
- package/docs/plans/plan-009-tech-debt-backlog.md +4 -3
- package/docs/screenshot.png +0 -0
- package/package.json +1 -1
- package/skills/pmx-canvas/SKILL.md +14 -4
- package/skills/pmx-canvas/references/full-reference.md +1 -1
- package/skills/pmx-canvas-testing/SKILL.md +4 -0
- package/src/cli/agent.ts +1 -0
- package/src/cli/commands/skills.ts +183 -0
- package/src/cli/index.ts +3 -1
- package/src/cli/shared.ts +1 -0
- package/src/client/state/sse-bridge.ts +14 -3
- package/src/client/theme/global.css +55 -0
- package/src/client/theme/surface-theme.css +32 -0
- package/src/server/operations/ops/canvas-wire.ts +1 -1
- package/src/server/server.ts +13 -2
- package/src/shared/themes.ts +2 -0
|
@@ -281,6 +281,38 @@
|
|
|
281
281
|
--color-danger: #E57373;
|
|
282
282
|
}
|
|
283
283
|
|
|
284
|
+
:root[data-theme="volt"] {
|
|
285
|
+
/* ── Core palette (volt · green-tinted charcoal + coral) ── */
|
|
286
|
+
--c-bg: #0B0D0B;
|
|
287
|
+
--c-panel: #171A17;
|
|
288
|
+
--c-panel-soft: #111311;
|
|
289
|
+
--c-line: #272A27;
|
|
290
|
+
--c-text: #F6FFF5;
|
|
291
|
+
--c-text-soft: #CBD3CA;
|
|
292
|
+
--c-muted: #9CA49C;
|
|
293
|
+
--c-dim: #626962;
|
|
294
|
+
--c-accent: #F34E3F;
|
|
295
|
+
--c-ok: #52C880;
|
|
296
|
+
--c-warn: #E4C465;
|
|
297
|
+
--c-warn-alt: #FFB300;
|
|
298
|
+
--c-danger: #D67670;
|
|
299
|
+
--c-purple: #BC8FB4;
|
|
300
|
+
|
|
301
|
+
--color-bg: #0B0D0B;
|
|
302
|
+
--color-panel: #171A17;
|
|
303
|
+
--color-surface: #111311;
|
|
304
|
+
--color-border: #272A27;
|
|
305
|
+
--color-text: #F6FFF5;
|
|
306
|
+
--color-text-primary: #F6FFF5;
|
|
307
|
+
--color-text-secondary: #CBD3CA;
|
|
308
|
+
--color-text-muted: #9CA49C;
|
|
309
|
+
--color-text-dim: #626962;
|
|
310
|
+
--color-accent: #F34E3F;
|
|
311
|
+
--color-success: #52C880;
|
|
312
|
+
--color-warning: #E4C465;
|
|
313
|
+
--color-danger: #D67670;
|
|
314
|
+
}
|
|
315
|
+
|
|
284
316
|
html,
|
|
285
317
|
body {
|
|
286
318
|
margin: 0;
|
|
@@ -33,7 +33,7 @@ const themeSetShape = {
|
|
|
33
33
|
.unknown()
|
|
34
34
|
.optional()
|
|
35
35
|
.describe(
|
|
36
|
-
'Theme name from the canvas theme registry (e.g. dark, light, high-contrast, midnight, sepia, arctic, ember, forest)',
|
|
36
|
+
'Theme name from the canvas theme registry (e.g. dark, light, high-contrast, midnight, sepia, arctic, ember, forest, volt)',
|
|
37
37
|
),
|
|
38
38
|
};
|
|
39
39
|
const themeSetSchema = z.looseObject(themeSetShape);
|
package/src/server/server.ts
CHANGED
|
@@ -977,12 +977,23 @@ function canvasSpaHtml(): string {
|
|
|
977
977
|
: 'PMX Canvas hit a browser error while loading.';
|
|
978
978
|
actions.hidden = false;
|
|
979
979
|
});
|
|
980
|
-
|
|
980
|
+
var showNotBooted = function () {
|
|
981
981
|
if (!bootstrap || !copy || !actions) return;
|
|
982
982
|
if (bootstrap.classList.contains('ready')) return;
|
|
983
983
|
copy.textContent = 'PMX Canvas did not finish booting. Reload the canvas or restart the server.';
|
|
984
984
|
actions.hidden = false;
|
|
985
|
-
}
|
|
985
|
+
};
|
|
986
|
+
var bootDeadline = setTimeout(showNotBooted, 4000);
|
|
987
|
+
// The client dispatches this when the SSE watchdog falls back to the
|
|
988
|
+
// polling transport mid-boot (buffering proxies): restart the deadline
|
|
989
|
+
// instead of alarming while the fallback is already recovering.
|
|
990
|
+
window.addEventListener('pmx-canvas-boot-extend', function () {
|
|
991
|
+
if (!bootstrap || bootstrap.classList.contains('ready')) return;
|
|
992
|
+
clearTimeout(bootDeadline);
|
|
993
|
+
if (copy) copy.textContent = 'Live stream blocked by a proxy — switching to polling...';
|
|
994
|
+
if (actions) actions.hidden = true;
|
|
995
|
+
bootDeadline = setTimeout(showNotBooted, 8000);
|
|
996
|
+
});
|
|
986
997
|
})();
|
|
987
998
|
</script>
|
|
988
999
|
${
|
package/src/shared/themes.ts
CHANGED
|
@@ -19,6 +19,7 @@ export const CANVAS_THEMES = [
|
|
|
19
19
|
'arctic',
|
|
20
20
|
'ember',
|
|
21
21
|
'forest',
|
|
22
|
+
'volt',
|
|
22
23
|
] as const;
|
|
23
24
|
|
|
24
25
|
export type CanvasThemeName = (typeof CANVAS_THEMES)[number];
|
|
@@ -50,6 +51,7 @@ export const CANVAS_THEME_META: Record<CanvasThemeName, CanvasThemeMeta> = {
|
|
|
50
51
|
arctic: { label: 'Arctic', scheme: 'dark', swatchBg: '#20242E', swatchAccent: '#7FC8DE' },
|
|
51
52
|
ember: { label: 'Ember', scheme: 'dark', swatchBg: '#0B0B0C', swatchAccent: '#F34E1C' },
|
|
52
53
|
forest: { label: 'Forest', scheme: 'dark', swatchBg: '#0C1712', swatchAccent: '#5CCF8F' },
|
|
54
|
+
volt: { label: 'Volt', scheme: 'dark', swatchBg: '#0B0D0B', swatchAccent: '#F34E3F' },
|
|
53
55
|
};
|
|
54
56
|
|
|
55
57
|
/** Collapse a theme to the dark/light scheme embedded dark|light-only viewers understand. */
|