@miadi/stateloom-web 0.1.1 → 0.1.2

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.
Files changed (51) hide show
  1. package/package.json +1 -1
  2. package/server/.next/BUILD_ID +1 -1
  3. package/server/.next/build-manifest.json +2 -2
  4. package/server/.next/prerender-manifest.json +3 -3
  5. package/server/.next/server/app/_global-error.html +2 -2
  6. package/server/.next/server/app/_global-error.rsc +1 -1
  7. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/server/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/server/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/server/.next/server/app/_not-found.html +1 -1
  14. package/server/.next/server/app/_not-found.rsc +2 -2
  15. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/server/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/server/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/server/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/server/.next/server/app/index.html +1 -1
  22. package/server/.next/server/app/index.rsc +3 -3
  23. package/server/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  24. package/server/.next/server/app/index.segments/_full.segment.rsc +3 -3
  25. package/server/.next/server/app/index.segments/_head.segment.rsc +1 -1
  26. package/server/.next/server/app/index.segments/_index.segment.rsc +2 -2
  27. package/server/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  28. package/server/.next/server/app/page.js.nft.json +1 -1
  29. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  30. package/server/.next/server/chunks/ssr/{[root-of-the-server]__ac84e72e._.js → [root-of-the-server]__bfd16096._.js} +1 -1
  31. package/server/.next/server/chunks/ssr/[root-of-the-server]__edbb995c._.js +3 -3
  32. package/server/.next/server/pages/404.html +1 -1
  33. package/server/.next/server/pages/500.html +2 -2
  34. package/server/.next/server/server-reference-manifest.js +1 -1
  35. package/server/.next/server/server-reference-manifest.json +1 -1
  36. package/server/.next/static/chunks/0a0f393b77d3422b.css +2 -0
  37. package/server/.next/static/chunks/e29b67abadc7c68a.js +10 -0
  38. package/server/package-lock.json +36 -3
  39. package/server/package.json +2 -1
  40. package/server/src/app/globals.css +7 -64
  41. package/server/src/app/layout.tsx +3 -0
  42. package/server/src/components/Canvas.tsx +78 -1325
  43. package/server/src/components/SettingsPanel.tsx +11 -6
  44. package/server/src/types/definition.ts +12 -2
  45. package/server/stateloom-web.json +2 -2
  46. package/server/tsconfig.tsbuildinfo +1 -1
  47. package/server/.next/static/chunks/2c679fab817159f2.css +0 -1
  48. package/server/.next/static/chunks/7921d7703dd690a6.js +0 -10
  49. /package/server/.next/static/{vPEqV8SJpTDJWGy_fRuh4 → Q7HQy4udl4A_DaAl9bdUt}/_buildManifest.js +0 -0
  50. /package/server/.next/static/{vPEqV8SJpTDJWGy_fRuh4 → Q7HQy4udl4A_DaAl9bdUt}/_clientMiddlewareManifest.json +0 -0
  51. /package/server/.next/static/{vPEqV8SJpTDJWGy_fRuh4 → Q7HQy4udl4A_DaAl9bdUt}/_ssgManifest.js +0 -0
@@ -8,6 +8,7 @@
8
8
  "name": "stateloom-web",
9
9
  "version": "0.1.1",
10
10
  "dependencies": {
11
+ "@miadi/stateloom-canvas": "file:../bridge-canvas",
11
12
  "@miadi/stateloom-client": "file:../bridge-client",
12
13
  "@miadi/stateloom-protocol": "file:../bridge-protocol",
13
14
  "@miadi/stateloom-react": "file:../bridge-react",
@@ -28,9 +29,28 @@
28
29
  "typescript": "^5"
29
30
  }
30
31
  },
32
+ "../bridge-canvas": {
33
+ "name": "@miadi/stateloom-canvas",
34
+ "version": "0.1.0",
35
+ "license": "MIT",
36
+ "dependencies": {
37
+ "@miadi/stateloom-protocol": "file:../bridge-protocol"
38
+ },
39
+ "devDependencies": {
40
+ "@types/react": "^19",
41
+ "react": "^19",
42
+ "typescript": "^5.7"
43
+ },
44
+ "engines": {
45
+ "node": ">=20"
46
+ },
47
+ "peerDependencies": {
48
+ "react": "^19"
49
+ }
50
+ },
31
51
  "../bridge-client": {
32
52
  "name": "@miadi/stateloom-client",
33
- "version": "0.1.0",
53
+ "version": "0.1.1",
34
54
  "license": "MIT",
35
55
  "dependencies": {
36
56
  "@miadi/stateloom-protocol": "file:../bridge-protocol",
@@ -40,20 +60,26 @@
40
60
  "@types/node": "^22",
41
61
  "socket.io": "^4.8.1",
42
62
  "typescript": "^5.7"
63
+ },
64
+ "engines": {
65
+ "node": ">=20"
43
66
  }
44
67
  },
45
68
  "../bridge-protocol": {
46
69
  "name": "@miadi/stateloom-protocol",
47
- "version": "0.1.1",
70
+ "version": "0.1.3",
48
71
  "license": "MIT",
49
72
  "devDependencies": {
50
73
  "@types/node": "^22",
51
74
  "typescript": "^5.7"
75
+ },
76
+ "engines": {
77
+ "node": ">=20"
52
78
  }
53
79
  },
54
80
  "../bridge-react": {
55
81
  "name": "@miadi/stateloom-react",
56
- "version": "0.1.2",
82
+ "version": "0.1.4",
57
83
  "license": "MIT",
58
84
  "dependencies": {
59
85
  "@miadi/stateloom-client": "file:../bridge-client",
@@ -66,6 +92,9 @@
66
92
  "socket.io": "^4.8.1",
67
93
  "typescript": "^5.7"
68
94
  },
95
+ "engines": {
96
+ "node": ">=20"
97
+ },
69
98
  "peerDependencies": {
70
99
  "react": "^19"
71
100
  }
@@ -1068,6 +1097,10 @@
1068
1097
  "@jridgewell/sourcemap-codec": "^1.4.14"
1069
1098
  }
1070
1099
  },
1100
+ "node_modules/@miadi/stateloom-canvas": {
1101
+ "resolved": "../bridge-canvas",
1102
+ "link": true
1103
+ },
1071
1104
  "node_modules/@miadi/stateloom-client": {
1072
1105
  "resolved": "../bridge-client",
1073
1106
  "link": true
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stateloom-web",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "private": true,
5
5
  "scripts": {
6
6
  "dev": "next dev -p ${PORT:-4598}",
@@ -9,6 +9,7 @@
9
9
  "lint": "eslint"
10
10
  },
11
11
  "dependencies": {
12
+ "@miadi/stateloom-canvas": "file:../bridge-canvas",
12
13
  "@miadi/stateloom-client": "file:../bridge-client",
13
14
  "@miadi/stateloom-protocol": "file:../bridge-protocol",
14
15
  "@miadi/stateloom-react": "file:../bridge-react",
@@ -251,67 +251,10 @@ body {
251
251
  }
252
252
  }
253
253
 
254
- /* --- WS7b: live Canvas animations (SVG/CSS only, no libraries) --- */
255
-
256
- /* Node bloom-in: fade + scale from ~0.92 to 1 around the node's own center. */
257
- @keyframes sm-node-in {
258
- from { opacity: 0; transform: scale(0.92); }
259
- to { opacity: 1; transform: scale(1); }
260
- }
261
-
262
- /* Node fade-out: fade + scale down as the state leaves the definition. */
263
- @keyframes sm-node-out {
264
- from { opacity: 1; transform: scale(1); }
265
- to { opacity: 0; transform: scale(0.9); }
266
- }
267
-
268
- /* Edge draw-on: reveal the stroke (pathLength=1 normalises the dash units). */
269
- @keyframes sm-edge-draw {
270
- from { stroke-dashoffset: 1; opacity: 0; }
271
- to { stroke-dashoffset: 0; opacity: 1; }
272
- }
273
-
274
- /* Runtime-active pulse: a green (#22c55e) glow that layers over any stroke. */
275
- @keyframes sm-pulse {
276
- 0%, 100% { filter: drop-shadow(0 0 1px rgba(34, 197, 94, 0.55)); }
277
- 50% { filter: drop-shadow(0 0 6px rgba(34, 197, 94, 0.95)); }
278
- }
279
-
280
- .sm-node-enter {
281
- transform-box: fill-box;
282
- transform-origin: center;
283
- animation: sm-node-in 220ms ease-out both;
284
- }
285
-
286
- .sm-node-exit {
287
- transform-box: fill-box;
288
- transform-origin: center;
289
- animation: sm-node-out 200ms ease-in forwards;
290
- }
291
-
292
- .sm-edge-enter {
293
- stroke-dasharray: 1;
294
- animation: sm-edge-draw 260ms ease-out both;
295
- }
296
-
297
- .sm-node-active {
298
- animation: sm-pulse 1.2s ease-in-out infinite;
299
- }
300
-
301
- @media (prefers-reduced-motion: reduce) {
302
- .sm-node-enter,
303
- .sm-edge-enter {
304
- animation: none;
305
- }
306
- /* Keep exit near-instant so onAnimationEnd still fires and the node is
307
- cleaned up from the exiting layer. */
308
- .sm-node-exit {
309
- animation-duration: 1ms;
310
- }
311
- /* Drop the infinite motion but keep a static glow so active states stay
312
- distinguishable without relying on motion. */
313
- .sm-node-active {
314
- animation: none;
315
- filter: drop-shadow(0 0 4px rgba(34, 197, 94, 0.85));
316
- }
317
- }
254
+ /* --- Live canvas animations ------------------------------------------------
255
+ Moved out with the board itself. The node bloom, the edge draw-on, the
256
+ active-state pulse and their reduced-motion answers now ship as
257
+ `@miadi/stateloom-canvas/styles.css`, imported in app/layout.tsx, so the
258
+ designer and forgewright animate the same way from one source. Nothing in
259
+ this app referenced the old `sm-*` class names outside the canvas, which is
260
+ why they could simply leave. */
@@ -1,5 +1,8 @@
1
1
  import type { Metadata, Viewport } from "next";
2
2
  import "./globals.css";
3
+ // The board's own colours and animations. It ships with the canvas package so
4
+ // forgewright gets the identical surface from the identical stylesheet.
5
+ import "@miadi/stateloom-canvas/styles.css";
3
6
 
4
7
  export const metadata: Metadata = {
5
8
  title: "SMCraft Designer",