@volter/blender-engine 0.1.42 → 0.1.44

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.
@@ -214,11 +214,15 @@ function prop<T>(node: GraphNode, name: string): T {
214
214
  * Y-up world by the exact permutation (x, y, z) -> (x, z, -y)
215
215
  * (`blender-runtime-view.ts`), so every world-space quantity handed to the
216
216
  * library goes back through `blender_from_three`, and a normal the graph
217
- * returns comes out through its transpose. */
217
+ * returns comes out through its transpose. A transmissive material's fragment shader already
218
+ * declares `modelMatrix` (three's `transmission_pars_fragment`), so the prelude yields it there:
219
+ * declared twice, the Stoneguard file's water failed to compile ("'modelMatrix' : redefinition"). */
218
220
  const EEVEE_GLOBALS = `
219
221
  #define GPU_FRAGMENT_SHADER
220
222
  #define FrontFacing gl_FrontFacing
223
+ #ifndef USE_TRANSMISSION
221
224
  uniform mat4 modelMatrix;
225
+ #endif
222
226
  const mat3 blender_from_three = mat3(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0);
223
227
  const mat4 blender_from_three4 = mat4(blender_from_three);
224
228
  struct BlenderGlobalData { vec3 P; vec3 N; vec3 Ng; vec3 Ni; bool is_strand; vec3 curve_T; vec2 barycentric_coords; };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@volter/blender-engine",
3
3
  "author": "Volter AI, Inc.",
4
4
  "license": "GPL-3.0-or-later",
5
- "version": "0.1.42",
5
+ "version": "0.1.44",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
package/wasm/BUNDLE.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "blender": "5.2.0 LTS",
3
- "source": "071e080a21c09e07f2dac8593dca2f9a566e591e",
4
- "reviewedSource": "071e080a21c09e07f2dac8593dca2f9a566e591e",
3
+ "source": "1b2547991d6841a6ea4c1394b8d648086b9af6c9",
4
+ "reviewedSource": "1b2547991d6841a6ea4c1394b8d648086b9af6c9",
5
5
  "upstream": "fbe6228777e7d9afefcd61a413844e790ae75db7",
6
6
  "sourceRepository": "https://github.com/volter-ai/blender",
7
- "sourceRecipe": "https://github.com/volter-ai/blender/blob/071e080a21c09e07f2dac8593dca2f9a566e591e/build_files/emscripten/RELEASE.md",
8
- "sourceRelease": "https://github.com/volter-ai/blender/releases/tag/blender-5.2.0-wasm.3",
9
- "verification": "https://github.com/volter-ai/blender/releases/download/blender-5.2.0-wasm.3/VERIFICATION.json",
7
+ "sourceRecipe": "https://github.com/volter-ai/blender/blob/1b2547991d6841a6ea4c1394b8d648086b9af6c9/build_files/emscripten/RELEASE.md",
8
+ "sourceRelease": "https://github.com/volter-ai/blender/releases/tag/blender-5.2.0-wasm.4",
9
+ "verification": "https://github.com/volter-ai/blender/releases/download/blender-5.2.0-wasm.4/VERIFICATION.json",
10
10
  "factoryEngine": "BLENDER_EEVEE",
11
11
  "files": {
12
12
  "blender_browser.js": "raw",
@@ -15,12 +15,12 @@
15
15
  },
16
16
  "rawFiles": {
17
17
  "blender_browser.js": {
18
- "bytes": 408162,
19
- "sha256": "2a5d4dbcc90cab571eb16eef9672ef8583e1c0a3638d0b85165d1944d191d9a7"
18
+ "bytes": 408423,
19
+ "sha256": "0c63c29e7d4b1ba1fce4e94057778b0757767b25ea4f6f01d329e99351568f30"
20
20
  },
21
21
  "blender_browser.wasm": {
22
- "bytes": 86305783,
23
- "sha256": "a9927fc4c71b41b9d464c34e8700b234bd736f75425e10a8b4d9986770d0954e"
22
+ "bytes": 86318165,
23
+ "sha256": "722b181cec94f1bdf2f088e0ae92f04ffa5a79c267bf5b04af7260c16e34eb0f"
24
24
  },
25
25
  "blender_browser.data": {
26
26
  "bytes": 52698568,
@@ -29,12 +29,12 @@
29
29
  },
30
30
  "shippedFiles": {
31
31
  "blender_browser.js": {
32
- "bytes": 408162,
33
- "sha256": "2a5d4dbcc90cab571eb16eef9672ef8583e1c0a3638d0b85165d1944d191d9a7"
32
+ "bytes": 408423,
33
+ "sha256": "0c63c29e7d4b1ba1fce4e94057778b0757767b25ea4f6f01d329e99351568f30"
34
34
  },
35
35
  "blender_browser.wasm.br": {
36
- "bytes": 18601875,
37
- "sha256": "63098ef8988e1040aa9e97c9aa7c01f06c5f835582732e057daf2ccf69040440"
36
+ "bytes": 18597884,
37
+ "sha256": "55ef6f9d63a4c8afa7e7aec4388d1f8c462f5294fcbba8bfbbabe5c41a13f8f9"
38
38
  },
39
39
  "blender_browser.data.br": {
40
40
  "bytes": 8056563,
@@ -48,6 +48,6 @@
48
48
  "note": "Official Blender v5.2.0 plus our headless wasm changes and our existing export/session integration. Dependencies are rebuilt from pinned official sources. No third-party Blender port commits or build scripts are inputs. PROXY_TO_PTHREAD, WasmFS, 512 MiB initial / 4 GiB maximum memory, twelve-worker pool. Build information is disabled. The source release includes the exact source tree, materialized startup.blend, dependency archives, pure Python wheels, and notices.",
49
49
  "callTrampoline": "CPython 3.13.13 is compiled with PY_CALL_TRAMPOLINE for Blender CPython slot arity casts. This applies to CPython dispatch, not arbitrary indirect calls.",
50
50
  "engineIds": "The existing session registers Python render engines under CYCLES, BLENDER_EEVEE and BLENDER_WORKBENCH; the headless build permits built-in IDs to be shadowed.",
51
- "exportDoor": "The source-owned bpy_web_export.cc exports Principled physical inputs, normal images, eight named UV layers and evaluated corner normals, and takes graph_materials/graph_images/graph_generated: materials the session draws from their node graph are reduced quietly (a shader mix to the one Principled BSDF it reaches), the images their graphs sample ship at the door revisions (a UDIM image with every tile), and a deformed mesh whose graph reads Generated coordinates ships its orco. Datablock revisions are keyed by session_uid. blender_web_session.cc is unchanged.",
51
+ "exportDoor": "The source-owned bpy_web_export.cc exports Principled physical inputs, normal images, eight named UV layers and evaluated corner normals, and takes graph_materials/graph_images/graph_generated (a graph-drawn shader mix reduced to the one Principled BSDF it reaches, graph images at the door revisions with every UDIM tile, orco for deformed meshes whose graph reads Generated coordinates). A frame can defer its changed meshes and pictures (defer) for the caller to pull one at a time (export_mesh, export_image), each call freeing the previous one's columns and a picture it decoded; an undo step keeps the revisions when Blender kept the depsgraph (session_undo); Blender's CPU subdivision descriptor is released once a mesh is read; the memory door reports malloc in-use and free. Datablock revisions are keyed by session_uid. writefile.cc writes one copy of the document per save in the browser build.",
52
52
  "preloadedPayload": "releasePreloadedFileData releases the JS preload buffer after session ready. The measured working payload exclusions are retained."
53
53
  }