@dreamcomposer/engine-types 0.0.13 → 0.0.16

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.
@@ -0,0 +1,38 @@
1
+ /**
2
+ * State of a single skeleton
3
+ */
4
+ export interface SkeletonState {
5
+ /**
6
+ * The states of all bones inside the skeleton
7
+ * Missing bone states or empty value will result in default (rest-pose) values
8
+ */
9
+ boneStates?: BoneState[];
10
+ }
11
+
12
+ export interface BoneState {
13
+ /**
14
+ * The index of the bone inside the skeleton definition
15
+ */
16
+ boneIndex: number;
17
+ /**
18
+ * The local position of the bone. If empty the default (rest-pose) values is taken
19
+ */
20
+ localPosition?: [number, number, number];
21
+ /**
22
+ * The local rotation of the bone in euler angles or as an angle axis representation
23
+ */
24
+ localRotation?: EulerAngles | AngleAxisRotation;
25
+ }
26
+
27
+ export interface EulerAngles {
28
+ x: number;
29
+ y: number;
30
+ z: number;
31
+ }
32
+
33
+ export interface AngleAxisRotation {
34
+ /** Normalized rotation axis */
35
+ axis: [number, number, number];
36
+ /** Angle in degree */
37
+ angle: number;
38
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dreamcomposer/engine-types",
3
- "version": "0.0.13",
3
+ "version": "0.0.16",
4
4
  "description": "The type definitions for messages from and to the engine",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
@@ -35,6 +35,9 @@ import { ToggleVrMessage } from "./to-engine/ToggleVrMessage";
35
35
  import { PointerEventMessage } from "./from-engine/PointerEventMessage";
36
36
  import { HideGuiMessage } from "./from-engine/HideGuiMessage";
37
37
  import { SetUseFramingAnimation } from "./to-engine/SetUseFramingAnimation";
38
+ import { SetSkeletonStatesMessage } from "./to-engine/SetSkeletonStatesMessage";
39
+ import { RecenterSkeletonObjectsMessage } from "./to-engine/RecenterSkeletonObjectsMessage";
40
+ import { SetShadowPlaneVisibilityMessage } from "./to-engine/SetShadowPlaneVisibilityMessage";
38
41
 
39
42
  /**
40
43
  * A message sent from the engine to the embedder.
@@ -96,6 +99,9 @@ export type ToEnginePostMessage =
96
99
  | ToggleFullscreenMessage
97
100
  | ToggleInspectorMessage
98
101
  | ToggleVrMessage
99
- | UnhighlightLayerMessage;
102
+ | UnhighlightLayerMessage
103
+ | RecenterSkeletonObjectsMessage
104
+ | SetSkeletonStatesMessage
105
+ | SetShadowPlaneVisibilityMessage;
100
106
 
101
107
  export type PostMessage = FromEnginePostMessage | ToEnginePostMessage;
@@ -0,0 +1,9 @@
1
+ import { ToEngineMessage } from "../post-messages";
2
+
3
+ /**
4
+ * A message to set the mesh skeleton states
5
+ */
6
+ export interface RecenterSkeletonObjectsMessage
7
+ extends ToEngineMessage<"recenter-skeleton-objects"> {
8
+ payload: void;
9
+ }
@@ -0,0 +1,6 @@
1
+ import { ToEngineMessage } from "../post-messages";
2
+
3
+ export interface SetGeometryAngles
4
+ extends ToEngineMessage<"set-geometry-angles"> {
5
+ payload: number[];
6
+ }
@@ -0,0 +1,9 @@
1
+ import { ToEngineMessage } from "../post-messages";
2
+
3
+ /**
4
+ * A message to toggle the visibility of the grid.
5
+ */
6
+ export interface SetShadowPlaneVisibilityMessage
7
+ extends ToEngineMessage<"set-shadowplane-visible"> {
8
+ payload: boolean;
9
+ }
@@ -0,0 +1,14 @@
1
+ import { SkeletonState } from "../SkeletonState";
2
+ import { ToEngineMessage } from "../post-messages";
3
+
4
+ /**
5
+ * A message to set the mesh skeleton states
6
+ */
7
+ export interface SetSkeletonStatesMessage extends ToEngineMessage<"set-skeleton-states"> {
8
+ payload: {
9
+ /**
10
+ * The skeleton states. The key is the name of the skeleton from the mesh.
11
+ */
12
+ [skeletonName: string]: SkeletonState;
13
+ };
14
+ }