@jfk-solutions/demo3d-file-format 1.8.0 → 1.10.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 (75) hide show
  1. package/README.md +225 -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/model.d.ts +1 -0
  9. package/dist/model.d.ts.map +1 -1
  10. package/dist/model.js +6 -0
  11. package/dist/model.js.map +1 -1
  12. package/dist/raw3d-animation.d.ts +63 -0
  13. package/dist/raw3d-animation.d.ts.map +1 -0
  14. package/dist/raw3d-animation.js +200 -0
  15. package/dist/raw3d-animation.js.map +1 -0
  16. package/dist/raw3d-effects.d.ts +66 -0
  17. package/dist/raw3d-effects.d.ts.map +1 -0
  18. package/dist/raw3d-effects.js +172 -0
  19. package/dist/raw3d-effects.js.map +1 -0
  20. package/dist/raw3d-skinning.d.ts +8 -0
  21. package/dist/raw3d-skinning.d.ts.map +1 -0
  22. package/dist/raw3d-skinning.js +37 -0
  23. package/dist/raw3d-skinning.js.map +1 -0
  24. package/dist/raw3d.d.ts +77 -2
  25. package/dist/raw3d.d.ts.map +1 -1
  26. package/dist/raw3d.js +103 -7
  27. package/dist/raw3d.js.map +1 -1
  28. package/dist/rigid-interpolation.d.ts +16 -0
  29. package/dist/rigid-interpolation.d.ts.map +1 -0
  30. package/dist/rigid-interpolation.js +52 -0
  31. package/dist/rigid-interpolation.js.map +1 -0
  32. package/dist/three/backend.d.ts +13 -0
  33. package/dist/three/backend.d.ts.map +1 -0
  34. package/dist/three/backend.js +9 -0
  35. package/dist/three/backend.js.map +1 -0
  36. package/dist/three/effects.d.ts +7 -0
  37. package/dist/three/effects.d.ts.map +1 -0
  38. package/dist/three/effects.js +127 -0
  39. package/dist/three/effects.js.map +1 -0
  40. package/dist/three/index.d.ts +2 -1
  41. package/dist/three/index.d.ts.map +1 -1
  42. package/dist/three/index.js +72 -14
  43. package/dist/three/index.js.map +1 -1
  44. package/dist/three/native-lighting.d.ts +5 -0
  45. package/dist/three/native-lighting.d.ts.map +1 -0
  46. package/dist/three/native-lighting.js +86 -0
  47. package/dist/three/native-lighting.js.map +1 -0
  48. package/dist/three/parallax.d.ts +5 -0
  49. package/dist/three/parallax.d.ts.map +1 -0
  50. package/dist/three/parallax.js +63 -0
  51. package/dist/three/parallax.js.map +1 -0
  52. package/dist/three/raw3d.d.ts +25 -0
  53. package/dist/three/raw3d.d.ts.map +1 -1
  54. package/dist/three/raw3d.js +404 -16
  55. package/dist/three/raw3d.js.map +1 -1
  56. package/dist/three/renderer.d.ts.map +1 -1
  57. package/dist/three/renderer.js +3 -0
  58. package/dist/three/renderer.js.map +1 -1
  59. package/dist/three/skinning.d.ts +11 -0
  60. package/dist/three/skinning.d.ts.map +1 -0
  61. package/dist/three/skinning.js +92 -0
  62. package/dist/three/skinning.js.map +1 -0
  63. package/dist/three/tsl.d.ts +60 -0
  64. package/dist/three/tsl.d.ts.map +1 -0
  65. package/dist/three/tsl.js +3 -0
  66. package/dist/three/tsl.js.map +1 -0
  67. package/dist/three/webgpu-native.d.ts +3 -0
  68. package/dist/three/webgpu-native.d.ts.map +1 -0
  69. package/dist/three/webgpu-native.js +58 -0
  70. package/dist/three/webgpu-native.js.map +1 -0
  71. package/dist/three/webgpu-relief.d.ts +3 -0
  72. package/dist/three/webgpu-relief.d.ts.map +1 -0
  73. package/dist/three/webgpu-relief.js +61 -0
  74. package/dist/three/webgpu-relief.js.map +1 -0
  75. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,4 +1,12 @@
1
1
  export { parseDemo3D, type ParseDemo3DOptions } from "./parser.js";
2
+ export { Raw3DAnimation, Raw3DInterpolationMode, type Raw3DAnimationTrack, type Raw3DAnimationWarning, type Raw3DAnimationValue, type Raw3DNodeState } from "./raw3d-animation.js";
3
+ export { interpolateRaw3DDualQuaternion, raw3DQuaternionFromRotation, raw3DRotationFromQuaternion, type Raw3DRigidTransform, type Raw3DQuaternion, type Raw3DVector3 } from "./rigid-interpolation.js";
4
+ export { Raw3DSceneProperties } from "./raw3d.js";
5
+ export { Raw3DBone, Raw3DUIButton } from "./raw3d.js";
6
+ export { Raw3DStreamableTexture } from "./raw3d.js";
7
+ export type { Raw3DAnimationOptions, Raw3DStringKeyRequest } from "./raw3d-effects.js";
8
+ export { Raw3DEffects, evaluateRaw3DLightAttenuation, type Raw3DEffectState, type Raw3DEffectTrack, type Raw3DLightState, type Raw3DUIState, type Raw3DSceneState } from "./raw3d-effects.js";
9
+ export { decodeRaw3DSkinInfluences, type Raw3DSkinInfluence } from "./raw3d-skinning.js";
2
10
  export { Demo3DPackage, Demo3DProject, Demo3DHeader, Demo3DView, Demo3DLayer, Demo3DVector2, Demo3DExtrusionPolygon, Demo3DExtrusionProfile, Demo3DSupportStand, Demo3DSupportStandProperties, Demo3DConveyorSideProperties, Demo3DPhotoEye, Demo3DPhotoEyeProperties, Demo3DDimensionAspect, Demo3DDimensionPoint, Demo3DVisual, Demo3DMesh, Demo3DPointCloud, Demo3DPointCloudPrimitive, Demo3DMaterial, Demo3DResource, Demo3DReference, Demo3DTypedObject, Demo3DUnknownObject, registerDemo3DType, type Demo3DTypeConstructor, type Demo3DExternalMeshData } from "./model.js";
3
11
  export { Demo3DBinaryBlock, Demo3DXmlElement, type Demo3DScalarValue, type Demo3DXmlAttribute, type ParseXmlDocument } from "./xml.js";
4
12
  export { parseDemo3DXmlFast } from "./fast-xml.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClG,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACnL,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACvM,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC9L,OAAO,EAAE,yBAAyB,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClG,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,11 @@
1
1
  export { parseDemo3D } from "./parser.js";
2
+ export { Raw3DAnimation, Raw3DInterpolationMode } from "./raw3d-animation.js";
3
+ export { interpolateRaw3DDualQuaternion, raw3DQuaternionFromRotation, raw3DRotationFromQuaternion } from "./rigid-interpolation.js";
4
+ export { Raw3DSceneProperties } from "./raw3d.js";
5
+ export { Raw3DBone, Raw3DUIButton } from "./raw3d.js";
6
+ export { Raw3DStreamableTexture } from "./raw3d.js";
7
+ export { Raw3DEffects, evaluateRaw3DLightAttenuation } from "./raw3d-effects.js";
8
+ export { decodeRaw3DSkinInfluences } from "./raw3d-skinning.js";
2
9
  export { Demo3DPackage, Demo3DProject, Demo3DHeader, Demo3DView, Demo3DLayer, Demo3DVector2, Demo3DExtrusionPolygon, Demo3DExtrusionProfile, Demo3DSupportStand, Demo3DSupportStandProperties, Demo3DConveyorSideProperties, Demo3DPhotoEye, Demo3DPhotoEyeProperties, Demo3DDimensionAspect, Demo3DDimensionPoint, Demo3DVisual, Demo3DMesh, Demo3DPointCloud, Demo3DPointCloudPrimitive, Demo3DMaterial, Demo3DResource, Demo3DReference, Demo3DTypedObject, Demo3DUnknownObject, registerDemo3DType } from "./model.js";
3
10
  export { Demo3DBinaryBlock, Demo3DXmlElement } from "./xml.js";
4
11
  export { parseDemo3DXmlFast } from "./fast-xml.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,MAAM,aAAa,CAAC;AACnE,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAIjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAqB,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElG,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAEjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAuG,MAAM,sBAAsB,CAAC;AACnL,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,2BAA2B,EAAqE,MAAM,0BAA0B,CAAC;AACvM,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAA+G,MAAM,oBAAoB,CAAC;AAC9L,OAAO,EAAE,yBAAyB,EAA2B,MAAM,qBAAqB,CAAC;AACzF,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAIjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAqB,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElG,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAEjB,MAAM,YAAY,CAAC"}
package/dist/model.d.ts CHANGED
@@ -45,6 +45,7 @@ export declare class Demo3DMaterial extends Demo3DTypedObject {
45
45
  get reflectivity(): number | undefined;
46
46
  get transparency(): number | undefined;
47
47
  get textureReference(): string | undefined;
48
+ get normalTextureReference(): string | undefined;
48
49
  }
49
50
  export interface Demo3DExternalMeshData {
50
51
  readonly meshFormat: string;
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB;IACpF,KAAK,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,CAAC,CAAC;CAClD;AAID,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,GAAG,IAAI,CAE7F;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,iBAAiB,CAI1E;AAED,qBAAa,iBAAiB;aACA,QAAQ,EAAE,MAAM;aAAkB,GAAG,EAAE,gBAAgB;IAAnF,YAA4B,QAAQ,EAAE,MAAM,EAAkB,GAAG,EAAE,gBAAgB,EAAI;IAEvF,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAErD;IAED,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEtD;CACF;AAED,qBAAa,mBAAoB,SAAQ,iBAAiB;CAAG;AAE7D,qBAAa,eAAe;aAER,EAAE,EAAE,MAAM;aACV,QAAQ,CAAC,EAAE,MAAM;aACjB,MAAM,CAAC,EAAE,gBAAgB;IAH3C,YACkB,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,MAAM,CAAC,EAAE,gBAAgB,YAAA,EACvC;CACL;AAED,qBAAa,YAAY;aAEL,EAAE,CAAC,EAAE,MAAM;aACX,MAAM,CAAC,EAAE,MAAM;aACf,OAAO,CAAC,EAAE,MAAM;aAChB,OAAO,CAAC,EAAE,MAAM;aAChB,OAAO,CAAC,EAAE,MAAM;aAChB,YAAY,CAAC,EAAE,MAAM;aACrB,UAAU,CAAC,EAAE,MAAM;IAPrC,YACkB,EAAE,CAAC,EAAE,MAAM,YAAA,EACX,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,YAAY,CAAC,EAAE,MAAM,YAAA,EACrB,UAAU,CAAC,EAAE,MAAM,YAAA,EACjC;IAEJ,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAWnD;CACF;AAED,0DAA0D;AAC1D,qBAAa,UAAU;aAEH,IAAI,EAAE,MAAM;aACZ,QAAQ,EAAE,SAAS,MAAM,EAAE;aAC3B,MAAM,EAAE,SAAS,MAAM,EAAE;IAH3C,YACkB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,MAAM,EAAE,SAAS,MAAM,EAAE,EACvC;CACL;AAED,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAOzC;IAED,IAAI,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAO/C;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;CACjC;AAED,qBAAa,UAAW,SAAQ,iBAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAEvC,YAAY,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,sBAAsB,EAiBlG;IAED,IAAa,EAAE,IAAI,MAAM,GAAG,SAAS,CAEpC;CACF;AAED,qBAAa,yBAAyB;aACR,GAAG,EAAE,gBAAgB;IAAjD,YAA4B,GAAG,EAAE,gBAAgB,EAAI;IAErD,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;CACF;AAED,qBAAa,gBAAiB,SAAQ,iBAAiB;IAGA,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAFlF,OAAO,CAAC,eAAe,CAAC,CAAuC;IAE/D,YAAY,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAmB,WAAW,CAAC,EAAE,MAAM,YAAA,EAEzF;IAED,IAAa,EAAE,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,UAAU,IAAI,SAAS,yBAAyB,EAAE,CAGrD;CACF;AAED,qBAAa,YAAa,SAAQ,iBAAiB;IACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAM;IAEvC,YAAY,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EASlD;CACF;AAED,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAKlD;CACF;AAED,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,OAAO,CAAC,WAAW,CAAC,CAA2B;IAC/C,OAAO,CAAC,cAAc,CAAC,CAA4B;IACnD,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC,IAAI,MAAM,IAAI,SAAS,aAAa,EAAE,CAIrC;IAED,IAAI,SAAS,IAAI,SAAS,cAAc,EAAE,CAIzC;IAED,IAAI,MAAM,IAAI,SAAS,OAAO,EAAE,CAG/B;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;CACF;AAED,qBAAa,sBAAsB;aAIL,GAAG,EAAE,gBAAgB;IAHjD,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAoC;IAE1D,YAA4B,GAAG,EAAE,gBAAgB,EAAI;IAErD,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,MAAM,IAAI,aAAa,CAG1B;IAED,IAAI,QAAQ,IAAI,SAAS,sBAAsB,EAAE,CAIhD;CACF;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,IAAI,UAAU,IAAI,sBAAsB,GAAG,SAAS,CAEnD;IAED,IAAI,WAAW,IAAI,sBAAsB,GAAG,SAAS,CAEpD;IAED,IAAI,iBAAiB,IAAI,sBAAsB,GAAG,SAAS,CAE1D;IAED,IAAI,iBAAiB,IAAI,sBAAsB,GAAG,SAAS,CAE1D;IAED,IAAI,cAAc,IAAI,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAEpD;IAED,IAAI,iBAAiB,IAAI,SAAS,MAAM,EAAE,CAEzC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAI,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAE3C;IAED,IAAI,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAE3C;CACF;AAED,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,sBAAsB,CAAC,CAA+B;IAE9D,IAAI,iBAAiB,IAAI,4BAA4B,GAAG,SAAS,CAQhE;CACF;AAED,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,IAAI,OAAO,IAAI,sBAAsB,GAAG,SAAS,CAEhD;IAED,IAAI,QAAQ,IAAI,cAAc,GAAG,SAAS,CAEzC;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;CACF;AAED,qBAAa,wBAAyB,SAAQ,iBAAiB;IAC7D,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;CACF;AAED,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,uBAAuB,CAAC,CAA2B;IAE3D,IAAI,kBAAkB,IAAI,wBAAwB,GAAG,SAAS,CAQ7D;CACF;AAED,qBAAa,oBAAoB;aAIH,GAAG,EAAE,gBAAgB;IAHjD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,YAA4B,GAAG,EAAE,gBAAgB,EAGhD;CACF;AAED,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,IAAI,KAAK,IAAI,oBAAoB,GAAG,SAAS,CAG5C;IAED,IAAI,GAAG,IAAI,oBAAoB,GAAG,SAAS,CAG1C;IAED,IAAI,kBAAkB,IAAI,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAExD;IAED,IAAI,kBAAkB,IAAI,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAExD;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,UAAU,IAAI,sBAAsB,GAAG,SAAS,CAEnD;IAED,IAAI,QAAQ,IAAI,sBAAsB,GAAG,SAAS,CAEjD;IAED,IAAI,QAAQ,IAAI,cAAc,GAAG,SAAS,CAEzC;CACF;AAED,qBAAa,WAAY,SAAQ,iBAAiB;IAKK,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAJpF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/C,YAAY,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAmB,aAAa,CAAC,EAAE,MAAM,YAAA,EAK3F;IAED,IAAa,IAAI,IAAI,MAAM,CAE1B;CACF;AAED,qBAAa,cAAc;aAEP,IAAI,EAAE,MAAM;aACZ,KAAK,EAAE,YAAY;aACnB,IAAI,CAAC,EAAE,UAAU;IAHnC,YACkB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,YAAY,EACnB,IAAI,CAAC,EAAE,UAAU,YAAA,EAC/B;CACL;AAED,qBAAa,aAAa;aAEN,IAAI,EAAE,gBAAgB;aACtB,MAAM,EAAE,YAAY;aACpB,WAAW,EAAE,MAAM,GAAG,SAAS;aAC/B,KAAK,EAAE,SAAS,UAAU,EAAE;aAC5B,MAAM,EAAE,SAAS,UAAU,EAAE;aAC7B,WAAW,EAAE,SAAS,gBAAgB,EAAE;aACxC,MAAM,EAAE,SAAS,WAAW,EAAE;aAC9B,OAAO,EAAE,SAAS,YAAY,EAAE;aAChC,YAAY,EAAE,SAAS,iBAAiB,EAAE;aAC1C,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;IAV3D,YACkB,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,WAAW,EAAE,SAAS,gBAAgB,EAAE,EACxC,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,YAAY,EAAE,SAAS,iBAAiB,EAAE,EAC1C,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACvD;CACL;AAED,qBAAa,aAAa;aAEN,OAAO,EAAE,SAAS,YAAY,EAAE;aAChC,cAAc,EAAE,MAAM;aACtB,QAAQ,EAAE,MAAM;aAChB,KAAK,EAAE,aAAa;aACpB,SAAS,CAAC,EAAE,cAAc;aAC1B,SAAS,EAAE,SAAS,cAAc,EAAE;aACpC,OAAO,EAAE,SAAS,cAAc,EAAE;IAPpD,YACkB,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,EACpB,SAAS,CAAC,EAAE,cAAc,YAAA,EAC1B,SAAS,GAAE,SAAS,cAAc,EAAO,EACzC,OAAO,GAAE,SAAS,cAAc,EAAO,EACrD;CACL;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,gBAAgB,EACtB,cAAc,GAAE,SAAS,UAAU,EAAO,GACzC,aAAa,CAqBf"}
package/dist/model.js CHANGED
@@ -89,6 +89,12 @@ export class Demo3DMaterial extends Demo3DTypedObject {
89
89
  this.xml.textOf("TextureReference") ??
90
90
  this.xml.textOf("Texture"));
91
91
  }
92
+ get normalTextureReference() {
93
+ return (this.xml.child("NormalTextureReference")?.textOf("Id") ??
94
+ this.xml.child("NormalTexture")?.textOf("Id") ??
95
+ this.xml.textOf("NormalTextureReference") ??
96
+ this.xml.textOf("NormalTexture"));
97
+ }
92
98
  }
93
99
  export class Demo3DMesh extends Demo3DTypedObject {
94
100
  referenceId;
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { Raw3DProject } from "./raw3d.js";
2
+ import type { Demo3DXmlElement } from "./xml.js";
3
+ import { Raw3DEffects, type Raw3DEffectState } from "./raw3d-effects.js";
4
+ import { type Raw3DQuaternion } from "./rigid-interpolation.js";
5
+ /** Values verified against the Emulate3D 2026 Raw SDK enum. */
6
+ export declare enum Raw3DInterpolationMode {
7
+ Default = 0,
8
+ None = 1,
9
+ Linear = 2,
10
+ DualQuaternion = 3
11
+ }
12
+ export type Raw3DAnimationValue = number | boolean;
13
+ export interface Raw3DAnimationTrack {
14
+ readonly kind: string;
15
+ readonly nodeIndex: number;
16
+ readonly name?: string;
17
+ readonly materialIndex: number;
18
+ readonly times: readonly number[];
19
+ readonly values: readonly Raw3DAnimationValue[];
20
+ readonly xml: Demo3DXmlElement;
21
+ }
22
+ export interface Raw3DAnimationWarning {
23
+ readonly code: string;
24
+ readonly message: string;
25
+ readonly xml: Demo3DXmlElement;
26
+ }
27
+ export interface Raw3DNodeState {
28
+ location: [number, number, number];
29
+ rotation: [number, number, number];
30
+ quaternion: Raw3DQuaternion;
31
+ scale: [number, number, number];
32
+ visible: boolean;
33
+ deleted: boolean;
34
+ parentIndex?: number;
35
+ meshIndex?: number;
36
+ layerIndex?: number;
37
+ interpolationMode: Raw3DInterpolationMode;
38
+ interactionMode?: number;
39
+ highlight: number;
40
+ hasBeenOptimized: boolean;
41
+ userData?: string;
42
+ clientOwner?: string;
43
+ isBillboard: boolean;
44
+ isDecal: boolean;
45
+ readonly materialProperties: Record<number, Record<string, number>>;
46
+ }
47
+ /** Pure, seekable animation data. No renderer, clock, DOM or Three.js dependency. */
48
+ export declare class Raw3DAnimation {
49
+ readonly tracks: readonly Raw3DAnimationTrack[];
50
+ readonly warnings: readonly Raw3DAnimationWarning[];
51
+ readonly duration: number;
52
+ readonly effects: Raw3DEffects;
53
+ private readonly byNode;
54
+ private readonly rigidTimes;
55
+ private readonly nodes;
56
+ constructor(project: Raw3DProject);
57
+ sample(time: number): ReadonlyMap<number, Raw3DNodeState>;
58
+ sampleFrame(time: number): Raw3DEffectState & {
59
+ readonly nodes: ReadonlyMap<number, Raw3DNodeState>;
60
+ };
61
+ sampleNode(nodeIndex: number, time: number): Raw3DNodeState;
62
+ }
63
+ //# sourceMappingURL=raw3d-animation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw3d-animation.d.ts","sourceRoot":"","sources":["../src/raw3d-animation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ import { Raw3DEffects, isRaw3DEffectChannel } from "./raw3d-effects.js";
2
+ import { interpolateRaw3DDualQuaternion, raw3DQuaternionFromRotation, raw3DRotationFromQuaternion } from "./rigid-interpolation.js";
3
+ /** Values verified against the Emulate3D 2026 Raw SDK enum. */
4
+ export var Raw3DInterpolationMode;
5
+ (function (Raw3DInterpolationMode) {
6
+ Raw3DInterpolationMode[Raw3DInterpolationMode["Default"] = 0] = "Default";
7
+ Raw3DInterpolationMode[Raw3DInterpolationMode["None"] = 1] = "None";
8
+ Raw3DInterpolationMode[Raw3DInterpolationMode["Linear"] = 2] = "Linear";
9
+ Raw3DInterpolationMode[Raw3DInterpolationMode["DualQuaternion"] = 3] = "DualQuaternion";
10
+ })(Raw3DInterpolationMode || (Raw3DInterpolationMode = {}));
11
+ const continuous = new Set(["X", "Y", "Z", "RX", "RY", "RZ", "SX", "SY", "SZ"]);
12
+ const discrete = new Set(["Visible", "Delete", "Parent", "Mesh", "Layer", "InterpolationMode", "InteractionMode", "Highlight", "HasBeenOptimized"]);
13
+ const materialProperties = new Set(["Diffuse", "U", "V", "ScaleU", "ScaleV", "Reflectivity", "Transparency", "Luminosity", "NormalScale", "PointSize", "Texture", "NormalMap", "NormalTexture", "NormalDepth", "StreamableTexture"]);
14
+ const discreteMaterialProperties = new Set(["Diffuse", "Texture", "NormalMap", "NormalTexture", "StreamableTexture"]);
15
+ const attribute = (xml, name) => xml.attributes.find(a => a.localName === name)?.value;
16
+ const tokens = (text) => text?.trim().split(/\s+/).filter(Boolean) ?? [];
17
+ const triple = (values, fallback) => [values[0] ?? fallback, values[1] ?? fallback, values[2] ?? fallback];
18
+ /** Pure, seekable animation data. No renderer, clock, DOM or Three.js dependency. */
19
+ export class Raw3DAnimation {
20
+ tracks;
21
+ warnings;
22
+ duration;
23
+ effects;
24
+ byNode = new Map();
25
+ rigidTimes = new Map();
26
+ nodes;
27
+ constructor(project) {
28
+ this.effects = new Raw3DEffects(project, project.animationOptions);
29
+ this.nodes = new Map(project.nodes.map(node => [node.index, node]));
30
+ const tracks = [], warnings = [];
31
+ let duration = 0;
32
+ for (const xml of project.root.child("Updates")?.children ?? []) {
33
+ const times = tokens(attribute(xml, "Time")).map(Number);
34
+ if (times.some((time, i) => !Number.isFinite(time) || time < 0 || (i > 0 && time < times[i - 1])))
35
+ throw new Error(`Invalid RAW3D ${xml.localName} key times.`);
36
+ duration = Math.max(duration, times.at(-1) ?? 0);
37
+ const kind = xml.localName, name = attribute(xml, "Name");
38
+ if (isRaw3DEffectChannel(kind))
39
+ continue;
40
+ if (!continuous.has(kind) && !discrete.has(kind) && !(kind === "Material" && materialProperties.has(name ?? ""))) {
41
+ warnings.push({ code: "RAW3D_ANIMATION_CHANNEL_UNSUPPORTED", message: `Unsupported RAW3D animation channel ${kind}${name ? `:${name}` : ""}.`, xml });
42
+ continue;
43
+ }
44
+ const nodeIndex = Number(attribute(xml, "Node") ?? NaN);
45
+ const materialIndex = Number(attribute(xml, "Index") ?? 0);
46
+ if (!Number.isInteger(nodeIndex) || !this.nodes.has(nodeIndex))
47
+ throw new Error(`Invalid RAW3D ${kind} node index ${nodeIndex}.`);
48
+ if (!Number.isInteger(materialIndex) || materialIndex < 0)
49
+ throw new Error("Invalid RAW3D material slot.");
50
+ const boolean = kind === "Visible" || kind === "Delete" || kind === "HasBeenOptimized";
51
+ const values = tokens(attribute(xml, "Value")).map(value => {
52
+ if (boolean) {
53
+ if (!/^(true|false|0|1)$/i.test(value))
54
+ throw new Error(`Invalid RAW3D ${kind} boolean.`);
55
+ return /^(true|1)$/i.test(value);
56
+ }
57
+ if (name === "Diffuse") {
58
+ if (!/^(?:0x)?[a-f\d]{1,8}$/i.test(value))
59
+ throw new Error("Invalid RAW3D diffuse ARGB value.");
60
+ return Number.parseInt(value.replace(/^0x/i, ""), 16);
61
+ }
62
+ return Number(value);
63
+ });
64
+ if (!times.length || times.length !== values.length || values.some(value => typeof value === "number" && !Number.isFinite(value)))
65
+ throw new Error(`Invalid RAW3D ${kind} key values.`);
66
+ if (kind === "InterpolationMode" && values.some(value => !Number.isInteger(value) || Number(value) < 0 || Number(value) > 3))
67
+ throw new Error("Unsupported RAW3D interpolation mode.");
68
+ if (kind === "Material" && ["Texture", "NormalMap", "NormalTexture", "StreamableTexture"].includes(name ?? "") && values.some(value => !Number.isInteger(value)))
69
+ throw new Error("Invalid RAW3D texture reference.");
70
+ if (["Parent", "Mesh", "Layer", "InteractionMode", "Highlight"].includes(kind) && values.some(value => !Number.isInteger(value)))
71
+ throw new Error(`Invalid RAW3D ${kind} integer value.`);
72
+ const track = { kind, name, nodeIndex, materialIndex, times, values, xml };
73
+ tracks.push(track);
74
+ const group = this.byNode.get(nodeIndex) ?? [];
75
+ group.push(track);
76
+ this.byNode.set(nodeIndex, group);
77
+ }
78
+ for (const [node, group] of this.byNode) {
79
+ this.rigidTimes.set(node, [...new Set(group.filter(track => ["X", "Y", "Z", "RX", "RY", "RZ"].includes(track.kind)).flatMap(track => [...track.times]))].sort((a, b) => a - b));
80
+ }
81
+ this.tracks = tracks;
82
+ this.warnings = [...warnings, ...this.effects.warnings];
83
+ this.duration = duration;
84
+ }
85
+ sample(time) {
86
+ if (!Number.isFinite(time))
87
+ throw new RangeError("Animation time must be finite.");
88
+ return new Map([...this.nodes.keys()].map(index => [index, this.sampleNode(index, Math.max(0, time))]));
89
+ }
90
+ sampleFrame(time) {
91
+ return { nodes: this.sample(time), ...this.effects.sample(time) };
92
+ }
93
+ sampleNode(nodeIndex, time) {
94
+ if (!Number.isFinite(time))
95
+ throw new RangeError("Animation time must be finite.");
96
+ const node = this.nodes.get(nodeIndex);
97
+ if (!node)
98
+ throw new RangeError(`RAW3D node ${nodeIndex} is missing.`);
99
+ time = Math.max(0, time);
100
+ const tracks = this.byNode.get(nodeIndex) ?? [];
101
+ const state = {
102
+ location: triple(node.location, 0), rotation: triple(node.rotation, 0), scale: triple(node.scale, 1),
103
+ quaternion: raw3DQuaternionFromRotation(node.rotation), visible: node.visible, deleted: false,
104
+ parentIndex: node.parentIndex, meshIndex: node.meshIndex, layerIndex: node.layerIndex,
105
+ interpolationMode: node.interpolationMode, interactionMode: node.interactionMode,
106
+ highlight: node.highlight, hasBeenOptimized: node.hasBeenOptimized, materialProperties: {},
107
+ userData: node.userData, clientOwner: node.clientOwner, isBillboard: node.isBillboard, isDecal: node.isDecal
108
+ };
109
+ Object.assign(state, this.effects.sampleNode(nodeIndex, time));
110
+ for (const track of tracks.filter(track => track.kind === "InterpolationMode")) {
111
+ state.interpolationMode = (sampleTrack(track, time, false) ?? state.interpolationMode);
112
+ }
113
+ for (const track of tracks) {
114
+ const value = sampleTrack(track, time, state.interpolationMode !== Raw3DInterpolationMode.None);
115
+ if (value === undefined)
116
+ continue;
117
+ const numeric = Number(value), axis = "XYZ".indexOf(track.kind.at(-1));
118
+ if (track.kind.length === 1 && axis >= 0)
119
+ state.location[axis] = numeric;
120
+ else if (track.kind.startsWith("R") && axis >= 0)
121
+ state.rotation[axis] = numeric;
122
+ else if (track.kind.startsWith("S") && axis >= 0)
123
+ state.scale[axis] = numeric;
124
+ else
125
+ switch (track.kind) {
126
+ case "Visible":
127
+ state.visible = Boolean(value);
128
+ break;
129
+ case "Delete":
130
+ state.deleted = Boolean(value);
131
+ break;
132
+ case "Parent":
133
+ state.parentIndex = numeric < 0 ? undefined : numeric;
134
+ break;
135
+ case "Mesh":
136
+ state.meshIndex = numeric < 0 ? undefined : numeric;
137
+ break;
138
+ case "Layer":
139
+ state.layerIndex = numeric < 0 ? undefined : numeric;
140
+ break;
141
+ case "InteractionMode":
142
+ state.interactionMode = numeric;
143
+ break;
144
+ case "Highlight":
145
+ state.highlight = numeric;
146
+ break;
147
+ case "HasBeenOptimized":
148
+ state.hasBeenOptimized = Boolean(value);
149
+ break;
150
+ case "Material":
151
+ (state.materialProperties[track.materialIndex] ??= {})[track.name] = numeric;
152
+ break;
153
+ }
154
+ }
155
+ state.quaternion = raw3DQuaternionFromRotation(state.rotation);
156
+ if (state.interpolationMode === Raw3DInterpolationMode.DualQuaternion) {
157
+ const rigidTracks = tracks.filter(track => ["X", "Y", "Z", "RX", "RY", "RZ"].includes(track.kind));
158
+ const times = this.rigidTimes.get(nodeIndex) ?? [];
159
+ const rightIndex = times.findIndex(value => value > time);
160
+ const left = times[rightIndex < 0 ? times.length - 1 : rightIndex - 1], right = times[rightIndex];
161
+ if (left !== undefined && right !== undefined) {
162
+ const pose = (at) => {
163
+ const position = triple(node.location, 0), rotation = triple(node.rotation, 0);
164
+ for (const track of rigidTracks) {
165
+ const value = sampleTrack(track, at, true);
166
+ if (value !== undefined)
167
+ (track.kind.startsWith("R") ? rotation : position)["XYZ".indexOf(track.kind.at(-1))] = Number(value);
168
+ }
169
+ return { position, quaternion: raw3DQuaternionFromRotation(rotation) };
170
+ };
171
+ const result = interpolateRaw3DDualQuaternion(pose(left), pose(right), (time - left) / (right - left));
172
+ state.location = [...result.position];
173
+ state.quaternion = result.quaternion;
174
+ state.rotation = [...raw3DRotationFromQuaternion(result.quaternion)];
175
+ }
176
+ }
177
+ return state;
178
+ }
179
+ }
180
+ function sampleTrack(track, time, interpolate) {
181
+ if (time < track.times[0])
182
+ return undefined;
183
+ let low = 0, high = track.times.length;
184
+ while (low < high) {
185
+ const middle = (low + high) >>> 1;
186
+ if (track.times[middle] <= time)
187
+ low = middle + 1;
188
+ else
189
+ high = middle;
190
+ }
191
+ const index = low - 1, value = track.values[index];
192
+ const linear = continuous.has(track.kind) || (track.kind === "Material" && !discreteMaterialProperties.has(track.name));
193
+ if (!interpolate || !linear || index === track.times.length - 1)
194
+ return value;
195
+ let delta = Number(track.values[index + 1]) - Number(value);
196
+ if (track.kind.startsWith("R"))
197
+ delta = Math.atan2(Math.sin(delta), Math.cos(delta));
198
+ return Number(value) + delta * (time - track.times[index]) / (track.times[index + 1] - track.times[index]);
199
+ }
200
+ //# sourceMappingURL=raw3d-animation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw3d-animation.js","sourceRoot":"","sources":["../src/raw3d-animation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { Raw3DProject } from "./raw3d.js";
2
+ import type { Demo3DXmlElement } from "./xml.js";
3
+ import type { Raw3DAnimationWarning } from "./raw3d-animation.js";
4
+ export interface Raw3DLightState {
5
+ enabled: boolean;
6
+ type: number;
7
+ attenuationRange: number;
8
+ attenuationConstant: number;
9
+ attenuationLinear: number;
10
+ attenuationQuadratic: number;
11
+ spotlightFalloff: number;
12
+ spotlightInnerAngle: number;
13
+ spotlightOuterAngle: number;
14
+ castsShadows: boolean;
15
+ materialProperties: Record<string, number>;
16
+ }
17
+ export interface Raw3DUIState {
18
+ name: string;
19
+ id?: string;
20
+ visible: boolean;
21
+ checked: boolean;
22
+ }
23
+ export interface Raw3DSceneState {
24
+ showDefaultFloor: boolean;
25
+ allowTeleportOnDefaultFloor: boolean;
26
+ useDefaultLighting: boolean;
27
+ ambientLightColor: [number, number, number];
28
+ }
29
+ export interface Raw3DEffectState {
30
+ readonly lights: ReadonlyMap<number, Raw3DLightState>;
31
+ readonly buttons: ReadonlyMap<number, Raw3DUIState>;
32
+ readonly scene: Raw3DSceneState;
33
+ }
34
+ export interface Raw3DEffectTrack {
35
+ readonly kind: string;
36
+ readonly target: "node" | "light" | "scene" | "ui";
37
+ readonly index: number;
38
+ readonly property: string;
39
+ readonly times: readonly number[];
40
+ readonly values: readonly (number | boolean | string)[];
41
+ readonly xml: Demo3DXmlElement;
42
+ }
43
+ export interface Raw3DStringKeyRequest {
44
+ readonly xml: Demo3DXmlElement;
45
+ readonly nodeIndex: number;
46
+ readonly property: string;
47
+ readonly times: readonly number[];
48
+ readonly encoded: string;
49
+ }
50
+ export interface Raw3DAnimationOptions {
51
+ /** Supply authoritative keys, for example from a sidecar, without guessing native string boundaries. */
52
+ readonly resolveStringKeys?: (request: Raw3DStringKeyRequest) => readonly string[] | undefined;
53
+ }
54
+ export declare const isRaw3DEffectChannel: (kind: string) => boolean;
55
+ /** Native non-transform updates, independent of presentation and interaction. */
56
+ export declare class Raw3DEffects {
57
+ private readonly project;
58
+ readonly tracks: readonly Raw3DEffectTrack[];
59
+ readonly warnings: readonly Raw3DAnimationWarning[];
60
+ constructor(project: Raw3DProject, options?: Raw3DAnimationOptions);
61
+ sampleNode(index: number, time: number): Record<string, number | boolean | string>;
62
+ sample(time: number): Raw3DEffectState;
63
+ }
64
+ /** Native distance/cone attenuation, usable by renderers other than Three.js. */
65
+ export declare function evaluateRaw3DLightAttenuation(light: Raw3DLightState, distance: number, cosine?: number): number;
66
+ //# sourceMappingURL=raw3d-effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw3d-effects.d.ts","sourceRoot":"","sources":["../src/raw3d-effects.ts"],"names":[],"mappings":"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"}