@dreamcomposer/engine-types 2.0.0 → 2.1.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 (53) hide show
  1. package/Layer.ts +1 -3
  2. package/from-engine/AnnotationTagPositionChangedMessage.ts +3 -4
  3. package/from-engine/CameraPositionChangeMessage.ts +3 -4
  4. package/from-engine/CanvasImageUrlMessage.d.ts +1 -2
  5. package/from-engine/DisplayLoadingUiMessage.d.ts +1 -2
  6. package/from-engine/EnvironmentRotationChangedMessage.ts +2 -3
  7. package/from-engine/GeometryTransformChangeMessage.ts +3 -4
  8. package/from-engine/HideLoadingUiMessage.d.ts +1 -2
  9. package/from-engine/KeyDownEventMessage.d.ts +1 -2
  10. package/from-engine/PointerEventMessage.d.ts +22 -0
  11. package/from-engine/SetLoadingProgressMessage.d.ts +1 -2
  12. package/package.json +6 -6
  13. package/post-messages.d.ts +4 -0
  14. package/to-engine/DownloadScreenshotMessage.d.ts +1 -2
  15. package/to-engine/ExportSceneMessage.ts +1 -1
  16. package/to-engine/HighlightLayerMessage.d.ts +1 -2
  17. package/to-engine/MouseEventMessage.d.ts +5 -0
  18. package/to-engine/MoveGeometryToGroundMessage.ts +2 -3
  19. package/to-engine/RecenterSkeletonObjectsMessage.ts +2 -3
  20. package/to-engine/ResetCameraPositionMessage.d.ts +1 -2
  21. package/to-engine/ResetGeometryTransformMessage.ts +2 -4
  22. package/to-engine/RotateToVectorMessage.d.ts +1 -2
  23. package/to-engine/SelectedEdgesMessage.d.ts +1 -2
  24. package/to-engine/SetAnnotationTagsMessage.ts +3 -4
  25. package/to-engine/SetArtworkHoverTrackingMessage.d.ts +17 -0
  26. package/to-engine/SetBackgroundImageMessage.d.ts +1 -2
  27. package/to-engine/SetClearColorMessage.d.ts +1 -2
  28. package/to-engine/SetConnectionInfosMessage.d.ts +1 -2
  29. package/to-engine/SetCursorMessage.d.ts +14 -0
  30. package/to-engine/SetCustomRequestHeaders.ts +2 -3
  31. package/to-engine/SetCutoutTextureMessage.d.ts +1 -2
  32. package/to-engine/SetEdgeSelectorEnabledMessage.d.ts +1 -2
  33. package/to-engine/SetEffectsSettingsMessage.d.ts +1 -2
  34. package/to-engine/SetEmbossingHeightTextureMessage.d.ts +1 -2
  35. package/to-engine/SetEnvironmentMessage.d.ts +1 -2
  36. package/to-engine/SetEnvironmentVisibleMessage.d.ts +1 -2
  37. package/to-engine/SetFullscreenMessage.d.ts +1 -2
  38. package/to-engine/SetGeometryAnglesMessage.d.ts +1 -2
  39. package/to-engine/SetGridVisibilityMessage.d.ts +1 -2
  40. package/to-engine/SetHardwareScalingLevelMessage.d.ts +1 -2
  41. package/to-engine/SetInitialGeometryTransformMessage.ts +3 -4
  42. package/to-engine/SetObjectForScaleMessage.ts +2 -3
  43. package/to-engine/SetShadowPlaneVisibilityMessage.d.ts +1 -2
  44. package/to-engine/SetSkeletonStatesMessage.ts +3 -4
  45. package/to-engine/SetStageMappingsMessage.d.ts +1 -2
  46. package/to-engine/SetSurfaceMaterialMessage.d.ts +1 -2
  47. package/to-engine/SetUseFramingAnimation.d.ts +1 -2
  48. package/to-engine/ToggleFullscreenMessage.d.ts +1 -2
  49. package/to-engine/ToggleInspectorMessage.d.ts +1 -2
  50. package/to-engine/UnhighlightLayerMessage.d.ts +1 -2
  51. package/to-engine/UpdateCameraPositionMessage.ts +3 -4
  52. package/to-engine/UpdateEnvironmentRotationMessage.ts +2 -3
  53. package/to-engine/UpdateGeometryTransformMessage.ts +3 -4
package/Layer.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { MaterialDefinition } from "./Material";
1
+ import type { MaterialDefinition } from "./Material";
2
2
 
3
3
  /**
4
4
  * A 2D layer.
@@ -118,8 +118,6 @@ export type TextureOverride<T> = Record<
118
118
  Partial<T> | Record<string, Partial<T>>
119
119
  >;
120
120
 
121
- type Texture = unknown;
122
-
123
121
  export function isTextureBlob(obj: unknown): obj is TextureBlob {
124
122
  return typeof obj === "object" && obj !== null && "blob" in obj;
125
123
  }
@@ -1,5 +1,5 @@
1
- import { AnnotationTag } from "../AnnotationTag";
2
- import { FromEngineMessage } from "../post-messages";
1
+ import type { AnnotationTag } from "../AnnotationTag";
2
+ import type { FromEngineMessage } from "../post-messages";
3
3
 
4
4
  export type AnchorPosition = {
5
5
  /** 3D world position in meters */
@@ -11,8 +11,7 @@ export type AnchorPosition = {
11
11
  /**
12
12
  * Is fired every frame to notify the embedder of the new screen position of the annotation tag.
13
13
  */
14
- export interface AnnotationTagPositionChangedMessage
15
- extends FromEngineMessage<"annotation-tag-position-changed"> {
14
+ export interface AnnotationTagPositionChangedMessage extends FromEngineMessage<"annotation-tag-position-changed"> {
16
15
  payload: {
17
16
  tag: AnnotationTag;
18
17
  /** The anchor position that is directly attached to the object */
@@ -1,10 +1,9 @@
1
- import { CameraPosition } from "../Camera";
2
- import { FromEngineMessage } from "../post-messages";
1
+ import type { CameraPosition } from "../Camera";
2
+ import type { FromEngineMessage } from "../post-messages";
3
3
 
4
4
  /**
5
5
  * Rotates the camera to a given vector.
6
6
  */
7
- export interface CameraPositionChangeMessage
8
- extends FromEngineMessage<"camera-position-change"> {
7
+ export interface CameraPositionChangeMessage extends FromEngineMessage<"camera-position-change"> {
9
8
  payload: CameraPosition;
10
9
  }
@@ -8,8 +8,7 @@ import { FromEngineMessage, ToEngineMessage } from "../post-messages";
8
8
  */
9
9
  // TODO: This should have another name to make it clear it's related to the
10
10
  // heat map collection.
11
- export interface CanvasImageUrlMessage
12
- extends FromEngineMessage<"canvas-image-url"> {
11
+ export interface CanvasImageUrlMessage extends FromEngineMessage<"canvas-image-url"> {
13
12
  payload: {
14
13
  /**
15
14
  * The height of the image.
@@ -3,7 +3,6 @@ import { FromEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Sent whenever the loading ui should be displayed.
5
5
  */
6
- export interface DisplayLoadingUiMessage
7
- extends FromEngineMessage<"display-loading-ui"> {
6
+ export interface DisplayLoadingUiMessage extends FromEngineMessage<"display-loading-ui"> {
8
7
  payload: {};
9
8
  }
@@ -1,12 +1,11 @@
1
- import { FromEngineMessage } from "../post-messages";
1
+ import type { FromEngineMessage } from "../post-messages";
2
2
 
3
3
  export type EnvironmentRotationSource = "user" | "library";
4
4
 
5
5
  /**
6
6
  * A message that gets send by the engine when the scene environment is rotated.
7
7
  */
8
- export interface EnvironmentRotationChangedMessage
9
- extends FromEngineMessage<"environment-rotation-change"> {
8
+ export interface EnvironmentRotationChangedMessage extends FromEngineMessage<"environment-rotation-change"> {
10
9
  payload: {
11
10
  rotation: number;
12
11
  /**
@@ -1,10 +1,9 @@
1
- import { GeometryTransform } from "../GeometryTransform";
2
- import { FromEngineMessage } from "../post-messages";
1
+ import type { GeometryTransform } from "../GeometryTransform";
2
+ import type { FromEngineMessage } from "../post-messages";
3
3
 
4
4
  /**
5
5
  * Event object if the position or rotation of the geometry changed
6
6
  */
7
- export interface GeometryTransformChangeMessage
8
- extends FromEngineMessage<"geometry-transform-change"> {
7
+ export interface GeometryTransformChangeMessage extends FromEngineMessage<"geometry-transform-change"> {
9
8
  payload: GeometryTransform;
10
9
  }
@@ -3,7 +3,6 @@ import { FromEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Sent whenever the loading ui should be hidden.
5
5
  */
6
- export interface HideLoadingUiMessage
7
- extends FromEngineMessage<"hide-loading-ui"> {
6
+ export interface HideLoadingUiMessage extends FromEngineMessage<"hide-loading-ui"> {
8
7
  payload: {};
9
8
  }
@@ -5,8 +5,7 @@ import { FromEngineMessage } from "../post-messages";
5
5
  * dispatched. This can be useful since the embedder of the iframe does not
6
6
  * receive key down events that happen inside the iframe.
7
7
  */
8
- export interface KeyDownEventMessage
9
- extends FromEngineMessage<"key-down-event"> {
8
+ export interface KeyDownEventMessage extends FromEngineMessage<"key-down-event"> {
10
9
  /**
11
10
  * The event data for the pressed key
12
11
  */
@@ -7,10 +7,32 @@ export interface PointerEvent {
7
7
  drag: boolean;
8
8
  type: string;
9
9
  buttons: number;
10
+ /**
11
+ * Texture coordinates of whatever mesh the pointer hit.
12
+ *
13
+ * Which mesh that is depends on the scene: on a mapped geometry the object's own
14
+ * parts sit in front of the artwork, and their UVs have nothing to do with the layer
15
+ * texture. Use `labelPick` for a point in the artwork.
16
+ */
10
17
  pick?: {
11
18
  x: number;
12
19
  y: number;
13
20
  };
21
+ /**
22
+ * Texture coordinates of the point of the *artwork* the pointer hit, in the same
23
+ * space an annotation tag is anchored in - absent when the pointer did not hit the
24
+ * artwork.
25
+ *
26
+ * By default only reported on a click release, but can be requested on every move by calling `setArtworkHoverTracking`.
27
+ */
28
+ labelPick?: {
29
+ x: number;
30
+ y: number;
31
+ };
32
+ /**
33
+ * Whether this event is a pointer release that completed a click rather than a drag.
34
+ */
35
+ clickRelease?: boolean;
14
36
  shiftKey: boolean;
15
37
  }
16
38
 
@@ -3,8 +3,7 @@ import { FromEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Sent whenever a file is loaded by the engine.
5
5
  */
6
- export interface SetLoadingProgressMessage
7
- extends FromEngineMessage<"set-loading-progress"> {
6
+ export interface SetLoadingProgressMessage extends FromEngineMessage<"set-loading-progress"> {
8
7
  payload: {
9
8
  /**
10
9
  * Usually the URL of the file to load.
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@dreamcomposer/engine-types",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "The type definitions for messages from and to the engine",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
7
7
  "files": [
8
8
  "**/*.ts"
9
9
  ],
10
- "devDependencies": {
11
- "prettier": "^2.5.1",
12
- "typescript": "5.7.3"
13
- },
14
10
  "scripts": {
15
11
  "format": "prettier --write .",
16
12
  "check-format": "prettier --check ."
13
+ },
14
+ "devDependencies": {
15
+ "prettier": "3.9.6",
16
+ "typescript": "5.7.3"
17
17
  }
18
- }
18
+ }
@@ -8,7 +8,9 @@ import { HighlightLayerMessage } from "./to-engine/HighlightLayerMessage";
8
8
  import { ResetCameraPositionMessage } from "./to-engine/ResetCameraPositionMessage";
9
9
  import { RotateToVectorMessage } from "./to-engine/RotateToVectorMessage";
10
10
  import { SelectedEdgesMessage } from "./to-engine/SelectedEdgesMessage";
11
+ import { SetArtworkHoverTrackingMessage } from "./to-engine/SetArtworkHoverTrackingMessage";
11
12
  import { SetClearColorMessage } from "./to-engine/SetClearColorMessage";
13
+ import { SetCursorMessage } from "./to-engine/SetCursorMessage";
12
14
  import { SetConnectionInfosMessage } from "./to-engine/SetConnectionInfosMessage";
13
15
  import { SetCutoutTextureMessage } from "./to-engine/SetCutoutTextureMessage";
14
16
  import { SetEdgeSelectorEnabledMessage } from "./to-engine/SetEdgeSelectorEnabledMessage";
@@ -132,6 +134,8 @@ export type ToEnginePostMessage =
132
134
  | ResetGeometryTransformMessage
133
135
  | PlaceGeometryOnGroundMessage
134
136
  | SetAnnotationTagsMessage
137
+ | SetArtworkHoverTrackingMessage
138
+ | SetCursorMessage
135
139
  | SetCustomRequestHeaders
136
140
  | SetObjectForScaleMessage
137
141
  | ExportSceneMessage;
@@ -12,8 +12,7 @@ export interface ScreenshotPayload {
12
12
  *
13
13
  * The download starts automatically once the screenshot has been rendered.
14
14
  */
15
- export interface DownloadScreenshotMessage
16
- extends ToEngineMessage<"download-screenshot"> {
15
+ export interface DownloadScreenshotMessage extends ToEngineMessage<"download-screenshot"> {
17
16
  /**
18
17
  * An empty object.
19
18
  */
@@ -1,4 +1,4 @@
1
- import { ToEngineMessage } from "../post-messages";
1
+ import type { ToEngineMessage } from "../post-messages";
2
2
 
3
3
  /**
4
4
  * Exports the current scene.
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Highlights the given layer.
5
5
  */
6
- export interface HighlightLayerMessage
7
- extends ToEngineMessage<"highlight-layer"> {
6
+ export interface HighlightLayerMessage extends ToEngineMessage<"highlight-layer"> {
8
7
  /**
9
8
  * The name of the layer to highlight (i.e., the key used in the
10
9
  * SetLayerMessage payload).
@@ -21,5 +21,10 @@ export interface MouseEventMessage extends ToEngineMessage<"mouse-events"> {
21
21
  * The clientY coordinate, adjusted to the iframe's position.
22
22
  */
23
23
  clientY: number;
24
+ /**
25
+ * The buttons that were pressed when the event happened
26
+ * (`MouseEvent.buttons`). Missing when the embedder predates this field.
27
+ */
28
+ buttons?: number;
24
29
  };
25
30
  }
@@ -1,10 +1,9 @@
1
- import { ToEngineMessage } from "../post-messages";
1
+ import type { ToEngineMessage } from "../post-messages";
2
2
 
3
3
  /**
4
4
  * Translates the geometry so its lowest part touches the ground.
5
5
  * The current rotation of the object is not affected.
6
6
  */
7
- export interface PlaceGeometryOnGroundMessage
8
- extends ToEngineMessage<"place-geometry-on-ground"> {
7
+ export interface PlaceGeometryOnGroundMessage extends ToEngineMessage<"place-geometry-on-ground"> {
9
8
  payload: { transitionDuration?: number };
10
9
  }
@@ -1,9 +1,8 @@
1
- import { ToEngineMessage } from "../post-messages";
1
+ import type { ToEngineMessage } from "../post-messages";
2
2
 
3
3
  /**
4
4
  * A message to set the mesh skeleton states
5
5
  */
6
- export interface RecenterSkeletonObjectsMessage
7
- extends ToEngineMessage<"recenter-skeleton-objects"> {
6
+ export interface RecenterSkeletonObjectsMessage extends ToEngineMessage<"recenter-skeleton-objects"> {
8
7
  payload: void;
9
8
  }
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Resets the camera to its initial position.
5
5
  */
6
- export interface ResetCameraPositionMessage
7
- extends ToEngineMessage<"reset-camera-position"> {
6
+ export interface ResetCameraPositionMessage extends ToEngineMessage<"reset-camera-position"> {
8
7
  /**
9
8
  * An empty object.
10
9
  */
@@ -1,5 +1,4 @@
1
- import { GeometryTransform } from "../GeometryTransform";
2
- import { ToEngineMessage } from "../post-messages";
1
+ import type { ToEngineMessage } from "../post-messages";
3
2
 
4
3
  /**
5
4
  * Sets the geometry rotation and position to the initial transform values.
@@ -7,7 +6,6 @@ import { ToEngineMessage } from "../post-messages";
7
6
  * If no initial transform was defined `{position: [0,0,0], rotation: [0,0,0]}`
8
7
  * is used
9
8
  */
10
- export interface ResetGeometryTransformMessage
11
- extends ToEngineMessage<"reset-geometry-transform"> {
9
+ export interface ResetGeometryTransformMessage extends ToEngineMessage<"reset-geometry-transform"> {
12
10
  payload: { transitionDuration?: number };
13
11
  }
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Rotates the camera to a given vector.
5
5
  */
6
- export interface RotateToVectorMessage
7
- extends ToEngineMessage<"rotate-to-vector"> {
6
+ export interface RotateToVectorMessage extends ToEngineMessage<"rotate-to-vector"> {
8
7
  /**
9
8
  * The vector to rotate to.
10
9
  *
@@ -5,8 +5,7 @@ import { ToEngineMessage } from "../post-messages";
5
5
  *
6
6
  * TODO: Where do edges come from? Are they part of the texture?
7
7
  */
8
- export interface SelectedEdgesMessage
9
- extends ToEngineMessage<"selected-edges"> {
8
+ export interface SelectedEdgesMessage extends ToEngineMessage<"selected-edges"> {
10
9
  /**
11
10
  * An array with the index of the edges to select.
12
11
  *
@@ -1,5 +1,5 @@
1
- import { AnnotationTag } from "../AnnotationTag";
2
- import { ToEngineMessage } from "../post-messages";
1
+ import type { AnnotationTag } from "../AnnotationTag";
2
+ import type { ToEngineMessage } from "../post-messages";
3
3
 
4
4
  /**
5
5
  * Sets the annotation tags that should be displayed in the scene.
@@ -8,7 +8,6 @@ import { ToEngineMessage } from "../post-messages";
8
8
  * embedder via `annotation-tag-position-changed` message. The embedder is responsible for rendering the
9
9
  * tags.
10
10
  */
11
- export interface SetAnnotationTagsMessage
12
- extends ToEngineMessage<"set-annotation-tags"> {
11
+ export interface SetAnnotationTagsMessage extends ToEngineMessage<"set-annotation-tags"> {
13
12
  payload: AnnotationTag[];
14
13
  }
@@ -0,0 +1,17 @@
1
+ import { ToEngineMessage } from "../post-messages";
2
+
3
+ /**
4
+ * Switches the artwork hover test on or off.
5
+ *
6
+ * While it is on, every pointer move carries `labelPick` - the spot of the artwork under
7
+ * the pointer, in the space an annotation tag is anchored in, or nothing when the pointer
8
+ * is not over the artwork.
9
+ *
10
+ * Off by default, because it costs a pick against the scene per move. Worth switching on
11
+ * while the embedder is asking someone to point at the artwork, and off again after.
12
+ */
13
+ export interface SetArtworkHoverTrackingMessage extends ToEngineMessage<"set-artwork-hover-tracking"> {
14
+ payload: {
15
+ active: boolean;
16
+ };
17
+ }
@@ -4,8 +4,7 @@ import { ToEngineMessage } from "../post-messages";
4
4
  /**
5
5
  * A message to set the scene's background image.
6
6
  */
7
- export interface SetBackgroundImageMessage
8
- extends ToEngineMessage<"set-background-image"> {
7
+ export interface SetBackgroundImageMessage extends ToEngineMessage<"set-background-image"> {
9
8
  payload: {
10
9
  texture: string | TextureUrl | Blob | TextureBlob | null;
11
10
  options?: {
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Set the scene's clear color (i.e., the background color).
5
5
  */
6
- export interface SetClearColorMessage
7
- extends ToEngineMessage<"set-clear-color"> {
6
+ export interface SetClearColorMessage extends ToEngineMessage<"set-clear-color"> {
8
7
  /**
9
8
  * The clear color in HEX format with alpha (e.g., #AD86A3FF).
10
9
  */
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Set the area connection infos for the folding edges.
5
5
  */
6
- export interface SetConnectionInfosMessage
7
- extends ToEngineMessage<"set-connection-infos"> {
6
+ export interface SetConnectionInfosMessage extends ToEngineMessage<"set-connection-infos"> {
8
7
  /**
9
8
  * An array with
10
9
  *
@@ -0,0 +1,14 @@
1
+ import { ToEngineMessage } from "../post-messages";
2
+
3
+ /**
4
+ * Sets the cursor shown over the scene.
5
+ *
6
+ * The canvas lives in an iframe, so a rule in the embedder's stylesheet does not reach
7
+ * it - the value has to be handed over. Any CSS `cursor` value; `null` restores the
8
+ * one the scene had.
9
+ */
10
+ export interface SetCursorMessage extends ToEngineMessage<"set-cursor"> {
11
+ payload: {
12
+ cursor: string | null;
13
+ };
14
+ }
@@ -1,6 +1,5 @@
1
- import { ToEngineMessage } from "../post-messages";
1
+ import type { ToEngineMessage } from "../post-messages";
2
2
 
3
- export interface SetCustomRequestHeaders
4
- extends ToEngineMessage<"set-custom-request-headers"> {
3
+ export interface SetCustomRequestHeaders extends ToEngineMessage<"set-custom-request-headers"> {
5
4
  payload: { [key: string]: string };
6
5
  }
@@ -6,8 +6,7 @@ import { ToEngineMessage } from "../post-messages";
6
6
  * The cutout mask is a mask in the PNG format with white and transparent
7
7
  * colors.
8
8
  */
9
- export interface SetCutoutTextureMessage
10
- extends ToEngineMessage<"set-cutout-texture"> {
9
+ export interface SetCutoutTextureMessage extends ToEngineMessage<"set-cutout-texture"> {
11
10
  /**
12
11
  * The cutout mask in the PNG format. Can either be a blob or a URL to the
13
12
  * cutout texture. An empty string is used to reset it (i.e., setting a
@@ -6,8 +6,7 @@ import { ToEngineMessage } from "../post-messages";
6
6
  * When enabled, the edges are visible and when clicked on, a SelectEdgeMessage
7
7
  * is received.
8
8
  */
9
- export interface SetEdgeSelectorEnabledMessage
10
- extends ToEngineMessage<"set-edge-selector-enabled"> {
9
+ export interface SetEdgeSelectorEnabledMessage extends ToEngineMessage<"set-edge-selector-enabled"> {
11
10
  /**
12
11
  * Whether or not the edge selector should be enabled.
13
12
  */
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Set the effect settings.
5
5
  */
6
- export interface SetEffectsSettingsMessage
7
- extends ToEngineMessage<"set-effects-settings"> {
6
+ export interface SetEffectsSettingsMessage extends ToEngineMessage<"set-effects-settings"> {
8
7
  /**
9
8
  * The settings.
10
9
  *
@@ -6,8 +6,7 @@ import { ToEngineMessage } from "../post-messages";
6
6
  * The height texture is a grayscale PNG image that is used to calculate the
7
7
  * height of the embossing.
8
8
  */
9
- export interface SetEmbossingHeightTextureMessage
10
- extends ToEngineMessage<"set-embossing-height-texture"> {
9
+ export interface SetEmbossingHeightTextureMessage extends ToEngineMessage<"set-embossing-height-texture"> {
11
10
  /**
12
11
  * The height texture as a blob in the PNG format.
13
12
  *
@@ -5,8 +5,7 @@ import { ToEngineMessage } from "../post-messages";
5
5
  *
6
6
  * TODO: Why is this one called "set-environment" and not "set-environment-url"?
7
7
  */
8
- export interface SetEnvironmentMessage
9
- extends ToEngineMessage<"set-environment"> {
8
+ export interface SetEnvironmentMessage extends ToEngineMessage<"set-environment"> {
10
9
  /**
11
10
  * Supports all supported formats of BabylonJS. It is recommended to use
12
11
  * BabylonJS' own format (either DDS or ENV) for faster loading.
@@ -7,7 +7,6 @@ import { ToEngineMessage } from "../post-messages";
7
7
  * background but it still appears in the reflections and is responsible for
8
8
  * the lighting.
9
9
  */
10
- export interface SetEnvironmentVisibleMessage
11
- extends ToEngineMessage<"set-environment-visible"> {
10
+ export interface SetEnvironmentVisibleMessage extends ToEngineMessage<"set-environment-visible"> {
12
11
  payload: boolean;
13
12
  }
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Explicitely sets full screen mode for the IFrame
5
5
  */
6
- export interface SetFullscreenMessage
7
- extends ToEngineMessage<"set-fullscreen"> {
6
+ export interface SetFullscreenMessage extends ToEngineMessage<"set-fullscreen"> {
8
7
  /**
9
8
  * A boolean, describing the desired full screen state
10
9
  */
@@ -1,6 +1,5 @@
1
1
  import { ToEngineMessage } from "../post-messages";
2
2
 
3
- export interface SetGeometryAngles
4
- extends ToEngineMessage<"set-geometry-angles"> {
3
+ export interface SetGeometryAngles extends ToEngineMessage<"set-geometry-angles"> {
5
4
  payload: number[];
6
5
  }
@@ -3,7 +3,6 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * A message to toggle the visibility of the grid.
5
5
  */
6
- export interface SetGridVisibilityMessage
7
- extends ToEngineMessage<"set-grid-visible"> {
6
+ export interface SetGridVisibilityMessage extends ToEngineMessage<"set-grid-visible"> {
8
7
  payload: boolean;
9
8
  }
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Sets the hardware scaling level.
5
5
  */
6
- export interface SetHardwareScalingLevelMessage
7
- extends ToEngineMessage<"set-hardware-scaling-level"> {
6
+ export interface SetHardwareScalingLevelMessage extends ToEngineMessage<"set-hardware-scaling-level"> {
8
7
  /**
9
8
  * The hardware scaling level.
10
9
  *
@@ -1,12 +1,11 @@
1
- import { GeometryTransform } from "../GeometryTransform";
2
- import { ToEngineMessage } from "../post-messages";
1
+ import type { GeometryTransform } from "../GeometryTransform";
2
+ import type { ToEngineMessage } from "../post-messages";
3
3
 
4
4
  /**
5
5
  * Defines the initial geometry rotation and position.
6
6
  *
7
7
  * The initial transform is used if the transform is reseted.
8
8
  */
9
- export interface SetInitialGeometryTransformMessage
10
- extends ToEngineMessage<"set-initial-geometry-transform"> {
9
+ export interface SetInitialGeometryTransformMessage extends ToEngineMessage<"set-initial-geometry-transform"> {
11
10
  payload: { transform: GeometryTransform };
12
11
  }
@@ -1,10 +1,9 @@
1
- import { ToEngineMessage } from "../post-messages";
1
+ import type { ToEngineMessage } from "../post-messages";
2
2
 
3
3
  /**
4
4
  * Set the geometry.
5
5
  */
6
- export interface SetObjectForScaleMessage
7
- extends ToEngineMessage<"set-object-for-scale"> {
6
+ export interface SetObjectForScaleMessage extends ToEngineMessage<"set-object-for-scale"> {
8
7
  payload: {
9
8
  /**
10
9
  * The BLOB or URL of the geometry (i.e., the 3D model, for example a box or a
@@ -3,7 +3,6 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * A message to toggle the visibility of the grid.
5
5
  */
6
- export interface SetShadowPlaneVisibilityMessage
7
- extends ToEngineMessage<"set-shadowplane-visible"> {
6
+ export interface SetShadowPlaneVisibilityMessage extends ToEngineMessage<"set-shadowplane-visible"> {
8
7
  payload: boolean;
9
8
  }
@@ -1,11 +1,10 @@
1
- import { SkeletonState } from "../SkeletonState";
2
- import { ToEngineMessage } from "../post-messages";
1
+ import type { SkeletonState } from "../SkeletonState";
2
+ import type { ToEngineMessage } from "../post-messages";
3
3
 
4
4
  /**
5
5
  * A message to set the mesh skeleton states
6
6
  */
7
- export interface SetSkeletonStatesMessage
8
- extends ToEngineMessage<"set-skeleton-states"> {
7
+ export interface SetSkeletonStatesMessage extends ToEngineMessage<"set-skeleton-states"> {
9
8
  payload: {
10
9
  /**
11
10
  * The skeleton states. The key is the name of the skeleton from the mesh.
@@ -96,7 +96,6 @@ export interface StageMappings {
96
96
  * A message to set the stage mappings (i.e., how a texture is mapped to the
97
97
  * geometry).
98
98
  */
99
- export interface SetStageMappingsMessage
100
- extends ToEngineMessage<"set-stage-mappings"> {
99
+ export interface SetStageMappingsMessage extends ToEngineMessage<"set-stage-mappings"> {
101
100
  payload: StageMappings;
102
101
  }
@@ -4,8 +4,7 @@ import { ToEngineMessage } from "../post-messages";
4
4
  /**
5
5
  * Loads and sets the surface material by its definition.
6
6
  */
7
- export interface SetSurfaceMaterialMessage
8
- extends ToEngineMessage<"set-surface-material"> {
7
+ export interface SetSurfaceMaterialMessage extends ToEngineMessage<"set-surface-material"> {
9
8
  /**
10
9
  * The definition of the surface material
11
10
  */
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Enable/disable framing animations
5
5
  */
6
- export interface SetUseFramingAnimation
7
- extends ToEngineMessage<"set-use-framing-animation"> {
6
+ export interface SetUseFramingAnimation extends ToEngineMessage<"set-use-framing-animation"> {
8
7
  /**
9
8
  * A boolean, setting current engine mode for framing animations
10
9
  */
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Toggles whether or not the iframe should be fullscreen.
5
5
  */
6
- export interface ToggleFullscreenMessage
7
- extends ToEngineMessage<"toggle-fullscreen"> {
6
+ export interface ToggleFullscreenMessage extends ToEngineMessage<"toggle-fullscreen"> {
8
7
  /**
9
8
  * An empty object.
10
9
  */
@@ -3,5 +3,4 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Toggles whether or not the BabylonJS inspector is shown.
5
5
  */
6
- export interface ToggleInspectorMessage
7
- extends ToEngineMessage<"toggle-inspector"> {}
6
+ export interface ToggleInspectorMessage extends ToEngineMessage<"toggle-inspector"> {}
@@ -3,8 +3,7 @@ import { ToEngineMessage } from "../post-messages";
3
3
  /**
4
4
  * Removes previously highlighting of a layer.
5
5
  */
6
- export interface UnhighlightLayerMessage
7
- extends ToEngineMessage<"unhighlight-layer"> {
6
+ export interface UnhighlightLayerMessage extends ToEngineMessage<"unhighlight-layer"> {
8
7
  /**
9
8
  * The name of the layer to remove highlighting.
10
9
  */
@@ -1,12 +1,11 @@
1
- import { CameraPosition } from "../Camera";
2
- import { ToEngineMessage } from "../post-messages";
1
+ import type { CameraPosition } from "../Camera";
2
+ import type { ToEngineMessage } from "../post-messages";
3
3
 
4
4
  /**
5
5
  * Rotates the camera to a given position.
6
6
  *
7
7
  * The position can be partial information. In that case the other position values are kept as is.
8
8
  */
9
- export interface UpdateCameraPositionMessage
10
- extends ToEngineMessage<"update-camera-position"> {
9
+ export interface UpdateCameraPositionMessage extends ToEngineMessage<"update-camera-position"> {
11
10
  payload: { changes: Partial<CameraPosition>; transitionDuration?: number };
12
11
  }
@@ -1,10 +1,9 @@
1
- import { ToEngineMessage } from "../post-messages";
1
+ import type { ToEngineMessage } from "../post-messages";
2
2
 
3
3
  /**
4
4
  * Rotates the environment to a given angle.
5
5
  */
6
- export interface UpdateEnvironmentRotationMessage
7
- extends ToEngineMessage<"update-environment-rotation"> {
6
+ export interface UpdateEnvironmentRotationMessage extends ToEngineMessage<"update-environment-rotation"> {
8
7
  payload: {
9
8
  /** Target rotation degree */
10
9
  rotation: number;
@@ -1,12 +1,11 @@
1
- import { GeometryTransform } from "../GeometryTransform";
2
- import { ToEngineMessage } from "../post-messages";
1
+ import type { GeometryTransform } from "../GeometryTransform";
2
+ import type { ToEngineMessage } from "../post-messages";
3
3
 
4
4
  /**
5
5
  * Translates and rotates the camera to a given values.
6
6
  *
7
7
  * The transform data can be partial information. In that case the other transform values are kept as is.
8
8
  */
9
- export interface UpdateGeometryTransformMessage
10
- extends ToEngineMessage<"update-geometry-transform"> {
9
+ export interface UpdateGeometryTransformMessage extends ToEngineMessage<"update-geometry-transform"> {
11
10
  payload: { changes: Partial<GeometryTransform>; transitionDuration?: number };
12
11
  }