@spiffcommerce/preview 5.11.15 → 5.12.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.
package/CHANGELOG.md CHANGED
@@ -14,6 +14,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
14
14
  - `Fixed` for any bug fixes.
15
15
  - `Security` in case of vulnerabilities.
16
16
 
17
+ ## [5.12.0]
18
+
19
+ ### Added
20
+
21
+ - `ModelContainer.getUVIslandOutline(materialName)` returns the boundary/seam
22
+ edges of a material's UV island(s) as normalized 0..1 UV segments, for
23
+ overlaying a guide showing the model's actual texture unwrap in an editor.
24
+
17
25
  ## [5.10.5] - 14-11-2024
18
26
 
19
27
  ### Fixed
package/dist/index.d.ts CHANGED
@@ -406,6 +406,15 @@ type MaterialResource = {
406
406
  */
407
407
  updatedAt: string;
408
408
  };
409
+ /**
410
+ * One edge of a material's UV island outline, in normalized 0..1 UV space.
411
+ */
412
+ type UVSegment = {
413
+ readonly u0: number;
414
+ readonly v0: number;
415
+ readonly u1: number;
416
+ readonly v1: number;
417
+ };
409
418
  /**
410
419
  * Represents a handle to a material in the 3D scene. The underlying complexity of materials is abstracted
411
420
  * away so the client doesn't need to know anything more than the ID they're given and the name.
@@ -887,6 +896,15 @@ type ModelContainer = {
887
896
  * Designed for use when utilizing the 3D preview in an editor format.
888
897
  */
889
898
  listMaterials(): readonly MaterialHandle[];
899
+ /**
900
+ * Traces the boundary/seam edges of the UV island(s) that a named material's
901
+ * mesh(es) occupy in the model's texture unwrap. Designed for use when
902
+ * utilizing the 3D preview in an editor format, to overlay a guide showing
903
+ * where a material's UVs actually land versus the canvas/panel bounds.
904
+ * Segments are returned in normalized 0..1 UV space.
905
+ * @param materialName The name of the material to trace, as returned by `listMaterials()`.
906
+ */
907
+ getUVIslandOutline(materialName: string): readonly UVSegment[];
890
908
  /**
891
909
  * Registers a callback that will be invoked when a material is under the cursor.
892
910
  * @param callback The callback to register.
@@ -1333,4 +1351,4 @@ declare const renderingPipelineDefaults: {
1333
1351
  };
1334
1352
  };
1335
1353
 
1336
- export { type AntiAliasingPipelineConfiguration, type Asset, type BloomPipelineConfiguration, type CameraAnimation, type CameraPose, type ChromaticAberrationPipelineConfiguration, type Color4Configuration, type ColorCurvesConfiguration, type DepthOfFieldPipelineConfiguration, type EngineContext, type GrainPipelineConfiguration, type LoadProgressEventData, MaterialEffectMode, type MaterialHandle, type MaterialResource, type MiscPipelineConfiguration, type ModelAnimation, type ModelContainer, type ModelDetails, type ModelLoadEventData, type PowerOfTwoNumber, type PreviewOptions, type PreviewServicePlugin, ProductCameraRig, REFLECTION_PROBE_RESOLUTION, type RenderableContext, type RenderableContextService, RenderingConfiguration, type RenderingPipelineConfiguration, type SharpenPipelineConfiguration, SpiffCommerce3DPreviewService, type ThreeDPreviewService, type Vector, type VignettePipelineConfiguration, renderingPipelineDefaults };
1354
+ export { type AntiAliasingPipelineConfiguration, type Asset, type BloomPipelineConfiguration, type CameraAnimation, type CameraPose, type ChromaticAberrationPipelineConfiguration, type Color4Configuration, type ColorCurvesConfiguration, type DepthOfFieldPipelineConfiguration, type EngineContext, type GrainPipelineConfiguration, type LoadProgressEventData, MaterialEffectMode, type MaterialHandle, type MaterialResource, type MiscPipelineConfiguration, type ModelAnimation, type ModelContainer, type ModelDetails, type ModelLoadEventData, type PowerOfTwoNumber, type PreviewOptions, type PreviewServicePlugin, ProductCameraRig, REFLECTION_PROBE_RESOLUTION, type RenderableContext, type RenderableContextService, RenderingConfiguration, type RenderingPipelineConfiguration, type SharpenPipelineConfiguration, SpiffCommerce3DPreviewService, type ThreeDPreviewService, type UVSegment, type Vector, type VignettePipelineConfiguration, renderingPipelineDefaults };