@jfk-solutions/demo3d-file-format 1.8.0 → 1.9.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 (71) hide show
  1. package/README.md +211 -0
  2. package/dist/examples/export-embedded-viewer-standalone.html +1 -1
  3. package/dist/examples/three-render-smoke-standalone.html +295 -231
  4. package/dist/index.d.ts +8 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +7 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/raw3d-animation.d.ts +63 -0
  9. package/dist/raw3d-animation.d.ts.map +1 -0
  10. package/dist/raw3d-animation.js +200 -0
  11. package/dist/raw3d-animation.js.map +1 -0
  12. package/dist/raw3d-effects.d.ts +66 -0
  13. package/dist/raw3d-effects.d.ts.map +1 -0
  14. package/dist/raw3d-effects.js +172 -0
  15. package/dist/raw3d-effects.js.map +1 -0
  16. package/dist/raw3d-skinning.d.ts +8 -0
  17. package/dist/raw3d-skinning.d.ts.map +1 -0
  18. package/dist/raw3d-skinning.js +37 -0
  19. package/dist/raw3d-skinning.js.map +1 -0
  20. package/dist/raw3d.d.ts +77 -2
  21. package/dist/raw3d.d.ts.map +1 -1
  22. package/dist/raw3d.js +103 -7
  23. package/dist/raw3d.js.map +1 -1
  24. package/dist/rigid-interpolation.d.ts +16 -0
  25. package/dist/rigid-interpolation.d.ts.map +1 -0
  26. package/dist/rigid-interpolation.js +52 -0
  27. package/dist/rigid-interpolation.js.map +1 -0
  28. package/dist/three/backend.d.ts +13 -0
  29. package/dist/three/backend.d.ts.map +1 -0
  30. package/dist/three/backend.js +9 -0
  31. package/dist/three/backend.js.map +1 -0
  32. package/dist/three/effects.d.ts +7 -0
  33. package/dist/three/effects.d.ts.map +1 -0
  34. package/dist/three/effects.js +127 -0
  35. package/dist/three/effects.js.map +1 -0
  36. package/dist/three/index.d.ts +2 -1
  37. package/dist/three/index.d.ts.map +1 -1
  38. package/dist/three/index.js +2 -1
  39. package/dist/three/index.js.map +1 -1
  40. package/dist/three/native-lighting.d.ts +5 -0
  41. package/dist/three/native-lighting.d.ts.map +1 -0
  42. package/dist/three/native-lighting.js +86 -0
  43. package/dist/three/native-lighting.js.map +1 -0
  44. package/dist/three/parallax.d.ts +5 -0
  45. package/dist/three/parallax.d.ts.map +1 -0
  46. package/dist/three/parallax.js +63 -0
  47. package/dist/three/parallax.js.map +1 -0
  48. package/dist/three/raw3d.d.ts +25 -0
  49. package/dist/three/raw3d.d.ts.map +1 -1
  50. package/dist/three/raw3d.js +404 -16
  51. package/dist/three/raw3d.js.map +1 -1
  52. package/dist/three/renderer.d.ts.map +1 -1
  53. package/dist/three/renderer.js +3 -0
  54. package/dist/three/renderer.js.map +1 -1
  55. package/dist/three/skinning.d.ts +11 -0
  56. package/dist/three/skinning.d.ts.map +1 -0
  57. package/dist/three/skinning.js +92 -0
  58. package/dist/three/skinning.js.map +1 -0
  59. package/dist/three/tsl.d.ts +60 -0
  60. package/dist/three/tsl.d.ts.map +1 -0
  61. package/dist/three/tsl.js +3 -0
  62. package/dist/three/tsl.js.map +1 -0
  63. package/dist/three/webgpu-native.d.ts +3 -0
  64. package/dist/three/webgpu-native.d.ts.map +1 -0
  65. package/dist/three/webgpu-native.js +58 -0
  66. package/dist/three/webgpu-native.js.map +1 -0
  67. package/dist/three/webgpu-relief.d.ts +3 -0
  68. package/dist/three/webgpu-relief.d.ts.map +1 -0
  69. package/dist/three/webgpu-relief.js +61 -0
  70. package/dist/three/webgpu-relief.js.map +1 -0
  71. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ const backends = new WeakMap();
2
+ export function registerRaw3DNodeBackend(module, backend) { backends.set(module, backend); }
3
+ export function raw3DNodeBackend(module) { return backends.get(module); }
4
+ /** Call before building RAW3D groups when using a manually created node renderer. */
5
+ export async function configureRaw3DWebGPURenderer(renderer, module) {
6
+ const implementation = await import("./webgpu-native.js");
7
+ implementation.configure(renderer, module ?? await import("three/webgpu"));
8
+ }
9
+ //# sourceMappingURL=backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/three/backend.ts"],"names":[],"mappings":"AASA,MAAM,QAAQ,GAAG,IAAI,OAAO,EAA4B,CAAC;AACzD,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,OAAyB,IAAU,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5H,MAAM,UAAU,gBAAgB,CAAC,MAAc,IAAkC,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAE/G,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,QAA4B,EAAE,MAAmB;IAClG,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC1D,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type * as Three from "three";
2
+ import type { Raw3DEffectState } from "../raw3d-effects.js";
3
+ import type { Raw3DProject } from "../raw3d.js";
4
+ import type { Raw3DThreeModule } from "./raw3d.js";
5
+ export declare function configureRaw3DDrawable(object: Three.Object3D, billboard: boolean, decal: boolean, three: Raw3DThreeModule): void;
6
+ export declare function applyRaw3DThreeEffects(group: Three.Group, frame: Raw3DEffectState, project: Raw3DProject, three: Raw3DThreeModule): void;
7
+ //# sourceMappingURL=effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../src/three/effects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOnD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CA0BhI;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CA2DxI"}
@@ -0,0 +1,127 @@
1
+ import { configureRaw3DLightMaterial } from "./native-lighting.js";
2
+ import { raw3DNodeBackend } from "./backend.js";
3
+ import { configureRaw3DRelief } from "./parallax.js";
4
+ const billboardState = new WeakMap();
5
+ export function configureRaw3DDrawable(object, billboard, decal, three) {
6
+ if (billboard && !billboardState.has(object)) {
7
+ const saved = { rotation: object.quaternion.clone(), callback: object.onBeforeRender };
8
+ billboardState.set(object, saved);
9
+ const cameraRotation = new three.Quaternion(), parentRotation = new three.Quaternion();
10
+ object.onBeforeRender = function (...args) {
11
+ saved.callback.apply(this, args);
12
+ const camera = args[2];
13
+ camera.getWorldQuaternion(cameraRotation);
14
+ this.parent?.getWorldQuaternion(parentRotation);
15
+ this.quaternion.copy(parentRotation.invert()).multiply(cameraRotation);
16
+ this.updateMatrixWorld(true);
17
+ };
18
+ }
19
+ else if (!billboard && billboardState.has(object)) {
20
+ const saved = billboardState.get(object);
21
+ object.quaternion.copy(saved.rotation);
22
+ object.onBeforeRender = saved.callback;
23
+ billboardState.delete(object);
24
+ }
25
+ object.renderOrder = decal ? 1 : 0;
26
+ const drawable = object;
27
+ if (drawable.material)
28
+ for (const material of Array.isArray(drawable.material) ? drawable.material : [drawable.material]) {
29
+ material.polygonOffset = decal;
30
+ material.polygonOffsetFactor = decal ? -1 : 0;
31
+ material.polygonOffsetUnits = decal ? -1 : 0;
32
+ if (decal)
33
+ material.depthWrite = false;
34
+ configureRaw3DLightMaterial(material, three);
35
+ configureRaw3DRelief(material, three);
36
+ raw3DNodeBackend(three)?.configure(material);
37
+ }
38
+ }
39
+ export function applyRaw3DThreeEffects(group, frame, project, three) {
40
+ const sources = new Map(project.lights.map((source, index) => [source.index ?? index, source]));
41
+ const lights = [];
42
+ group.traverse(object => { if (object.userData.raw3d?.kind === "light")
43
+ lights.push(object); });
44
+ for (let light of lights) {
45
+ const index = light.userData.raw3d.index, state = frame.lights.get(index), source = sources.get(index);
46
+ if (!state || !source)
47
+ continue;
48
+ const wanted = state.type === 1 ? "PointLight" : state.type === 2 ? "SpotLight" : "DirectionalLight";
49
+ if (light.type !== wanted && light.type !== "AmbientLight") {
50
+ const parent = light.parent;
51
+ const previous = light;
52
+ previous.target?.removeFromParent();
53
+ previous.shadow?.dispose();
54
+ const backend = raw3DNodeBackend(three);
55
+ const replacement = state.type === 1 ? backend?.point() ?? new three.PointLight() : state.type === 2 ? backend?.spot() ?? new three.SpotLight() : new three.DirectionalLight();
56
+ replacement.userData = light.userData;
57
+ replacement.name = light.name;
58
+ parent.remove(light);
59
+ parent.add(replacement);
60
+ light = replacement;
61
+ }
62
+ light.visible = state.enabled;
63
+ const material = source.materialIndex === undefined ? undefined : project.materials[source.materialIndex];
64
+ if (material)
65
+ light.color.setRGB(material.red, material.green, material.blue);
66
+ if (state.materialProperties.Diffuse !== undefined)
67
+ light.color.setHex(state.materialProperties.Diffuse & 0xffffff, three.SRGBColorSpace);
68
+ if (light instanceof three.PointLight || light instanceof three.SpotLight || light instanceof three.DirectionalLight)
69
+ light.castShadow = state.castsShadows;
70
+ if (light instanceof three.PointLight || light instanceof three.SpotLight) {
71
+ light.distance = Math.max(0, state.attenuationRange);
72
+ light.decay = 0;
73
+ }
74
+ if (light instanceof three.SpotLight) {
75
+ light.angle = Math.max(.00001, Math.min(Math.PI / 2, state.spotlightOuterAngle / 2));
76
+ light.penumbra = state.spotlightOuterAngle > 0 ? Math.max(0, Math.min(1, 1 - state.spotlightInnerAngle / state.spotlightOuterAngle)) : 0;
77
+ }
78
+ if (light instanceof three.SpotLight || light instanceof three.DirectionalLight) {
79
+ light.target.position.set(0, 0, -1);
80
+ light.parent.add(light.target);
81
+ }
82
+ light.userData.raw3d.parameters = state;
83
+ }
84
+ const hasSceneState = project.sceneProperties !== undefined || project.animation.effects.tracks.some(track => track.target === "scene");
85
+ if (hasSceneState) {
86
+ let ambient = group.children.find(object => object.userData.raw3d?.kind === "scene-ambient");
87
+ if (!ambient) {
88
+ ambient = new three.AmbientLight();
89
+ ambient.userData.raw3d = { kind: "scene-ambient" };
90
+ group.add(ambient);
91
+ }
92
+ ambient.color.setRGB(...frame.scene.ambientLightColor);
93
+ let key = group.children.find(object => object.userData.raw3d?.kind === "scene-default-light");
94
+ if (!key) {
95
+ key = new three.DirectionalLight(0xffffff, 1);
96
+ key.position.set(3, 5, 4);
97
+ key.userData.raw3d = { kind: "scene-default-light" };
98
+ group.add(key);
99
+ }
100
+ key.visible = frame.scene.useDefaultLighting;
101
+ let floor = group.children.find(object => object.userData.raw3d?.kind === "scene-floor");
102
+ if (!floor && frame.scene.showDefaultFloor) {
103
+ const bounds = new three.Box3().setFromObject(group), size = bounds.getSize(new three.Vector3());
104
+ const extent = Math.max(size.x, size.z, 1) * 1.2;
105
+ floor = new three.Mesh(new three.PlaneGeometry(extent, extent), new three.MeshStandardMaterial({ color: 0x777777, roughness: 1, side: three.DoubleSide }));
106
+ floor.userData.raw3d = { kind: "scene-floor" };
107
+ const origin = project.sceneProperties?.floorOrigin ?? [];
108
+ const normal = project.sceneProperties?.floorNormal ?? [];
109
+ floor.position.set(origin[0] ?? 0, origin[1] ?? 0, -(origin[2] ?? 0));
110
+ const direction = new three.Vector3(normal[0] ?? 0, normal[1] ?? 1, -(normal[2] ?? 0));
111
+ if (direction.lengthSq() < 1e-12)
112
+ throw new Error("RAW3D floor normal must be nonzero.");
113
+ direction.normalize();
114
+ const center = bounds.isEmpty() ? floor.position.clone() : bounds.getCenter(new three.Vector3());
115
+ center.addScaledVector(direction, -center.clone().sub(floor.position).dot(direction));
116
+ floor.position.copy(center);
117
+ floor.quaternion.setFromUnitVectors(new three.Vector3(0, 0, 1), direction);
118
+ floor.receiveShadow = true;
119
+ configureRaw3DLightMaterial(floor.material, three);
120
+ group.add(floor);
121
+ }
122
+ if (floor)
123
+ floor.visible = frame.scene.showDefaultFloor;
124
+ }
125
+ group.updateMatrixWorld(true);
126
+ }
127
+ //# sourceMappingURL=effects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effects.js","sourceRoot":"","sources":["../../src/three/effects.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type * as Three from "three";
2
+ export { configureRaw3DWebGPURenderer } from "./backend.js";
2
3
  import { Demo3DMaterial, Demo3DMesh, Demo3DPackage, Demo3DProject } from "../model.js";
3
- export { createRaw3DThreeGroup, createRaw3DThreeScene, decodeRaw3DThreeGeometry, type Raw3DThreeModule, type Raw3DThreeOptions, type Raw3DThreeScene, type Raw3DThreeStats, type Raw3DThreeWarning } from "./raw3d.js";
4
+ export { createRaw3DThreeGroup, createRaw3DThreePlayback, type Raw3DThreePlayback, createRaw3DThreeScene, decodeRaw3DThreeGeometry, type Raw3DThreeModule, type Raw3DThreeOptions, type Raw3DThreeScene, type Raw3DThreeStats, type Raw3DThreeWarning } from "./raw3d.js";
4
5
  export { createDemo3DThreeRenderer, type Demo3DThreeCanvasRendererOptions, type Demo3DThreeModule, type Demo3DThreeRendererInstance, type Demo3DThreeRendererFallback, type Demo3DThreeRendererResult, type Demo3DThreeRenderBackend, type Demo3DThreeWebGPUModule } from "./renderer.js";
5
6
  export { applyDemo3DThreeRenderMode, type Demo3DThreeRenderMode, type Demo3DThreeRenderModeOptions, type Demo3DThreeRenderModeResult } from "./presentation.js";
6
7
  export type ThreeModule = typeof Three;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/three/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/three/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ export { configureRaw3DWebGPURenderer } from "./backend.js";
1
2
  import { Demo3DConveyorSideProperties, Demo3DDimensionAspect, Demo3DDimensionPoint, Demo3DExtrusionPolygon, Demo3DExtrusionProfile, Demo3DMaterial, Demo3DMesh, Demo3DPackage, Demo3DPointCloud, Demo3DProject, Demo3DPhotoEye, Demo3DResource, Demo3DSupportStand, Demo3DVisual } from "../model.js";
2
3
  import { Demo3DBinaryBlock, Demo3DXmlElement } from "../xml.js";
3
- export { createRaw3DThreeGroup, createRaw3DThreeScene, decodeRaw3DThreeGeometry } from "./raw3d.js";
4
+ export { createRaw3DThreeGroup, createRaw3DThreePlayback, createRaw3DThreeScene, decodeRaw3DThreeGeometry } from "./raw3d.js";
4
5
  export { createDemo3DThreeRenderer } from "./renderer.js";
5
6
  export { applyDemo3DThreeRenderMode } from "./presentation.js";
6
7
  export async function createDemo3DThreeScene(parsed, options = {}) {