exodeui-vue 1.0.0 → 1.0.1

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/dist/index.d.ts CHANGED
@@ -656,8 +656,8 @@ onLog?: ((message: string, level: "error" | "info" | "warn") => any) | undefined
656
656
  onLogicUpdate?: ((state: any) => any) | undefined;
657
657
  onFpsUpdate?: ((fps: number) => any) | undefined;
658
658
  }>, {
659
- revision: number;
660
659
  fit: Fit;
660
+ revision: number;
661
661
  alignment: Alignment;
662
662
  autoPlay: boolean;
663
663
  interactive: boolean;
@@ -668,6 +668,7 @@ highRefreshRate: boolean;
668
668
  export declare class ExodeUIEngine {
669
669
  private artboard;
670
670
  private objectStates;
671
+ private extrusionPoses;
671
672
  private trailHistories;
672
673
  private physicsEngine;
673
674
  private physicsFx;
@@ -716,6 +717,10 @@ export declare class ExodeUIEngine {
716
717
  pixelRatio: number | null;
717
718
  private getPixelRatio;
718
719
  private lastHoveredObjectId;
720
+ /** Physics contacts that started during the last step, dispatched to 'Collision' rules after it. */
721
+ private pendingCollisions;
722
+ /** The other body while a 'Collision' event is being dispatched (null for every other event). */
723
+ private collisionOtherId;
719
724
  private _lastPointerPos;
720
725
  private _prevPointerPos;
721
726
  private _mouseDelta;
@@ -737,6 +742,8 @@ export declare class ExodeUIEngine {
737
742
  };
738
743
  private _totalScroll;
739
744
  private draggingBehaviors;
745
+ /** Scene physics makes un-configured shapes bodies only while no object has opted in. */
746
+ private sceneDefaultsAllBodies;
740
747
  private dragStartPointer;
741
748
  private dragStartPositions;
742
749
  private isMouseDown;
@@ -956,6 +963,14 @@ export declare class ExodeUIEngine {
956
963
  private solveConstraints;
957
964
  private getGlobalTransform;
958
965
  private globalToLocal;
966
+ /**
967
+ * The same exact solve as the editor, so the two can't disagree. It blends from the FK
968
+ * pose, so Strength 0 is pure FK: `ikPoses` remembers the pose under the last solve, which
969
+ * is replaced whenever an animation writes a new rotation.
970
+ */
971
+ private ikPoses;
972
+ private solveTwoBoneIK;
973
+ private getBoneTipWorld;
959
974
  private solveIK;
960
975
  private computeSpring;
961
976
  handlePointerInput(type: string, canvasX: number, canvasY: number, canvasWidth: number, canvasHeight: number, pointerId?: number): void;
@@ -988,6 +1003,10 @@ export declare class ExodeUIEngine {
988
1003
  setObjectField(id: string, key: string, value: any): void;
989
1004
  /** Resize an object and rebuild its physics body in place (for weights that grow with data). */
990
1005
  resizeBody(id: string, width: number, height: number): void;
1006
+ /** Dispatch a physics contact to `selfId`'s 'Collision' rules, with `otherId` as the body it hit. */
1007
+ private fireCollision;
1008
+ /** A rule's `collisionWith` matches the other body itself or any group it sits in; empty matches anything. */
1009
+ private collisionMatches;
991
1010
  private fireEventForObject;
992
1011
  private fireAnalyticsEvent;
993
1012
  private getAnimationDuration;
@@ -1057,6 +1076,10 @@ export declare class ExodeUIEngine {
1057
1076
  private calculateTransform;
1058
1077
  private mapFontWeight;
1059
1078
  private drawTextDecoration;
1079
+ /** The mesh for an extruded group whose pose has been animated or bound, else null (its children hold the rest pose). */
1080
+ private getExtrusionPose;
1081
+ /** Faces are sorted back to front and centred on the group, matching what the editor draws. */
1082
+ private drawExtrusionPose;
1060
1083
  private renderObject;
1061
1084
  private applyLightTrailUnderlay;
1062
1085
  private applyOuterGlowUnderlay;
@@ -1071,6 +1094,12 @@ export declare class ExodeUIEngine {
1071
1094
  private applyObjectTransform;
1072
1095
  private applyCustomEffect;
1073
1096
  private applyPatternGrid;
1097
+ /**
1098
+ * CSS-style inset shadows: `style.effects` entries of
1099
+ * `{ type: 'InnerShadow', color, opacity, blur, offsetX, offsetY }`.
1100
+ * A ring (large rect minus the shape) casts its shadow into the clipped shape.
1101
+ */
1102
+ private applyInnerShadowOverlay;
1074
1103
  private applyInnerGlowOverlay;
1075
1104
  private applyArtEffectOverlay;
1076
1105
  /** Helper: shift the hue of a hex/hsl color by degrees, return as hsla */