@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.
- package/package.json +1 -1
- package/server/.next/BUILD_ID +1 -1
- package/server/.next/build-manifest.json +2 -2
- package/server/.next/prerender-manifest.json +3 -3
- package/server/.next/server/app/_global-error.html +2 -2
- package/server/.next/server/app/_global-error.rsc +1 -1
- package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/server/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/server/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/server/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/_not-found.html +1 -1
- package/server/.next/server/app/_not-found.rsc +2 -2
- package/server/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/server/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/server/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/server/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/server/.next/server/app/index.html +1 -1
- package/server/.next/server/app/index.rsc +3 -3
- package/server/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/server/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/server/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/server/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/server/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/server/.next/server/app/page.js.nft.json +1 -1
- package/server/.next/server/app/page_client-reference-manifest.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__ac84e72e._.js → [root-of-the-server]__bfd16096._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__edbb995c._.js +3 -3
- package/server/.next/server/pages/404.html +1 -1
- package/server/.next/server/pages/500.html +2 -2
- package/server/.next/server/server-reference-manifest.js +1 -1
- package/server/.next/server/server-reference-manifest.json +1 -1
- package/server/.next/static/chunks/0a0f393b77d3422b.css +2 -0
- package/server/.next/static/chunks/e29b67abadc7c68a.js +10 -0
- package/server/package-lock.json +36 -3
- package/server/package.json +2 -1
- package/server/src/app/globals.css +7 -64
- package/server/src/app/layout.tsx +3 -0
- package/server/src/components/Canvas.tsx +78 -1325
- package/server/src/components/SettingsPanel.tsx +11 -6
- package/server/src/types/definition.ts +12 -2
- package/server/stateloom-web.json +2 -2
- package/server/tsconfig.tsbuildinfo +1 -1
- package/server/.next/static/chunks/2c679fab817159f2.css +0 -1
- package/server/.next/static/chunks/7921d7703dd690a6.js +0 -10
- /package/server/.next/static/{vPEqV8SJpTDJWGy_fRuh4 → Q7HQy4udl4A_DaAl9bdUt}/_buildManifest.js +0 -0
- /package/server/.next/static/{vPEqV8SJpTDJWGy_fRuh4 → Q7HQy4udl4A_DaAl9bdUt}/_clientMiddlewareManifest.json +0 -0
- /package/server/.next/static/{vPEqV8SJpTDJWGy_fRuh4 → Q7HQy4udl4A_DaAl9bdUt}/_ssgManifest.js +0 -0
package/server/package-lock.json
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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
|
package/server/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stateloom-web",
|
|
3
|
-
"version": "0.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
|
-
/* ---
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
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",
|