three-cad-viewer 4.1.2 → 4.2.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 (58) hide show
  1. package/Readme.md +12 -5
  2. package/dist/camera/camera.d.ts +14 -2
  3. package/dist/core/studio-manager.d.ts +91 -0
  4. package/dist/core/types.d.ts +260 -9
  5. package/dist/core/viewer-state.d.ts +28 -2
  6. package/dist/core/viewer.d.ts +200 -6
  7. package/dist/index.d.ts +7 -2
  8. package/dist/rendering/environment.d.ts +239 -0
  9. package/dist/rendering/light-detection.d.ts +44 -0
  10. package/dist/rendering/material-factory.d.ts +77 -2
  11. package/dist/rendering/material-presets.d.ts +32 -0
  12. package/dist/rendering/room-environment.d.ts +13 -0
  13. package/dist/rendering/studio-composer.d.ts +130 -0
  14. package/dist/rendering/studio-floor.d.ts +53 -0
  15. package/dist/rendering/texture-cache.d.ts +142 -0
  16. package/dist/rendering/triplanar.d.ts +37 -0
  17. package/dist/scene/animation.d.ts +1 -1
  18. package/dist/scene/clipping.d.ts +31 -0
  19. package/dist/scene/nestedgroup.d.ts +64 -27
  20. package/dist/scene/objectgroup.d.ts +47 -0
  21. package/dist/three-cad-viewer.css +339 -29
  22. package/dist/three-cad-viewer.esm.js +27567 -11874
  23. package/dist/three-cad-viewer.esm.js.map +1 -1
  24. package/dist/three-cad-viewer.esm.min.js +10 -4
  25. package/dist/three-cad-viewer.js +27486 -11787
  26. package/dist/three-cad-viewer.min.js +10 -4
  27. package/dist/ui/display.d.ts +147 -0
  28. package/dist/utils/decode-instances.d.ts +60 -0
  29. package/dist/utils/utils.d.ts +10 -0
  30. package/package.json +4 -2
  31. package/src/_version.ts +1 -1
  32. package/src/camera/camera.ts +27 -10
  33. package/src/core/studio-manager.ts +682 -0
  34. package/src/core/types.ts +328 -9
  35. package/src/core/viewer-state.ts +84 -4
  36. package/src/core/viewer.ts +453 -22
  37. package/src/index.ts +25 -1
  38. package/src/rendering/environment.ts +840 -0
  39. package/src/rendering/light-detection.ts +327 -0
  40. package/src/rendering/material-factory.ts +456 -2
  41. package/src/rendering/material-presets.ts +303 -0
  42. package/src/rendering/raycast.ts +2 -2
  43. package/src/rendering/room-environment.ts +192 -0
  44. package/src/rendering/studio-composer.ts +577 -0
  45. package/src/rendering/studio-floor.ts +108 -0
  46. package/src/rendering/texture-cache.ts +1020 -0
  47. package/src/rendering/triplanar.ts +329 -0
  48. package/src/scene/animation.ts +3 -2
  49. package/src/scene/clipping.ts +59 -0
  50. package/src/scene/nestedgroup.ts +399 -0
  51. package/src/scene/objectgroup.ts +186 -11
  52. package/src/scene/orientation.ts +12 -0
  53. package/src/scene/render-shape.ts +55 -21
  54. package/src/types/n8ao.d.ts +28 -0
  55. package/src/ui/display.ts +1032 -27
  56. package/src/ui/index.html +181 -44
  57. package/src/utils/decode-instances.ts +233 -0
  58. package/src/utils/utils.ts +33 -20
package/src/index.ts CHANGED
@@ -17,12 +17,16 @@ import "../css/tools.css";
17
17
 
18
18
  import { Viewer } from "./core/viewer.js";
19
19
  import { Display } from "./ui/display.js";
20
+ import { EnvironmentManager } from "./rendering/environment.js";
20
21
  import { Timer } from "./utils/timer.js";
21
22
  import { logger } from "./utils/logger.js";
22
23
  import { gpuTracker } from "./utils/gpu-tracker.js";
23
24
  import { version } from "./_version.js";
24
25
 
25
- export { Viewer, Display, Timer, logger, gpuTracker, version };
26
+ export { Viewer, Display, EnvironmentManager, Timer, logger, gpuTracker, version };
27
+
28
+ // Material presets
29
+ export { MATERIAL_PRESETS, MATERIAL_PRESET_NAMES } from "./rendering/material-presets.js";
26
30
 
27
31
  // Logger type export
28
32
  export type { LogLevel } from "./utils/logger.js";
@@ -53,6 +57,7 @@ export type {
53
57
  ClipIndex,
54
58
  ColorValue,
55
59
  RGBColor,
60
+ RGBAColor,
56
61
  AxisColors,
57
62
  AxisColorsFlatArray,
58
63
  } from "./core/types.js";
@@ -124,5 +129,24 @@ export type { DomEventCallback } from "./core/types.js";
124
129
  // Material types
125
130
  export type { ColoredMaterial } from "./core/types.js";
126
131
 
132
+ // Studio mode & PBR material types
133
+ export type {
134
+ MaterialAppearance,
135
+ MaterialXMaterial,
136
+ TextureEntry,
137
+ StudioOptions,
138
+ StudioBackground,
139
+ StudioModeOptions,
140
+ StudioEnvironment,
141
+ StudioToneMapping,
142
+ StudioTextureMapping,
143
+ } from "./core/types.js";
144
+
145
+ // MaterialX type guard
146
+ export { isMaterialXMaterial } from "./core/types.js";
147
+
148
+ // Instanced/compressed format decoding
149
+ export { isInstancedFormat, decodeInstancedFormat } from "./utils/decode-instances.js";
150
+
127
151
  // Subscription options
128
152
  export type { SubscribeOptions } from "./core/types.js";