@nexart/codemode-sdk 1.5.1 → 1.7.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.
Files changed (134) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/LICENSE.md +62 -0
  3. package/README.md +172 -25
  4. package/builder.manifest.schema.json +62 -0
  5. package/dist/builder-manifest.d.ts +1 -1
  6. package/dist/builder-manifest.js +1 -1
  7. package/dist/core-index.d.ts +1 -1
  8. package/dist/core-index.js +1 -1
  9. package/dist/entry/browser.d.ts +37 -0
  10. package/dist/entry/browser.d.ts.map +1 -0
  11. package/dist/entry/browser.js +55 -0
  12. package/dist/entry/node.d.ts +21 -0
  13. package/dist/entry/node.d.ts.map +1 -0
  14. package/dist/entry/node.js +32 -0
  15. package/dist/execute.d.ts.map +1 -1
  16. package/dist/execute.js +4 -3
  17. package/dist/execution-sandbox.d.ts +107 -0
  18. package/dist/execution-sandbox.d.ts.map +1 -0
  19. package/dist/execution-sandbox.js +207 -0
  20. package/dist/index.d.ts +14 -33
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +41 -33
  23. package/dist/loop-engine.d.ts +3 -0
  24. package/dist/loop-engine.d.ts.map +1 -1
  25. package/dist/loop-engine.js +17 -7
  26. package/dist/p5-runtime.d.ts +3 -1
  27. package/dist/p5-runtime.d.ts.map +1 -1
  28. package/dist/p5-runtime.js +2 -0
  29. package/dist/sdk/codemode/builder-manifest.d.ts +79 -0
  30. package/dist/sdk/codemode/builder-manifest.d.ts.map +1 -0
  31. package/dist/sdk/codemode/builder-manifest.js +97 -0
  32. package/dist/sdk/codemode/core-index.d.ts +21 -0
  33. package/dist/sdk/codemode/core-index.d.ts.map +1 -0
  34. package/dist/sdk/codemode/core-index.js +26 -0
  35. package/dist/sdk/codemode/engine.d.ts +24 -0
  36. package/dist/sdk/codemode/engine.d.ts.map +1 -0
  37. package/dist/sdk/codemode/engine.js +67 -0
  38. package/dist/sdk/codemode/execute.d.ts +46 -0
  39. package/dist/sdk/codemode/execute.d.ts.map +1 -0
  40. package/dist/sdk/codemode/execute.js +283 -0
  41. package/dist/sdk/codemode/execution-sandbox.d.ts +107 -0
  42. package/dist/sdk/codemode/execution-sandbox.d.ts.map +1 -0
  43. package/dist/sdk/codemode/execution-sandbox.js +207 -0
  44. package/dist/sdk/codemode/index.d.ts +31 -0
  45. package/dist/sdk/codemode/index.d.ts.map +1 -0
  46. package/dist/sdk/codemode/index.js +63 -0
  47. package/dist/sdk/codemode/loop-engine.d.ts +22 -0
  48. package/dist/sdk/codemode/loop-engine.d.ts.map +1 -0
  49. package/dist/sdk/codemode/loop-engine.js +229 -0
  50. package/dist/sdk/codemode/noise-bridge.d.ts +44 -0
  51. package/dist/sdk/codemode/noise-bridge.d.ts.map +1 -0
  52. package/dist/sdk/codemode/noise-bridge.js +68 -0
  53. package/dist/sdk/codemode/noise-engine.d.ts +74 -0
  54. package/dist/sdk/codemode/noise-engine.d.ts.map +1 -0
  55. package/dist/sdk/codemode/noise-engine.js +132 -0
  56. package/dist/sdk/codemode/noise-sketches/fractalNoise.d.ts +11 -0
  57. package/dist/sdk/codemode/noise-sketches/fractalNoise.d.ts.map +1 -0
  58. package/dist/sdk/codemode/noise-sketches/fractalNoise.js +121 -0
  59. package/dist/sdk/codemode/noise-sketches/index.d.ts +21 -0
  60. package/dist/sdk/codemode/noise-sketches/index.d.ts.map +1 -0
  61. package/dist/sdk/codemode/noise-sketches/index.js +28 -0
  62. package/dist/sdk/codemode/p5-runtime.d.ts +75 -0
  63. package/dist/sdk/codemode/p5-runtime.d.ts.map +1 -0
  64. package/dist/sdk/codemode/p5-runtime.js +1031 -0
  65. package/dist/sdk/codemode/sound-bridge.d.ts +89 -0
  66. package/dist/sdk/codemode/sound-bridge.d.ts.map +1 -0
  67. package/dist/sdk/codemode/sound-bridge.js +128 -0
  68. package/dist/sdk/codemode/soundart-engine.d.ts +87 -0
  69. package/dist/sdk/codemode/soundart-engine.d.ts.map +1 -0
  70. package/dist/sdk/codemode/soundart-engine.js +173 -0
  71. package/dist/sdk/codemode/soundart-sketches/chladniBloom.d.ts +3 -0
  72. package/dist/sdk/codemode/soundart-sketches/chladniBloom.d.ts.map +1 -0
  73. package/dist/sdk/codemode/soundart-sketches/chladniBloom.js +53 -0
  74. package/dist/sdk/codemode/soundart-sketches/dualVortex.d.ts +3 -0
  75. package/dist/sdk/codemode/soundart-sketches/dualVortex.d.ts.map +1 -0
  76. package/dist/sdk/codemode/soundart-sketches/dualVortex.js +67 -0
  77. package/dist/sdk/codemode/soundart-sketches/geometryIllusion.d.ts +3 -0
  78. package/dist/sdk/codemode/soundart-sketches/geometryIllusion.d.ts.map +1 -0
  79. package/dist/sdk/codemode/soundart-sketches/geometryIllusion.js +89 -0
  80. package/dist/sdk/codemode/soundart-sketches/index.d.ts +39 -0
  81. package/dist/sdk/codemode/soundart-sketches/index.d.ts.map +1 -0
  82. package/dist/sdk/codemode/soundart-sketches/index.js +72 -0
  83. package/dist/sdk/codemode/soundart-sketches/isoflow.d.ts +3 -0
  84. package/dist/sdk/codemode/soundart-sketches/isoflow.d.ts.map +1 -0
  85. package/dist/sdk/codemode/soundart-sketches/isoflow.js +60 -0
  86. package/dist/sdk/codemode/soundart-sketches/loomWeave.d.ts +3 -0
  87. package/dist/sdk/codemode/soundart-sketches/loomWeave.d.ts.map +1 -0
  88. package/dist/sdk/codemode/soundart-sketches/loomWeave.js +59 -0
  89. package/dist/sdk/codemode/soundart-sketches/noiseTerraces.d.ts +3 -0
  90. package/dist/sdk/codemode/soundart-sketches/noiseTerraces.d.ts.map +1 -0
  91. package/dist/sdk/codemode/soundart-sketches/noiseTerraces.js +53 -0
  92. package/dist/sdk/codemode/soundart-sketches/orb.d.ts +3 -0
  93. package/dist/sdk/codemode/soundart-sketches/orb.d.ts.map +1 -0
  94. package/dist/sdk/codemode/soundart-sketches/orb.js +50 -0
  95. package/dist/sdk/codemode/soundart-sketches/pixelGlyphs.d.ts +3 -0
  96. package/dist/sdk/codemode/soundart-sketches/pixelGlyphs.d.ts.map +1 -0
  97. package/dist/sdk/codemode/soundart-sketches/pixelGlyphs.js +72 -0
  98. package/dist/sdk/codemode/soundart-sketches/prismFlowFields.d.ts +3 -0
  99. package/dist/sdk/codemode/soundart-sketches/prismFlowFields.d.ts.map +1 -0
  100. package/dist/sdk/codemode/soundart-sketches/prismFlowFields.js +51 -0
  101. package/dist/sdk/codemode/soundart-sketches/radialBurst.d.ts +3 -0
  102. package/dist/sdk/codemode/soundart-sketches/radialBurst.d.ts.map +1 -0
  103. package/dist/sdk/codemode/soundart-sketches/radialBurst.js +60 -0
  104. package/dist/sdk/codemode/soundart-sketches/resonantSoundBodies.d.ts +3 -0
  105. package/dist/sdk/codemode/soundart-sketches/resonantSoundBodies.d.ts.map +1 -0
  106. package/dist/sdk/codemode/soundart-sketches/resonantSoundBodies.js +89 -0
  107. package/dist/sdk/codemode/soundart-sketches/rings.d.ts +11 -0
  108. package/dist/sdk/codemode/soundart-sketches/rings.d.ts.map +1 -0
  109. package/dist/sdk/codemode/soundart-sketches/rings.js +89 -0
  110. package/dist/sdk/codemode/soundart-sketches/squares.d.ts +3 -0
  111. package/dist/sdk/codemode/soundart-sketches/squares.d.ts.map +1 -0
  112. package/dist/sdk/codemode/soundart-sketches/squares.js +52 -0
  113. package/dist/sdk/codemode/soundart-sketches/waveStripes.d.ts +3 -0
  114. package/dist/sdk/codemode/soundart-sketches/waveStripes.d.ts.map +1 -0
  115. package/dist/sdk/codemode/soundart-sketches/waveStripes.js +44 -0
  116. package/dist/sdk/codemode/static-engine.d.ts +20 -0
  117. package/dist/sdk/codemode/static-engine.d.ts.map +1 -0
  118. package/dist/sdk/codemode/static-engine.js +144 -0
  119. package/dist/sdk/codemode/types.d.ts +191 -0
  120. package/dist/sdk/codemode/types.d.ts.map +1 -0
  121. package/dist/sdk/codemode/types.js +32 -0
  122. package/dist/shared/noiseSnapshot.d.ts +59 -0
  123. package/dist/shared/noiseSnapshot.d.ts.map +1 -0
  124. package/dist/shared/noiseSnapshot.js +72 -0
  125. package/dist/shared/soundSnapshot.d.ts +94 -0
  126. package/dist/shared/soundSnapshot.d.ts.map +1 -0
  127. package/dist/shared/soundSnapshot.js +128 -0
  128. package/dist/static-engine.d.ts +7 -0
  129. package/dist/static-engine.d.ts.map +1 -1
  130. package/dist/static-engine.js +82 -14
  131. package/dist/types.d.ts +28 -6
  132. package/dist/types.d.ts.map +1 -1
  133. package/dist/types.js +1 -1
  134. package/package.json +31 -5
@@ -7,11 +7,57 @@
7
7
  *
8
8
  * Determinism Guarantee:
9
9
  * Same code + same seed + same VARs = identical PNG output
10
+ *
11
+ * Security:
12
+ * All external entropy sources are blocked at runtime via execution sandbox.
13
+ *
14
+ * Oracle Support:
15
+ * When returnImageData is true, returns raw ImageData for determinism hashing.
16
+ * Works in both browser (HTMLCanvasElement) and Node (canvas package) environments.
10
17
  */
11
18
  import { DEFAULT_CONFIG } from './types';
12
19
  import { createP5Runtime, injectTimeVariables, injectProtocolVariables } from './p5-runtime';
20
+ import { FORBIDDEN_APIS, createSafeMath } from './execution-sandbox';
21
+ let nodeCanvasModule = null;
22
+ async function getNodeCanvas() {
23
+ if (nodeCanvasModule)
24
+ return nodeCanvasModule;
25
+ if (typeof window === 'undefined') {
26
+ try {
27
+ const { createRequire } = await import('module');
28
+ const require = createRequire(import.meta.url);
29
+ nodeCanvasModule = require('canvas');
30
+ return nodeCanvasModule;
31
+ }
32
+ catch {
33
+ return null;
34
+ }
35
+ }
36
+ return null;
37
+ }
38
+ /**
39
+ * Create a runtime canvas that works in both browser and Node environments.
40
+ * Browser: uses HTMLCanvasElement
41
+ * Node/Headless: uses `canvas` npm package
42
+ */
43
+ async function createRuntimeCanvas(width, height) {
44
+ // Browser environment
45
+ if (typeof document !== 'undefined' && typeof document.createElement === 'function') {
46
+ const canvas = document.createElement('canvas');
47
+ canvas.width = width;
48
+ canvas.height = height;
49
+ return canvas;
50
+ }
51
+ // Node / headless environment (oracle, CI)
52
+ const nodeCanvas = await getNodeCanvas();
53
+ if (nodeCanvas && nodeCanvas.createCanvas) {
54
+ return nodeCanvas.createCanvas(width, height);
55
+ }
56
+ throw new Error('[Code Mode Protocol Error] Headless canvas unavailable. ' +
57
+ 'Install `canvas` for oracle execution.');
58
+ }
13
59
  export async function runStaticMode(config, options) {
14
- const { code, seed, vars, onPreview, onProgress, onComplete, onError } = options;
60
+ const { code, seed, vars, onPreview, onProgress, onComplete, onError, returnImageData } = options;
15
61
  const width = config.width ?? DEFAULT_CONFIG.width;
16
62
  const height = config.height ?? DEFAULT_CONFIG.height;
17
63
  try {
@@ -20,10 +66,8 @@ export async function runStaticMode(config, options) {
20
66
  percent: 0,
21
67
  message: 'Initializing canvas...',
22
68
  });
23
- // Create offscreen canvas
24
- const canvas = document.createElement('canvas');
25
- canvas.width = width;
26
- canvas.height = height;
69
+ // Create runtime canvas (browser or Node)
70
+ const canvas = await createRuntimeCanvas(width, height);
27
71
  // Create p5 runtime with optional seed for determinism
28
72
  const p = createP5Runtime(canvas, width, height, { seed });
29
73
  // Inject time variables (static = frame 0, t = 0, totalFrames = 1)
@@ -56,18 +100,43 @@ export async function runStaticMode(config, options) {
56
100
  percent: 30,
57
101
  message: 'Executing setup()...',
58
102
  });
59
- // Create wrapped setup function with p5 context and VAR
60
- const wrappedSetup = new Function('p', 'frameCount', 't', 'time', 'tGlobal', 'VAR', `with(p) { ${setupCode} }`);
61
- // Execute setup() only
62
- wrappedSetup(p, 0, 0, 0, 0, p.VAR);
103
+ // Create sandboxed execution context
104
+ // All forbidden APIs are injected as parameters to override globals
105
+ const safeMath = createSafeMath();
106
+ const forbiddenKeys = Object.keys(FORBIDDEN_APIS);
107
+ // Create wrapped setup function with p5 context, VAR, and blocked globals
108
+ const wrappedSetup = new Function('p', 'frameCount', 't', 'time', 'tGlobal', 'VAR', 'Math', ...forbiddenKeys, `with(p) { ${setupCode} }`);
109
+ // Execute setup() only with sandboxed context
110
+ const forbiddenValues = forbiddenKeys.map(k => FORBIDDEN_APIS[k]);
111
+ wrappedSetup(p, 0, 0, 0, 0, p.VAR, safeMath, ...forbiddenValues);
63
112
  // Provide preview callback
64
113
  onPreview?.(canvas);
65
114
  onProgress?.({
66
115
  phase: 'encoding',
67
116
  percent: 70,
68
- message: 'Capturing PNG...',
117
+ message: returnImageData ? 'Capturing ImageData...' : 'Capturing PNG...',
69
118
  });
70
- // Capture as PNG
119
+ // Get 2D context for pixel access
120
+ const ctx = canvas.getContext('2d');
121
+ if (!ctx) {
122
+ throw new Error('Failed to acquire 2D context');
123
+ }
124
+ // Always capture pixel data first
125
+ const imageData = ctx.getImageData(0, 0, width, height);
126
+ // ORACLE / NODE PATH — MUST NOT TOUCH toBlob
127
+ if (returnImageData) {
128
+ onProgress?.({
129
+ phase: 'complete',
130
+ percent: 100,
131
+ message: 'Complete',
132
+ });
133
+ onComplete({
134
+ type: 'image',
135
+ imageData,
136
+ });
137
+ return; // Early return - never touch toBlob in oracle mode
138
+ }
139
+ // BROWSER / UI PATH ONLY
71
140
  const blob = await new Promise((resolve, reject) => {
72
141
  canvas.toBlob((b) => b ? resolve(b) : reject(new Error('Failed to capture PNG')), 'image/png');
73
142
  });
@@ -76,11 +145,10 @@ export async function runStaticMode(config, options) {
76
145
  percent: 100,
77
146
  message: 'Complete',
78
147
  });
79
- const result = {
148
+ onComplete({
80
149
  type: 'image',
81
150
  blob,
82
- };
83
- onComplete(result);
151
+ });
84
152
  }
85
153
  catch (error) {
86
154
  const err = error instanceof Error ? error : new Error(String(error));
package/dist/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * NexArt Code Mode Runtime SDK - Types
3
- * Version: 1.5.1 (Protocol v1.2.0)
3
+ * Version: 1.6.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.
@@ -17,6 +17,12 @@ export declare const PROTOCOL_IDENTITY: {
17
17
  readonly deterministic: true;
18
18
  };
19
19
  export type RenderMode = 'static' | 'loop';
20
+ /**
21
+ * Runtime Canvas
22
+ * Abstraction for browser (HTMLCanvasElement) and Node (canvas package) environments.
23
+ * In Node, the `canvas` npm package provides an HTMLCanvasElement-compatible interface.
24
+ */
25
+ export type RuntimeCanvas = HTMLCanvasElement;
20
26
  export interface EngineConfig {
21
27
  mode: RenderMode;
22
28
  width?: number;
@@ -24,20 +30,36 @@ export interface EngineConfig {
24
30
  duration?: number;
25
31
  fps?: number;
26
32
  }
27
- export interface RenderResult {
28
- type: 'image' | 'video';
33
+ /**
34
+ * Render Result (Discriminated Union)
35
+ *
36
+ * Static mode can return either:
37
+ * - blob: For display/download (PNG)
38
+ * - imageData: For oracle hashing (raw pixels)
39
+ *
40
+ * Video mode returns blob with frame/duration metadata.
41
+ */
42
+ export type RenderResult = {
43
+ type: 'image';
44
+ blob: Blob;
45
+ } | {
46
+ type: 'image';
47
+ imageData: ImageData;
48
+ } | {
49
+ type: 'video';
29
50
  blob: Blob;
30
51
  frames?: number;
31
52
  duration?: number;
32
- }
53
+ };
33
54
  export interface RunOptions {
34
55
  code: string;
35
56
  seed?: number;
36
57
  vars?: number[];
37
- onPreview?: (canvas: HTMLCanvasElement) => void;
58
+ onPreview?: (canvas: RuntimeCanvas) => void;
38
59
  onProgress?: (progress: ProgressInfo) => void;
39
60
  onComplete: (result: RenderResult) => void;
40
61
  onError?: (error: Error) => void;
62
+ returnImageData?: boolean;
41
63
  }
42
64
  export interface ProgressInfo {
43
65
  phase: 'setup' | 'rendering' | 'encoding' | 'complete';
@@ -127,7 +149,7 @@ export interface ExecuteCodeModeResult {
127
149
  metadata: ProtocolMetadata;
128
150
  }
129
151
  /**
130
- * Builder Manifest (v1.5.1)
152
+ * Builder Manifest (v1.6.0)
131
153
  *
132
154
  * Passive, declarative metadata for builder attribution.
133
155
  * This is data-only with no logic, rewards, or enforcement attached.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * NexArt Code Mode Runtime SDK - Types
3
- * Version: 1.5.1 (Protocol v1.2.0)
3
+ * Version: 1.6.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.
package/package.json CHANGED
@@ -1,12 +1,34 @@
1
1
  {
2
2
  "name": "@nexart/codemode-sdk",
3
- "version": "1.5.1",
3
+ "version": "1.7.0",
4
4
  "description": "NexArt Code Mode SDK - Canonical execution engine for deterministic generative art",
5
5
  "type": "module",
6
- "main": "./dist/core-index.js",
7
- "types": "./dist/core-index.d.ts",
6
+ "main": "./dist/entry/browser.js",
7
+ "types": "./dist/entry/browser.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
+ "browser": {
11
+ "types": "./dist/entry/browser.d.ts",
12
+ "import": "./dist/entry/browser.js"
13
+ },
14
+ "node": {
15
+ "types": "./dist/entry/node.d.ts",
16
+ "import": "./dist/entry/node.js"
17
+ },
18
+ "default": {
19
+ "types": "./dist/entry/browser.d.ts",
20
+ "import": "./dist/entry/browser.js"
21
+ }
22
+ },
23
+ "./browser": {
24
+ "types": "./dist/entry/browser.d.ts",
25
+ "import": "./dist/entry/browser.js"
26
+ },
27
+ "./node": {
28
+ "types": "./dist/entry/node.d.ts",
29
+ "import": "./dist/entry/node.js"
30
+ },
31
+ "./core": {
10
32
  "types": "./dist/core-index.d.ts",
11
33
  "import": "./dist/core-index.js"
12
34
  }
@@ -15,7 +37,9 @@
15
37
  "dist",
16
38
  "README.md",
17
39
  "CHANGELOG.md",
18
- "CODE_MODE_PROTOCOL.md"
40
+ "CODE_MODE_PROTOCOL.md",
41
+ "LICENSE.md",
42
+ "builder.manifest.schema.json"
19
43
  ],
20
44
  "scripts": {
21
45
  "build": "tsc",
@@ -28,7 +52,9 @@
28
52
  "nft",
29
53
  "p5js",
30
54
  "deterministic",
31
- "codemode"
55
+ "codemode",
56
+ "browser",
57
+ "node"
32
58
  ],
33
59
  "author": "NexArt",
34
60
  "license": "MIT",