@nexart/codemode-sdk 1.4.0 → 1.5.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 +13 -3
- package/dist/engine.d.ts +39 -17
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +253 -52
- package/dist/index.d.ts +13 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -11
- package/dist/loop-engine.d.ts +5 -1
- package/dist/loop-engine.d.ts.map +1 -1
- package/dist/loop-engine.js +25 -14
- package/dist/p5-runtime.d.ts +56 -4
- package/dist/p5-runtime.d.ts.map +1 -1
- package/dist/p5-runtime.js +743 -32
- package/dist/static-engine.d.ts +4 -1
- package/dist/static-engine.d.ts.map +1 -1
- package/dist/static-engine.js +13 -8
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +1 -1
package/dist/static-engine.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* NexArt Code Mode Runtime SDK - Static Engine
|
|
3
|
-
*
|
|
3
|
+
* Protocol: v1.2.0 (Phase 3) — HARD ENFORCEMENT
|
|
4
4
|
*
|
|
5
5
|
* Static mode renderer: executes setup() only, captures single PNG.
|
|
6
6
|
* Does NOT execute draw() - per NexArt Execution Specification v1.
|
|
7
|
+
*
|
|
8
|
+
* Determinism Guarantee:
|
|
9
|
+
* Same code + same seed + same VARs = identical PNG output
|
|
7
10
|
*/
|
|
8
11
|
import type { EngineConfig, RunOptions } from './types';
|
|
9
12
|
export declare function runStaticMode(config: EngineConfig, options: RunOptions): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-engine.d.ts","sourceRoot":"","sources":["../static-engine.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"static-engine.d.ts","sourceRoot":"","sources":["../static-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAgB,MAAM,SAAS,CAAC;AAItE,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAmGf"}
|
package/dist/static-engine.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* NexArt Code Mode Runtime SDK - Static Engine
|
|
3
|
-
*
|
|
3
|
+
* Protocol: v1.2.0 (Phase 3) — HARD ENFORCEMENT
|
|
4
4
|
*
|
|
5
5
|
* Static mode renderer: executes setup() only, captures single PNG.
|
|
6
6
|
* Does NOT execute draw() - per NexArt Execution Specification v1.
|
|
7
|
+
*
|
|
8
|
+
* Determinism Guarantee:
|
|
9
|
+
* Same code + same seed + same VARs = identical PNG output
|
|
7
10
|
*/
|
|
8
11
|
import { DEFAULT_CONFIG } from './types';
|
|
9
|
-
import { createP5Runtime, injectTimeVariables } from './p5-runtime';
|
|
12
|
+
import { createP5Runtime, injectTimeVariables, injectProtocolVariables } from './p5-runtime';
|
|
10
13
|
export async function runStaticMode(config, options) {
|
|
11
|
-
const { code, onPreview, onProgress, onComplete, onError } = options;
|
|
14
|
+
const { code, seed, vars, onPreview, onProgress, onComplete, onError } = options;
|
|
12
15
|
const width = config.width ?? DEFAULT_CONFIG.width;
|
|
13
16
|
const height = config.height ?? DEFAULT_CONFIG.height;
|
|
14
17
|
try {
|
|
@@ -21,8 +24,8 @@ export async function runStaticMode(config, options) {
|
|
|
21
24
|
const canvas = document.createElement('canvas');
|
|
22
25
|
canvas.width = width;
|
|
23
26
|
canvas.height = height;
|
|
24
|
-
// Create p5 runtime
|
|
25
|
-
const p = createP5Runtime(canvas, width, height);
|
|
27
|
+
// Create p5 runtime with optional seed for determinism
|
|
28
|
+
const p = createP5Runtime(canvas, width, height, { seed });
|
|
26
29
|
// Inject time variables (static = frame 0, t = 0, totalFrames = 1)
|
|
27
30
|
injectTimeVariables(p, {
|
|
28
31
|
frameCount: 0,
|
|
@@ -31,6 +34,8 @@ export async function runStaticMode(config, options) {
|
|
|
31
34
|
tGlobal: 0,
|
|
32
35
|
totalFrames: 1, // Static mode has 1 frame
|
|
33
36
|
});
|
|
37
|
+
// Inject protocol variables (VAR[0..9])
|
|
38
|
+
injectProtocolVariables(p, vars);
|
|
34
39
|
onProgress?.({
|
|
35
40
|
phase: 'setup',
|
|
36
41
|
percent: 10,
|
|
@@ -51,10 +56,10 @@ export async function runStaticMode(config, options) {
|
|
|
51
56
|
percent: 30,
|
|
52
57
|
message: 'Executing setup()...',
|
|
53
58
|
});
|
|
54
|
-
// Create wrapped setup function with p5 context
|
|
55
|
-
const wrappedSetup = new Function('p', 'frameCount', 't', 'time', 'tGlobal', `with(p) { ${setupCode} }`);
|
|
59
|
+
// Create wrapped setup function with p5 context and VAR
|
|
60
|
+
const wrappedSetup = new Function('p', 'frameCount', 't', 'time', 'tGlobal', 'VAR', `with(p) { ${setupCode} }`);
|
|
56
61
|
// Execute setup() only
|
|
57
|
-
wrappedSetup(p, 0, 0, 0, 0);
|
|
62
|
+
wrappedSetup(p, 0, 0, 0, 0, p.VAR);
|
|
58
63
|
// Provide preview callback
|
|
59
64
|
onPreview?.(canvas);
|
|
60
65
|
onProgress?.({
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* NexArt Code Mode Runtime SDK - Types
|
|
3
|
-
* Version: 1.
|
|
3
|
+
* Version: 1.5.0 (Protocol v1.2.0)
|
|
4
4
|
*
|
|
5
5
|
* Type definitions for the Code Mode runtime engine.
|
|
6
6
|
* This is the canonical type surface for @nexart/codemode-sdk.
|
|
@@ -61,8 +61,9 @@ export interface TimeVariables {
|
|
|
61
61
|
/**
|
|
62
62
|
* Protocol Variables (VAR[0..9])
|
|
63
63
|
* First-class protocol inputs for deterministic rendering.
|
|
64
|
+
* Used by SoundArt, Shapes, Noise, and ByX collections.
|
|
64
65
|
*
|
|
65
|
-
* Rules (SDK v1.
|
|
66
|
+
* Rules (SDK v1.0.2, Protocol v1.0.0):
|
|
66
67
|
* - Input array can have 0-10 elements (protocol error if > 10)
|
|
67
68
|
* - All values MUST be finite numbers (protocol error if not)
|
|
68
69
|
* - Values MUST be in range 0-100 (protocol error if out of range, NO clamping)
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAChD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,EAAE,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
package/package.json
CHANGED