@perplexdotgg/bounce 1.2.3 → 1.2.5

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/build/bounce.d.ts CHANGED
@@ -767,7 +767,104 @@ z?: number;
767
767
  } | undefined>, true, typeof Vec3>;
768
768
  }>> | undefined>, true, typeof Aabb>;
769
769
  readonly height: 0;
770
- readonly objects: PropertyDefinitionReferenceList<Body_2, Body_2 extends MonomorphInstance<infer P, infer I> ? P : never, Body_2 extends MonomorphInstance<infer P, infer I> ? I : never>;
770
+ readonly objects: PropertyDefinitionReferenceList<Body_2, {
771
+ pool: PoolClass<Body_2>;
772
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
773
+ readonly type: PropertyDefinition_2<BodyType, true>;
774
+ readonly position: typeof Vec3;
775
+ readonly orientation: Quat;
776
+ readonly linearVelocity: typeof Vec3;
777
+ readonly angularVelocity: typeof Vec3;
778
+ readonly computedCenterOfMassPosition: PropertyDefinition_2<NoInfer<number[] | {
779
+ x?: number;
780
+ y?: number;
781
+ z?: number;
782
+ } | undefined>, true, typeof Vec3>;
783
+ readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
784
+ readonly min: typeof Vec3;
785
+ readonly max: typeof Vec3;
786
+ readonly centroid: PropertyDefinition_2<NoInfer<number[] | {
787
+ x?: number;
788
+ y?: number;
789
+ z?: number;
790
+ } | undefined>, true, typeof Vec3>;
791
+ }>> | undefined>, true, typeof Aabb>;
792
+ readonly previousPosition: PropertyDefinition_2<NoInfer<number[] | {
793
+ x?: number;
794
+ y?: number;
795
+ z?: number;
796
+ } | undefined>, true, typeof Vec3>;
797
+ readonly previousOrientation: PropertyDefinition_2<NoInfer<{
798
+ x?: number;
799
+ y?: number;
800
+ z?: number;
801
+ w?: number;
802
+ } | number[] | undefined>, true, Quat>;
803
+ readonly isSleeping: PropertyDefinitionBoolean<true>;
804
+ readonly timeWithoutMoving: PropertyDefinitionNumber<true>;
805
+ readonly friction: 0;
806
+ readonly restitution: 0;
807
+ readonly frictionFunction: PropertyDefinition_2<CoefficientFunctionType, true>;
808
+ readonly restitutionFunction: PropertyDefinition_2<CoefficientFunctionType, true>;
809
+ readonly mass: 0;
810
+ readonly density: 0;
811
+ readonly inverseMass: PropertyDefinitionNumber<true>;
812
+ readonly computedLocalInverseInertia: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
813
+ readonly e0: 0;
814
+ readonly e1: 0;
815
+ readonly e2: 0;
816
+ readonly e3: 0;
817
+ readonly e4: 0;
818
+ readonly e5: 0;
819
+ readonly e6: 0;
820
+ readonly e7: 0;
821
+ readonly e8: 0;
822
+ }>> | undefined>, true, Mat3>;
823
+ readonly computedWorldInverseInertia: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
824
+ readonly e0: 0;
825
+ readonly e1: 0;
826
+ readonly e2: 0;
827
+ readonly e3: 0;
828
+ readonly e4: 0;
829
+ readonly e5: 0;
830
+ readonly e6: 0;
831
+ readonly e7: 0;
832
+ readonly e8: 0;
833
+ }>> | undefined>, true, Mat3>;
834
+ readonly colliderType: PropertyDefinition_2<ColliderType, true>;
835
+ readonly gravityScale: 1;
836
+ readonly linearForces: PropertyDefinition_2<NoInfer<number[] | {
837
+ x?: number;
838
+ y?: number;
839
+ z?: number;
840
+ } | undefined>, true, typeof Vec3>;
841
+ readonly angularForces: PropertyDefinition_2<NoInfer<number[] | {
842
+ x?: number;
843
+ y?: number;
844
+ z?: number;
845
+ } | undefined>, true, typeof Vec3>;
846
+ readonly copyForDiff: PropertyDefinitionReference<Body_2 | null, true>;
847
+ readonly firstPotentialPairEdge: PropertyDefinitionReference<BodyPairEdge | null, true>;
848
+ readonly belongsToGroups: PropertyDefinitionNumber<true>;
849
+ readonly collidesWithGroups: PropertyDefinitionNumber<true>;
850
+ readonly node: PropertyDefinitionReference<BvhNode | null, true>;
851
+ readonly shapeType: PropertyDefinition_2<ShapeType, true>;
852
+ readonly shape0: PropertyDefinitionReference<Box | null, true>;
853
+ readonly shape1: PropertyDefinitionReference<Capsule | null, true>;
854
+ readonly shape2: PropertyDefinitionReference<CompoundShape | null, true>;
855
+ readonly shape3: PropertyDefinitionReference<ConvexHull | null, true>;
856
+ readonly shape4: PropertyDefinitionReference<Cylinder | null, true>;
857
+ readonly shape5: PropertyDefinitionReference<HeightMap | null, true>;
858
+ readonly shape6: PropertyDefinitionReference<Sphere | null, true>;
859
+ readonly shape7: PropertyDefinitionReference<TriangleMesh | null, true>;
860
+ readonly isSleepingEnabled: PropertyDefinitionBoolean<true>;
861
+ readonly linearDamping: -1;
862
+ readonly angularDamping: -1;
863
+ readonly firstPotentialConstraintPairEdge: PropertyDefinitionReference<ConstraintPairEdge | null, true>;
864
+ readonly visitGeneration: PropertyDefinitionNumber<true>;
865
+ }>> | undefined)[] | undefined;
866
+ maxLength?: number;
867
+ }>;
771
868
  }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
772
869
  readonly parent: PropertyDefinitionReference<BvhNode | null, true>;
773
870
  readonly left: PropertyDefinitionReference<BvhNode | null, true>;
@@ -782,7 +879,104 @@ z?: number;
782
879
  } | undefined>, true, typeof Vec3>;
783
880
  }>> | undefined>, true, typeof Aabb>;
784
881
  readonly height: 0;
785
- readonly objects: PropertyDefinitionReferenceList<Body_2, Body_2 extends MonomorphInstance<infer P, infer I> ? P : never, Body_2 extends MonomorphInstance<infer P, infer I> ? I : never>;
882
+ readonly objects: PropertyDefinitionReferenceList<Body_2, {
883
+ pool: PoolClass<Body_2>;
884
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
885
+ readonly type: PropertyDefinition_2<BodyType, true>;
886
+ readonly position: typeof Vec3;
887
+ readonly orientation: Quat;
888
+ readonly linearVelocity: typeof Vec3;
889
+ readonly angularVelocity: typeof Vec3;
890
+ readonly computedCenterOfMassPosition: PropertyDefinition_2<NoInfer<number[] | {
891
+ x?: number;
892
+ y?: number;
893
+ z?: number;
894
+ } | undefined>, true, typeof Vec3>;
895
+ readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
896
+ readonly min: typeof Vec3;
897
+ readonly max: typeof Vec3;
898
+ readonly centroid: PropertyDefinition_2<NoInfer<number[] | {
899
+ x?: number;
900
+ y?: number;
901
+ z?: number;
902
+ } | undefined>, true, typeof Vec3>;
903
+ }>> | undefined>, true, typeof Aabb>;
904
+ readonly previousPosition: PropertyDefinition_2<NoInfer<number[] | {
905
+ x?: number;
906
+ y?: number;
907
+ z?: number;
908
+ } | undefined>, true, typeof Vec3>;
909
+ readonly previousOrientation: PropertyDefinition_2<NoInfer<{
910
+ x?: number;
911
+ y?: number;
912
+ z?: number;
913
+ w?: number;
914
+ } | number[] | undefined>, true, Quat>;
915
+ readonly isSleeping: PropertyDefinitionBoolean<true>;
916
+ readonly timeWithoutMoving: PropertyDefinitionNumber<true>;
917
+ readonly friction: 0;
918
+ readonly restitution: 0;
919
+ readonly frictionFunction: PropertyDefinition_2<CoefficientFunctionType, true>;
920
+ readonly restitutionFunction: PropertyDefinition_2<CoefficientFunctionType, true>;
921
+ readonly mass: 0;
922
+ readonly density: 0;
923
+ readonly inverseMass: PropertyDefinitionNumber<true>;
924
+ readonly computedLocalInverseInertia: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
925
+ readonly e0: 0;
926
+ readonly e1: 0;
927
+ readonly e2: 0;
928
+ readonly e3: 0;
929
+ readonly e4: 0;
930
+ readonly e5: 0;
931
+ readonly e6: 0;
932
+ readonly e7: 0;
933
+ readonly e8: 0;
934
+ }>> | undefined>, true, Mat3>;
935
+ readonly computedWorldInverseInertia: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
936
+ readonly e0: 0;
937
+ readonly e1: 0;
938
+ readonly e2: 0;
939
+ readonly e3: 0;
940
+ readonly e4: 0;
941
+ readonly e5: 0;
942
+ readonly e6: 0;
943
+ readonly e7: 0;
944
+ readonly e8: 0;
945
+ }>> | undefined>, true, Mat3>;
946
+ readonly colliderType: PropertyDefinition_2<ColliderType, true>;
947
+ readonly gravityScale: 1;
948
+ readonly linearForces: PropertyDefinition_2<NoInfer<number[] | {
949
+ x?: number;
950
+ y?: number;
951
+ z?: number;
952
+ } | undefined>, true, typeof Vec3>;
953
+ readonly angularForces: PropertyDefinition_2<NoInfer<number[] | {
954
+ x?: number;
955
+ y?: number;
956
+ z?: number;
957
+ } | undefined>, true, typeof Vec3>;
958
+ readonly copyForDiff: PropertyDefinitionReference<Body_2 | null, true>;
959
+ readonly firstPotentialPairEdge: PropertyDefinitionReference<BodyPairEdge | null, true>;
960
+ readonly belongsToGroups: PropertyDefinitionNumber<true>;
961
+ readonly collidesWithGroups: PropertyDefinitionNumber<true>;
962
+ readonly node: PropertyDefinitionReference<BvhNode | null, true>;
963
+ readonly shapeType: PropertyDefinition_2<ShapeType, true>;
964
+ readonly shape0: PropertyDefinitionReference<Box | null, true>;
965
+ readonly shape1: PropertyDefinitionReference<Capsule | null, true>;
966
+ readonly shape2: PropertyDefinitionReference<CompoundShape | null, true>;
967
+ readonly shape3: PropertyDefinitionReference<ConvexHull | null, true>;
968
+ readonly shape4: PropertyDefinitionReference<Cylinder | null, true>;
969
+ readonly shape5: PropertyDefinitionReference<HeightMap | null, true>;
970
+ readonly shape6: PropertyDefinitionReference<Sphere | null, true>;
971
+ readonly shape7: PropertyDefinitionReference<TriangleMesh | null, true>;
972
+ readonly isSleepingEnabled: PropertyDefinitionBoolean<true>;
973
+ readonly linearDamping: -1;
974
+ readonly angularDamping: -1;
975
+ readonly firstPotentialConstraintPairEdge: PropertyDefinitionReference<ConstraintPairEdge | null, true>;
976
+ readonly visitGeneration: PropertyDefinitionNumber<true>;
977
+ }>> | undefined)[] | undefined;
978
+ maxLength?: number;
979
+ }>;
786
980
  }>> | undefined>;
787
981
 
788
982
  export declare class BvhTree {
@@ -816,7 +1010,104 @@ export declare class BvhTree {
816
1010
  } | undefined>, true, typeof Vec3>;
817
1011
  }>> | undefined>, true, typeof Aabb>;
818
1012
  readonly height: 0;
819
- readonly objects: PropertyDefinitionReferenceList<Body_2, Body_2 extends MonomorphInstance<infer P, infer I> ? P : never, Body_2 extends MonomorphInstance<infer P, infer I> ? I : never>;
1013
+ readonly objects: PropertyDefinitionReferenceList<Body_2, {
1014
+ pool: PoolClass<Body_2>;
1015
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1016
+ readonly type: PropertyDefinition_2<BodyType, true>;
1017
+ readonly position: typeof Vec3;
1018
+ readonly orientation: Quat;
1019
+ readonly linearVelocity: typeof Vec3;
1020
+ readonly angularVelocity: typeof Vec3;
1021
+ readonly computedCenterOfMassPosition: PropertyDefinition_2<NoInfer<number[] | {
1022
+ x?: number;
1023
+ y?: number;
1024
+ z?: number;
1025
+ } | undefined>, true, typeof Vec3>;
1026
+ readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1027
+ readonly min: typeof Vec3;
1028
+ readonly max: typeof Vec3;
1029
+ readonly centroid: PropertyDefinition_2<NoInfer<number[] | {
1030
+ x?: number;
1031
+ y?: number;
1032
+ z?: number;
1033
+ } | undefined>, true, typeof Vec3>;
1034
+ }>> | undefined>, true, typeof Aabb>;
1035
+ readonly previousPosition: PropertyDefinition_2<NoInfer<number[] | {
1036
+ x?: number;
1037
+ y?: number;
1038
+ z?: number;
1039
+ } | undefined>, true, typeof Vec3>;
1040
+ readonly previousOrientation: PropertyDefinition_2<NoInfer<{
1041
+ x?: number;
1042
+ y?: number;
1043
+ z?: number;
1044
+ w?: number;
1045
+ } | number[] | undefined>, true, Quat>;
1046
+ readonly isSleeping: PropertyDefinitionBoolean<true>;
1047
+ readonly timeWithoutMoving: PropertyDefinitionNumber<true>;
1048
+ readonly friction: 0;
1049
+ readonly restitution: 0;
1050
+ readonly frictionFunction: PropertyDefinition_2<CoefficientFunctionType, true>;
1051
+ readonly restitutionFunction: PropertyDefinition_2<CoefficientFunctionType, true>;
1052
+ readonly mass: 0;
1053
+ readonly density: 0;
1054
+ readonly inverseMass: PropertyDefinitionNumber<true>;
1055
+ readonly computedLocalInverseInertia: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1056
+ readonly e0: 0;
1057
+ readonly e1: 0;
1058
+ readonly e2: 0;
1059
+ readonly e3: 0;
1060
+ readonly e4: 0;
1061
+ readonly e5: 0;
1062
+ readonly e6: 0;
1063
+ readonly e7: 0;
1064
+ readonly e8: 0;
1065
+ }>> | undefined>, true, Mat3>;
1066
+ readonly computedWorldInverseInertia: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1067
+ readonly e0: 0;
1068
+ readonly e1: 0;
1069
+ readonly e2: 0;
1070
+ readonly e3: 0;
1071
+ readonly e4: 0;
1072
+ readonly e5: 0;
1073
+ readonly e6: 0;
1074
+ readonly e7: 0;
1075
+ readonly e8: 0;
1076
+ }>> | undefined>, true, Mat3>;
1077
+ readonly colliderType: PropertyDefinition_2<ColliderType, true>;
1078
+ readonly gravityScale: 1;
1079
+ readonly linearForces: PropertyDefinition_2<NoInfer<number[] | {
1080
+ x?: number;
1081
+ y?: number;
1082
+ z?: number;
1083
+ } | undefined>, true, typeof Vec3>;
1084
+ readonly angularForces: PropertyDefinition_2<NoInfer<number[] | {
1085
+ x?: number;
1086
+ y?: number;
1087
+ z?: number;
1088
+ } | undefined>, true, typeof Vec3>;
1089
+ readonly copyForDiff: PropertyDefinitionReference<Body_2 | null, true>;
1090
+ readonly firstPotentialPairEdge: PropertyDefinitionReference<BodyPairEdge | null, true>;
1091
+ readonly belongsToGroups: PropertyDefinitionNumber<true>;
1092
+ readonly collidesWithGroups: PropertyDefinitionNumber<true>;
1093
+ readonly node: PropertyDefinitionReference<BvhNode | null, true>;
1094
+ readonly shapeType: PropertyDefinition_2<ShapeType, true>;
1095
+ readonly shape0: PropertyDefinitionReference<Box | null, true>;
1096
+ readonly shape1: PropertyDefinitionReference<Capsule | null, true>;
1097
+ readonly shape2: PropertyDefinitionReference<CompoundShape | null, true>;
1098
+ readonly shape3: PropertyDefinitionReference<ConvexHull | null, true>;
1099
+ readonly shape4: PropertyDefinitionReference<Cylinder | null, true>;
1100
+ readonly shape5: PropertyDefinitionReference<HeightMap | null, true>;
1101
+ readonly shape6: PropertyDefinitionReference<Sphere | null, true>;
1102
+ readonly shape7: PropertyDefinitionReference<TriangleMesh | null, true>;
1103
+ readonly isSleepingEnabled: PropertyDefinitionBoolean<true>;
1104
+ readonly linearDamping: -1;
1105
+ readonly angularDamping: -1;
1106
+ readonly firstPotentialConstraintPairEdge: PropertyDefinitionReference<ConstraintPairEdge | null, true>;
1107
+ readonly visitGeneration: PropertyDefinitionNumber<true>;
1108
+ }>> | undefined)[] | undefined;
1109
+ maxLength?: number;
1110
+ }>;
820
1111
  }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
821
1112
  readonly parent: PropertyDefinitionReference<BvhNode | null, true>;
822
1113
  readonly left: PropertyDefinitionReference<BvhNode | null, true>;
@@ -831,7 +1122,104 @@ export declare class BvhTree {
831
1122
  } | undefined>, true, typeof Vec3>;
832
1123
  }>> | undefined>, true, typeof Aabb>;
833
1124
  readonly height: 0;
834
- readonly objects: PropertyDefinitionReferenceList<Body_2, Body_2 extends MonomorphInstance<infer P, infer I> ? P : never, Body_2 extends MonomorphInstance<infer P, infer I> ? I : never>;
1125
+ readonly objects: PropertyDefinitionReferenceList<Body_2, {
1126
+ pool: PoolClass<Body_2>;
1127
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1128
+ readonly type: PropertyDefinition_2<BodyType, true>;
1129
+ readonly position: typeof Vec3;
1130
+ readonly orientation: Quat;
1131
+ readonly linearVelocity: typeof Vec3;
1132
+ readonly angularVelocity: typeof Vec3;
1133
+ readonly computedCenterOfMassPosition: PropertyDefinition_2<NoInfer<number[] | {
1134
+ x?: number;
1135
+ y?: number;
1136
+ z?: number;
1137
+ } | undefined>, true, typeof Vec3>;
1138
+ readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1139
+ readonly min: typeof Vec3;
1140
+ readonly max: typeof Vec3;
1141
+ readonly centroid: PropertyDefinition_2<NoInfer<number[] | {
1142
+ x?: number;
1143
+ y?: number;
1144
+ z?: number;
1145
+ } | undefined>, true, typeof Vec3>;
1146
+ }>> | undefined>, true, typeof Aabb>;
1147
+ readonly previousPosition: PropertyDefinition_2<NoInfer<number[] | {
1148
+ x?: number;
1149
+ y?: number;
1150
+ z?: number;
1151
+ } | undefined>, true, typeof Vec3>;
1152
+ readonly previousOrientation: PropertyDefinition_2<NoInfer<{
1153
+ x?: number;
1154
+ y?: number;
1155
+ z?: number;
1156
+ w?: number;
1157
+ } | number[] | undefined>, true, Quat>;
1158
+ readonly isSleeping: PropertyDefinitionBoolean<true>;
1159
+ readonly timeWithoutMoving: PropertyDefinitionNumber<true>;
1160
+ readonly friction: 0;
1161
+ readonly restitution: 0;
1162
+ readonly frictionFunction: PropertyDefinition_2<CoefficientFunctionType, true>;
1163
+ readonly restitutionFunction: PropertyDefinition_2<CoefficientFunctionType, true>;
1164
+ readonly mass: 0;
1165
+ readonly density: 0;
1166
+ readonly inverseMass: PropertyDefinitionNumber<true>;
1167
+ readonly computedLocalInverseInertia: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1168
+ readonly e0: 0;
1169
+ readonly e1: 0;
1170
+ readonly e2: 0;
1171
+ readonly e3: 0;
1172
+ readonly e4: 0;
1173
+ readonly e5: 0;
1174
+ readonly e6: 0;
1175
+ readonly e7: 0;
1176
+ readonly e8: 0;
1177
+ }>> | undefined>, true, Mat3>;
1178
+ readonly computedWorldInverseInertia: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1179
+ readonly e0: 0;
1180
+ readonly e1: 0;
1181
+ readonly e2: 0;
1182
+ readonly e3: 0;
1183
+ readonly e4: 0;
1184
+ readonly e5: 0;
1185
+ readonly e6: 0;
1186
+ readonly e7: 0;
1187
+ readonly e8: 0;
1188
+ }>> | undefined>, true, Mat3>;
1189
+ readonly colliderType: PropertyDefinition_2<ColliderType, true>;
1190
+ readonly gravityScale: 1;
1191
+ readonly linearForces: PropertyDefinition_2<NoInfer<number[] | {
1192
+ x?: number;
1193
+ y?: number;
1194
+ z?: number;
1195
+ } | undefined>, true, typeof Vec3>;
1196
+ readonly angularForces: PropertyDefinition_2<NoInfer<number[] | {
1197
+ x?: number;
1198
+ y?: number;
1199
+ z?: number;
1200
+ } | undefined>, true, typeof Vec3>;
1201
+ readonly copyForDiff: PropertyDefinitionReference<Body_2 | null, true>;
1202
+ readonly firstPotentialPairEdge: PropertyDefinitionReference<BodyPairEdge | null, true>;
1203
+ readonly belongsToGroups: PropertyDefinitionNumber<true>;
1204
+ readonly collidesWithGroups: PropertyDefinitionNumber<true>;
1205
+ readonly node: PropertyDefinitionReference<BvhNode | null, true>;
1206
+ readonly shapeType: PropertyDefinition_2<ShapeType, true>;
1207
+ readonly shape0: PropertyDefinitionReference<Box | null, true>;
1208
+ readonly shape1: PropertyDefinitionReference<Capsule | null, true>;
1209
+ readonly shape2: PropertyDefinitionReference<CompoundShape | null, true>;
1210
+ readonly shape3: PropertyDefinitionReference<ConvexHull | null, true>;
1211
+ readonly shape4: PropertyDefinitionReference<Cylinder | null, true>;
1212
+ readonly shape5: PropertyDefinitionReference<HeightMap | null, true>;
1213
+ readonly shape6: PropertyDefinitionReference<Sphere | null, true>;
1214
+ readonly shape7: PropertyDefinitionReference<TriangleMesh | null, true>;
1215
+ readonly isSleepingEnabled: PropertyDefinitionBoolean<true>;
1216
+ readonly linearDamping: -1;
1217
+ readonly angularDamping: -1;
1218
+ readonly firstPotentialConstraintPairEdge: PropertyDefinitionReference<ConstraintPairEdge | null, true>;
1219
+ readonly visitGeneration: PropertyDefinitionNumber<true>;
1220
+ }>> | undefined)[] | undefined;
1221
+ maxLength?: number;
1222
+ }>;
835
1223
  }>> | undefined, BvhNode>;
836
1224
  destroyBvhNode(node: WithPool<BvhNode>): void;
837
1225
  insert(object: WithPool<Body_2>, shouldUpdateDirtyObjects?: boolean): boolean;
@@ -1248,15 +1636,9 @@ z?: number;
1248
1636
  } | undefined>, true, typeof Vec3>;
1249
1637
  }>> | undefined>, true, typeof Aabb>;
1250
1638
  readonly copyForDiff: PropertyDefinitionReference<CompoundShape | null, true>;
1251
- readonly shapes: PropertyDefinitionReferenceList<TransformedShape, ConvertedInputPropertyDefinitionMap< {
1252
- readonly shapeType: PropertyDefinition_2<ShapeType, true>;
1253
- readonly shape0: PropertyDefinitionReference<Box | null, true>;
1254
- readonly shape1: PropertyDefinitionReference<Capsule | null, true>;
1255
- readonly shape3: PropertyDefinitionReference<ConvexHull | null, true>;
1256
- readonly shape4: PropertyDefinitionReference<Cylinder | null, true>;
1257
- readonly shape6: PropertyDefinitionReference<Sphere | null, true>;
1258
- readonly transform: typeof BasicTransform;
1259
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1639
+ readonly shapes: PropertyDefinitionReferenceList<TransformedShape, {
1640
+ pool: PoolClass<TransformedShape>;
1641
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1260
1642
  readonly shapeType: PropertyDefinition_2<ShapeType, true>;
1261
1643
  readonly shape0: PropertyDefinitionReference<Box | null, true>;
1262
1644
  readonly shape1: PropertyDefinitionReference<Capsule | null, true>;
@@ -1264,7 +1646,9 @@ readonly shape3: PropertyDefinitionReference<ConvexHull | null, true>;
1264
1646
  readonly shape4: PropertyDefinitionReference<Cylinder | null, true>;
1265
1647
  readonly shape6: PropertyDefinitionReference<Sphere | null, true>;
1266
1648
  readonly transform: typeof BasicTransform;
1267
- }>> | undefined>;
1649
+ }>> | undefined)[] | undefined;
1650
+ maxLength?: number;
1651
+ }>;
1268
1652
  }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1269
1653
  readonly computedCenterOfMass: PropertyDefinition_2<NoInfer<number[] | {
1270
1654
  x?: number;
@@ -1282,15 +1666,9 @@ z?: number;
1282
1666
  } | undefined>, true, typeof Vec3>;
1283
1667
  }>> | undefined>, true, typeof Aabb>;
1284
1668
  readonly copyForDiff: PropertyDefinitionReference<CompoundShape | null, true>;
1285
- readonly shapes: PropertyDefinitionReferenceList<TransformedShape, ConvertedInputPropertyDefinitionMap< {
1286
- readonly shapeType: PropertyDefinition_2<ShapeType, true>;
1287
- readonly shape0: PropertyDefinitionReference<Box | null, true>;
1288
- readonly shape1: PropertyDefinitionReference<Capsule | null, true>;
1289
- readonly shape3: PropertyDefinitionReference<ConvexHull | null, true>;
1290
- readonly shape4: PropertyDefinitionReference<Cylinder | null, true>;
1291
- readonly shape6: PropertyDefinitionReference<Sphere | null, true>;
1292
- readonly transform: typeof BasicTransform;
1293
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1669
+ readonly shapes: PropertyDefinitionReferenceList<TransformedShape, {
1670
+ pool: PoolClass<TransformedShape>;
1671
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1294
1672
  readonly shapeType: PropertyDefinition_2<ShapeType, true>;
1295
1673
  readonly shape0: PropertyDefinitionReference<Box | null, true>;
1296
1674
  readonly shape1: PropertyDefinitionReference<Capsule | null, true>;
@@ -1298,7 +1676,9 @@ readonly shape3: PropertyDefinitionReference<ConvexHull | null, true>;
1298
1676
  readonly shape4: PropertyDefinitionReference<Cylinder | null, true>;
1299
1677
  readonly shape6: PropertyDefinitionReference<Sphere | null, true>;
1300
1678
  readonly transform: typeof BasicTransform;
1301
- }>> | undefined>;
1679
+ }>> | undefined)[] | undefined;
1680
+ maxLength?: number;
1681
+ }>;
1302
1682
  }>> | undefined>;
1303
1683
 
1304
1684
  export declare type Constraint = PointConstraint | DistanceConstraint | FixedConstraint | HingeConstraint;
@@ -1545,33 +1925,33 @@ readonly firstWorldSpaceNormal: typeof Vec3;
1545
1925
  readonly worldSpaceNormal: typeof Vec3;
1546
1926
  readonly penetrationDepth: 0;
1547
1927
  readonly numContacts: 0;
1548
- readonly contactPointsA: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
1549
- readonly x: 0;
1550
- readonly y: 0;
1551
- readonly z: 0;
1552
- }>, number[] | {
1928
+ readonly contactPointsA: PropertyDefinitionReferenceList<Vec3, {
1929
+ pool: PoolClass<Vec3>;
1930
+ items?: (number[] | {
1553
1931
  x?: number;
1554
1932
  y?: number;
1555
1933
  z?: number;
1556
- } | undefined>;
1557
- readonly contactPointsB: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
1558
- readonly x: 0;
1559
- readonly y: 0;
1560
- readonly z: 0;
1561
- }>, number[] | {
1934
+ } | undefined)[] | undefined;
1935
+ maxLength?: number;
1936
+ }>;
1937
+ readonly contactPointsB: PropertyDefinitionReferenceList<Vec3, {
1938
+ pool: PoolClass<Vec3>;
1939
+ items?: (number[] | {
1562
1940
  x?: number;
1563
1941
  y?: number;
1564
1942
  z?: number;
1565
- } | undefined>;
1566
- readonly lambdas: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
1567
- readonly x: 0;
1568
- readonly y: 0;
1569
- readonly z: 0;
1570
- }>, number[] | {
1943
+ } | undefined)[] | undefined;
1944
+ maxLength?: number;
1945
+ }>;
1946
+ readonly lambdas: PropertyDefinitionReferenceList<Vec3, {
1947
+ pool: PoolClass<Vec3>;
1948
+ items?: (number[] | {
1571
1949
  x?: number;
1572
1950
  y?: number;
1573
1951
  z?: number;
1574
- } | undefined>;
1952
+ } | undefined)[] | undefined;
1953
+ maxLength?: number;
1954
+ }>;
1575
1955
  }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1576
1956
  readonly bodyA: PropertyDefinitionReference<Body_2 | null, true>;
1577
1957
  readonly bodyB: PropertyDefinitionReference<Body_2 | null, true>;
@@ -1583,33 +1963,33 @@ readonly firstWorldSpaceNormal: typeof Vec3;
1583
1963
  readonly worldSpaceNormal: typeof Vec3;
1584
1964
  readonly penetrationDepth: 0;
1585
1965
  readonly numContacts: 0;
1586
- readonly contactPointsA: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
1587
- readonly x: 0;
1588
- readonly y: 0;
1589
- readonly z: 0;
1590
- }>, number[] | {
1966
+ readonly contactPointsA: PropertyDefinitionReferenceList<Vec3, {
1967
+ pool: PoolClass<Vec3>;
1968
+ items?: (number[] | {
1591
1969
  x?: number;
1592
1970
  y?: number;
1593
1971
  z?: number;
1594
- } | undefined>;
1595
- readonly contactPointsB: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
1596
- readonly x: 0;
1597
- readonly y: 0;
1598
- readonly z: 0;
1599
- }>, number[] | {
1972
+ } | undefined)[] | undefined;
1973
+ maxLength?: number;
1974
+ }>;
1975
+ readonly contactPointsB: PropertyDefinitionReferenceList<Vec3, {
1976
+ pool: PoolClass<Vec3>;
1977
+ items?: (number[] | {
1600
1978
  x?: number;
1601
1979
  y?: number;
1602
1980
  z?: number;
1603
- } | undefined>;
1604
- readonly lambdas: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
1605
- readonly x: 0;
1606
- readonly y: 0;
1607
- readonly z: 0;
1608
- }>, number[] | {
1981
+ } | undefined)[] | undefined;
1982
+ maxLength?: number;
1983
+ }>;
1984
+ readonly lambdas: PropertyDefinitionReferenceList<Vec3, {
1985
+ pool: PoolClass<Vec3>;
1986
+ items?: (number[] | {
1609
1987
  x?: number;
1610
1988
  y?: number;
1611
1989
  z?: number;
1612
- } | undefined>;
1990
+ } | undefined)[] | undefined;
1991
+ maxLength?: number;
1992
+ }>;
1613
1993
  }>> | undefined>;
1614
1994
 
1615
1995
  declare class ContactManifoldModule {
@@ -1701,43 +2081,47 @@ readonly e6: 0;
1701
2081
  readonly e7: 0;
1702
2082
  readonly e8: 0;
1703
2083
  }>> | undefined>, true, typeof Mat3>;
1704
- readonly points: PropertyDefinitionReferenceList<ConvexHullPoint, ConvertedInputPropertyDefinitionMap< {
1705
- readonly position: typeof Vec3;
1706
- readonly numFaces: 0;
1707
- readonly faces: typeof Vec3;
1708
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
2084
+ readonly points: PropertyDefinitionReferenceList<ConvexHullPoint, {
2085
+ pool: PoolClass<ConvexHullPoint>;
2086
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1709
2087
  readonly position: typeof Vec3;
1710
2088
  readonly numFaces: 0;
1711
2089
  readonly faces: typeof Vec3;
1712
- }>> | undefined>;
1713
- readonly faces: PropertyDefinitionReferenceList<ConvexHullFace, ConvertedInputPropertyDefinitionMap< {
1714
- readonly firstVertex: 0;
1715
- readonly numVertices: 0;
1716
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
2090
+ }>> | undefined)[] | undefined;
2091
+ maxLength?: number;
2092
+ }>;
2093
+ readonly faces: PropertyDefinitionReferenceList<ConvexHullFace, {
2094
+ pool: PoolClass<ConvexHullFace>;
2095
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1717
2096
  readonly firstVertex: 0;
1718
2097
  readonly numVertices: 0;
1719
- }>> | undefined>;
1720
- readonly planes: PropertyDefinitionReferenceList<Plane, ConvertedInputPropertyDefinitionMap< {
2098
+ }>> | undefined)[] | undefined;
2099
+ maxLength?: number;
2100
+ }>;
2101
+ readonly planes: PropertyDefinitionReferenceList<Plane, {
2102
+ pool: PoolClass<Plane>;
2103
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1721
2104
  readonly normal: typeof Vec3;
1722
2105
  readonly constant: 0;
1723
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1724
- readonly normal: typeof Vec3;
1725
- readonly constant: 0;
1726
- }>> | undefined>;
1727
- readonly vertexIdx: PropertyDefinitionReferenceList<NumberValue, ConvertedInputPropertyDefinitionMap< {
1728
- readonly value: 0;
1729
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
2106
+ }>> | undefined)[] | undefined;
2107
+ maxLength?: number;
2108
+ }>;
2109
+ readonly vertexIdx: PropertyDefinitionReferenceList<NumberValue, {
2110
+ pool: PoolClass<NumberValue>;
2111
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1730
2112
  readonly value: 0;
1731
- }>> | undefined>;
1732
- readonly shapeNoConvexPoints: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
1733
- readonly x: 0;
1734
- readonly y: 0;
1735
- readonly z: 0;
1736
- }>, number[] | {
2113
+ }>> | undefined)[] | undefined;
2114
+ maxLength?: number;
2115
+ }>;
2116
+ readonly shapeNoConvexPoints: PropertyDefinitionReferenceList<Vec3, {
2117
+ pool: PoolClass<Vec3>;
2118
+ items?: (number[] | {
1737
2119
  x?: number;
1738
2120
  y?: number;
1739
2121
  z?: number;
1740
- } | undefined>;
2122
+ } | undefined)[] | undefined;
2123
+ maxLength?: number;
2124
+ }>;
1741
2125
  readonly translation: PropertyDefinition_2<NoInfer<number[] | {
1742
2126
  x?: number;
1743
2127
  y?: number;
@@ -1773,43 +2157,47 @@ readonly e6: 0;
1773
2157
  readonly e7: 0;
1774
2158
  readonly e8: 0;
1775
2159
  }>> | undefined>, true, typeof Mat3>;
1776
- readonly points: PropertyDefinitionReferenceList<ConvexHullPoint, ConvertedInputPropertyDefinitionMap< {
2160
+ readonly points: PropertyDefinitionReferenceList<ConvexHullPoint, {
2161
+ pool: PoolClass<ConvexHullPoint>;
2162
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1777
2163
  readonly position: typeof Vec3;
1778
2164
  readonly numFaces: 0;
1779
2165
  readonly faces: typeof Vec3;
1780
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1781
- readonly position: typeof Vec3;
1782
- readonly numFaces: 0;
1783
- readonly faces: typeof Vec3;
1784
- }>> | undefined>;
1785
- readonly faces: PropertyDefinitionReferenceList<ConvexHullFace, ConvertedInputPropertyDefinitionMap< {
2166
+ }>> | undefined)[] | undefined;
2167
+ maxLength?: number;
2168
+ }>;
2169
+ readonly faces: PropertyDefinitionReferenceList<ConvexHullFace, {
2170
+ pool: PoolClass<ConvexHullFace>;
2171
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1786
2172
  readonly firstVertex: 0;
1787
2173
  readonly numVertices: 0;
1788
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1789
- readonly firstVertex: 0;
1790
- readonly numVertices: 0;
1791
- }>> | undefined>;
1792
- readonly planes: PropertyDefinitionReferenceList<Plane, ConvertedInputPropertyDefinitionMap< {
1793
- readonly normal: typeof Vec3;
1794
- readonly constant: 0;
1795
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
2174
+ }>> | undefined)[] | undefined;
2175
+ maxLength?: number;
2176
+ }>;
2177
+ readonly planes: PropertyDefinitionReferenceList<Plane, {
2178
+ pool: PoolClass<Plane>;
2179
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1796
2180
  readonly normal: typeof Vec3;
1797
2181
  readonly constant: 0;
1798
- }>> | undefined>;
1799
- readonly vertexIdx: PropertyDefinitionReferenceList<NumberValue, ConvertedInputPropertyDefinitionMap< {
1800
- readonly value: 0;
1801
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
2182
+ }>> | undefined)[] | undefined;
2183
+ maxLength?: number;
2184
+ }>;
2185
+ readonly vertexIdx: PropertyDefinitionReferenceList<NumberValue, {
2186
+ pool: PoolClass<NumberValue>;
2187
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
1802
2188
  readonly value: 0;
1803
- }>> | undefined>;
1804
- readonly shapeNoConvexPoints: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
1805
- readonly x: 0;
1806
- readonly y: 0;
1807
- readonly z: 0;
1808
- }>, number[] | {
2189
+ }>> | undefined)[] | undefined;
2190
+ maxLength?: number;
2191
+ }>;
2192
+ readonly shapeNoConvexPoints: PropertyDefinitionReferenceList<Vec3, {
2193
+ pool: PoolClass<Vec3>;
2194
+ items?: (number[] | {
1809
2195
  x?: number;
1810
2196
  y?: number;
1811
2197
  z?: number;
1812
- } | undefined>;
2198
+ } | undefined)[] | undefined;
2199
+ maxLength?: number;
2200
+ }>;
1813
2201
  readonly translation: PropertyDefinition_2<NoInfer<number[] | {
1814
2202
  x?: number;
1815
2203
  y?: number;
@@ -2262,10 +2650,26 @@ export declare class Face extends Face_base {
2262
2650
 
2263
2651
  declare const Face_base: Monomorph<Face, ConvertedInputPropertyDefinitionMap< {
2264
2652
  readonly numVertices: 0;
2265
- readonly buffer: PropertyDefinitionReferenceList<Vec3, Vec3 extends MonomorphInstance<infer P, infer I> ? P : never, Vec3 extends MonomorphInstance<infer P, infer I> ? I : never>;
2653
+ readonly buffer: PropertyDefinitionReferenceList<Vec3, {
2654
+ pool: PoolClass<Vec3>;
2655
+ items?: (number[] | {
2656
+ x?: number;
2657
+ y?: number;
2658
+ z?: number;
2659
+ } | undefined)[] | undefined;
2660
+ maxLength?: number;
2661
+ }>;
2266
2662
  }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
2267
2663
  readonly numVertices: 0;
2268
- readonly buffer: PropertyDefinitionReferenceList<Vec3, Vec3 extends MonomorphInstance<infer P, infer I> ? P : never, Vec3 extends MonomorphInstance<infer P, infer I> ? I : never>;
2664
+ readonly buffer: PropertyDefinitionReferenceList<Vec3, {
2665
+ pool: PoolClass<Vec3>;
2666
+ items?: (number[] | {
2667
+ x?: number;
2668
+ y?: number;
2669
+ z?: number;
2670
+ } | undefined)[] | undefined;
2671
+ maxLength?: number;
2672
+ }>;
2269
2673
  }>> | undefined>;
2270
2674
 
2271
2675
  export declare class FixedConstraint extends FixedConstraint_base implements ConstraintInterface {
@@ -3039,19 +3443,17 @@ readonly worldSpaceTangent: typeof Vec3;
3039
3443
  readonly worldSpaceBitangent: typeof Vec3;
3040
3444
  readonly inverseMassA: 0;
3041
3445
  readonly inverseMassB: 0;
3042
- readonly contactConstraints: PropertyDefinitionReferenceList<ContactConstraint, ConvertedInputPropertyDefinitionMap< {
3446
+ readonly contactConstraints: PropertyDefinitionReferenceList<ContactConstraint, {
3447
+ pool: PoolClass<ContactConstraint>;
3448
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
3043
3449
  readonly normalConstraint: typeof DirectionalConstraint;
3044
3450
  readonly tangentConstraint: typeof DirectionalConstraint;
3045
3451
  readonly bitangentConstraint: typeof DirectionalConstraint;
3046
3452
  readonly localPositionA: typeof Vec3;
3047
3453
  readonly localPositionB: typeof Vec3;
3048
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
3049
- readonly normalConstraint: typeof DirectionalConstraint;
3050
- readonly tangentConstraint: typeof DirectionalConstraint;
3051
- readonly bitangentConstraint: typeof DirectionalConstraint;
3052
- readonly localPositionA: typeof Vec3;
3053
- readonly localPositionB: typeof Vec3;
3054
- }>> | undefined>;
3454
+ }>> | undefined)[] | undefined;
3455
+ maxLength?: number;
3456
+ }>;
3055
3457
  readonly numContacts: 0;
3056
3458
  }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
3057
3459
  readonly bodyA: PropertyDefinitionReference<Body_2 | null, true>;
@@ -3065,19 +3467,17 @@ readonly worldSpaceTangent: typeof Vec3;
3065
3467
  readonly worldSpaceBitangent: typeof Vec3;
3066
3468
  readonly inverseMassA: 0;
3067
3469
  readonly inverseMassB: 0;
3068
- readonly contactConstraints: PropertyDefinitionReferenceList<ContactConstraint, ConvertedInputPropertyDefinitionMap< {
3470
+ readonly contactConstraints: PropertyDefinitionReferenceList<ContactConstraint, {
3471
+ pool: PoolClass<ContactConstraint>;
3472
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
3069
3473
  readonly normalConstraint: typeof DirectionalConstraint;
3070
3474
  readonly tangentConstraint: typeof DirectionalConstraint;
3071
3475
  readonly bitangentConstraint: typeof DirectionalConstraint;
3072
3476
  readonly localPositionA: typeof Vec3;
3073
3477
  readonly localPositionB: typeof Vec3;
3074
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
3075
- readonly normalConstraint: typeof DirectionalConstraint;
3076
- readonly tangentConstraint: typeof DirectionalConstraint;
3077
- readonly bitangentConstraint: typeof DirectionalConstraint;
3078
- readonly localPositionA: typeof Vec3;
3079
- readonly localPositionB: typeof Vec3;
3080
- }>> | undefined>;
3478
+ }>> | undefined)[] | undefined;
3479
+ maxLength?: number;
3480
+ }>;
3081
3481
  readonly numContacts: 0;
3082
3482
  }>> | undefined>;
3083
3483
 
@@ -3183,6 +3583,8 @@ export declare class Mat4 extends Mat4_base {
3183
3583
  };
3184
3584
  identity(): this;
3185
3585
  getRotationMatrix4(out: Mat4): void;
3586
+ decompose(outTranslation: Vec3, outOrientation: Quat, outScale: Vec3): this;
3587
+ compose(translation: Vec3, orientation: Quat, scale: Vec3): Mat4;
3186
3588
  }
3187
3589
 
3188
3590
  declare const Mat4_base: Monomorph<Mat4, ConvertedInputPropertyDefinitionMap< {
@@ -4182,45 +4584,27 @@ readonly e6: 0;
4182
4584
  readonly e7: 0;
4183
4585
  readonly e8: 0;
4184
4586
  }>> | undefined>, true, typeof Mat3>;
4185
- readonly vertexPositions: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
4186
- readonly x: 0;
4187
- readonly y: 0;
4188
- readonly z: 0;
4189
- }>, number[] | {
4190
- x?: number;
4191
- y?: number;
4192
- z?: number;
4193
- } | undefined>;
4194
- readonly faceIndices: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
4195
- readonly x: 0;
4196
- readonly y: 0;
4197
- readonly z: 0;
4198
- }>, number[] | {
4199
- x?: number;
4200
- y?: number;
4201
- z?: number;
4202
- } | undefined>;
4203
- readonly triangles: PropertyDefinitionReferenceList<Triangle, ConvertedInputPropertyDefinitionMap< {
4204
- readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4205
- readonly min: typeof Vec3;
4206
- readonly max: typeof Vec3;
4207
- readonly centroid: PropertyDefinition_2<NoInfer<number[] | {
4587
+ readonly vertexPositions: PropertyDefinitionReferenceList<Vec3, {
4588
+ pool: PoolClass<Vec3>;
4589
+ items?: (number[] | {
4208
4590
  x?: number;
4209
4591
  y?: number;
4210
4592
  z?: number;
4211
- } | undefined>, true, typeof Vec3>;
4212
- }>> | undefined>, true, typeof Aabb>;
4213
- readonly normal: PropertyDefinition_2<NoInfer<number[] | {
4593
+ } | undefined)[] | undefined;
4594
+ maxLength?: number;
4595
+ }>;
4596
+ readonly faceIndices: PropertyDefinitionReferenceList<Vec3, {
4597
+ pool: PoolClass<Vec3>;
4598
+ items?: (number[] | {
4214
4599
  x?: number;
4215
4600
  y?: number;
4216
4601
  z?: number;
4217
- } | undefined>, true, typeof Vec3>;
4218
- readonly a: typeof Vec3;
4219
- readonly b: typeof Vec3;
4220
- readonly c: typeof Vec3;
4221
- readonly subShapeId: PropertyDefinitionNumber<true>;
4222
- readonly activeEdges: PropertyDefinitionNumber<true>;
4223
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4602
+ } | undefined)[] | undefined;
4603
+ maxLength?: number;
4604
+ }>;
4605
+ readonly triangles: PropertyDefinitionReferenceList<Triangle, {
4606
+ pool: PoolClass<Triangle>;
4607
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4224
4608
  readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4225
4609
  readonly min: typeof Vec3;
4226
4610
  readonly max: typeof Vec3;
@@ -4240,7 +4624,9 @@ readonly b: typeof Vec3;
4240
4624
  readonly c: typeof Vec3;
4241
4625
  readonly subShapeId: PropertyDefinitionNumber<true>;
4242
4626
  readonly activeEdges: PropertyDefinitionNumber<true>;
4243
- }>> | undefined>;
4627
+ }>> | undefined)[] | undefined;
4628
+ maxLength?: number;
4629
+ }>;
4244
4630
  readonly copyForDiff: PropertyDefinitionReference<TriangleMesh | null, true>;
4245
4631
  readonly bvh: PropertyDefinitionReference<TriangleMeshBvhTree | null, true>;
4246
4632
  }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
@@ -4271,25 +4657,27 @@ readonly e6: 0;
4271
4657
  readonly e7: 0;
4272
4658
  readonly e8: 0;
4273
4659
  }>> | undefined>, true, typeof Mat3>;
4274
- readonly vertexPositions: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
4275
- readonly x: 0;
4276
- readonly y: 0;
4277
- readonly z: 0;
4278
- }>, number[] | {
4660
+ readonly vertexPositions: PropertyDefinitionReferenceList<Vec3, {
4661
+ pool: PoolClass<Vec3>;
4662
+ items?: (number[] | {
4279
4663
  x?: number;
4280
4664
  y?: number;
4281
4665
  z?: number;
4282
- } | undefined>;
4283
- readonly faceIndices: PropertyDefinitionReferenceList<Vec3, ConvertedInputPropertyDefinitionMap< {
4284
- readonly x: 0;
4285
- readonly y: 0;
4286
- readonly z: 0;
4287
- }>, number[] | {
4666
+ } | undefined)[] | undefined;
4667
+ maxLength?: number;
4668
+ }>;
4669
+ readonly faceIndices: PropertyDefinitionReferenceList<Vec3, {
4670
+ pool: PoolClass<Vec3>;
4671
+ items?: (number[] | {
4288
4672
  x?: number;
4289
4673
  y?: number;
4290
4674
  z?: number;
4291
- } | undefined>;
4292
- readonly triangles: PropertyDefinitionReferenceList<Triangle, ConvertedInputPropertyDefinitionMap< {
4675
+ } | undefined)[] | undefined;
4676
+ maxLength?: number;
4677
+ }>;
4678
+ readonly triangles: PropertyDefinitionReferenceList<Triangle, {
4679
+ pool: PoolClass<Triangle>;
4680
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4293
4681
  readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4294
4682
  readonly min: typeof Vec3;
4295
4683
  readonly max: typeof Vec3;
@@ -4309,27 +4697,9 @@ readonly b: typeof Vec3;
4309
4697
  readonly c: typeof Vec3;
4310
4698
  readonly subShapeId: PropertyDefinitionNumber<true>;
4311
4699
  readonly activeEdges: PropertyDefinitionNumber<true>;
4312
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4313
- readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4314
- readonly min: typeof Vec3;
4315
- readonly max: typeof Vec3;
4316
- readonly centroid: PropertyDefinition_2<NoInfer<number[] | {
4317
- x?: number;
4318
- y?: number;
4319
- z?: number;
4320
- } | undefined>, true, typeof Vec3>;
4321
- }>> | undefined>, true, typeof Aabb>;
4322
- readonly normal: PropertyDefinition_2<NoInfer<number[] | {
4323
- x?: number;
4324
- y?: number;
4325
- z?: number;
4326
- } | undefined>, true, typeof Vec3>;
4327
- readonly a: typeof Vec3;
4328
- readonly b: typeof Vec3;
4329
- readonly c: typeof Vec3;
4330
- readonly subShapeId: PropertyDefinitionNumber<true>;
4331
- readonly activeEdges: PropertyDefinitionNumber<true>;
4332
- }>> | undefined>;
4700
+ }>> | undefined)[] | undefined;
4701
+ maxLength?: number;
4702
+ }>;
4333
4703
  readonly copyForDiff: PropertyDefinitionReference<TriangleMesh | null, true>;
4334
4704
  readonly bvh: PropertyDefinitionReference<TriangleMeshBvhTree | null, true>;
4335
4705
  }>> | undefined>;
@@ -4363,7 +4733,31 @@ z?: number;
4363
4733
  } | undefined>, true, typeof Vec3>;
4364
4734
  }>> | undefined>, true, typeof Aabb>;
4365
4735
  readonly depth: PropertyDefinitionNumber<true>;
4366
- readonly objects: PropertyDefinitionReferenceList<Triangle, Triangle extends MonomorphInstance<infer P, infer I> ? P : never, Triangle extends MonomorphInstance<infer P, infer I> ? I : never>;
4736
+ readonly objects: PropertyDefinitionReferenceList<Triangle, {
4737
+ pool: PoolClass<Triangle>;
4738
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4739
+ readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4740
+ readonly min: typeof Vec3;
4741
+ readonly max: typeof Vec3;
4742
+ readonly centroid: PropertyDefinition_2<NoInfer<number[] | {
4743
+ x?: number;
4744
+ y?: number;
4745
+ z?: number;
4746
+ } | undefined>, true, typeof Vec3>;
4747
+ }>> | undefined>, true, typeof Aabb>;
4748
+ readonly normal: PropertyDefinition_2<NoInfer<number[] | {
4749
+ x?: number;
4750
+ y?: number;
4751
+ z?: number;
4752
+ } | undefined>, true, typeof Vec3>;
4753
+ readonly a: typeof Vec3;
4754
+ readonly b: typeof Vec3;
4755
+ readonly c: typeof Vec3;
4756
+ readonly subShapeId: PropertyDefinitionNumber<true>;
4757
+ readonly activeEdges: PropertyDefinitionNumber<true>;
4758
+ }>> | undefined)[] | undefined;
4759
+ maxLength?: number;
4760
+ }>;
4367
4761
  }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4368
4762
  readonly parent: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4369
4763
  readonly left: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
@@ -4378,7 +4772,31 @@ z?: number;
4378
4772
  } | undefined>, true, typeof Vec3>;
4379
4773
  }>> | undefined>, true, typeof Aabb>;
4380
4774
  readonly depth: PropertyDefinitionNumber<true>;
4381
- readonly objects: PropertyDefinitionReferenceList<Triangle, Triangle extends MonomorphInstance<infer P, infer I> ? P : never, Triangle extends MonomorphInstance<infer P, infer I> ? I : never>;
4775
+ readonly objects: PropertyDefinitionReferenceList<Triangle, {
4776
+ pool: PoolClass<Triangle>;
4777
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4778
+ readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4779
+ readonly min: typeof Vec3;
4780
+ readonly max: typeof Vec3;
4781
+ readonly centroid: PropertyDefinition_2<NoInfer<number[] | {
4782
+ x?: number;
4783
+ y?: number;
4784
+ z?: number;
4785
+ } | undefined>, true, typeof Vec3>;
4786
+ }>> | undefined>, true, typeof Aabb>;
4787
+ readonly normal: PropertyDefinition_2<NoInfer<number[] | {
4788
+ x?: number;
4789
+ y?: number;
4790
+ z?: number;
4791
+ } | undefined>, true, typeof Vec3>;
4792
+ readonly a: typeof Vec3;
4793
+ readonly b: typeof Vec3;
4794
+ readonly c: typeof Vec3;
4795
+ readonly subShapeId: PropertyDefinitionNumber<true>;
4796
+ readonly activeEdges: PropertyDefinitionNumber<true>;
4797
+ }>> | undefined)[] | undefined;
4798
+ maxLength?: number;
4799
+ }>;
4382
4800
  }>> | undefined>;
4383
4801
 
4384
4802
  declare class TriangleMeshBvhTree extends TriangleMeshBvhTree_base {
@@ -4399,7 +4817,31 @@ declare class TriangleMeshBvhTree extends TriangleMeshBvhTree_base {
4399
4817
  } | undefined>, true, typeof Vec3>;
4400
4818
  }>> | undefined>, true, typeof Aabb>;
4401
4819
  readonly depth: PropertyDefinitionNumber<true>;
4402
- readonly objects: PropertyDefinitionReferenceList<Triangle, Triangle extends MonomorphInstance<infer P, infer I> ? P : never, Triangle extends MonomorphInstance<infer P, infer I> ? I : never>;
4820
+ readonly objects: PropertyDefinitionReferenceList<Triangle, {
4821
+ pool: PoolClass<Triangle>;
4822
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4823
+ readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4824
+ readonly min: typeof Vec3;
4825
+ readonly max: typeof Vec3;
4826
+ readonly centroid: PropertyDefinition_2<NoInfer<number[] | {
4827
+ x?: number;
4828
+ y?: number;
4829
+ z?: number;
4830
+ } | undefined>, true, typeof Vec3>;
4831
+ }>> | undefined>, true, typeof Aabb>;
4832
+ readonly normal: PropertyDefinition_2<NoInfer<number[] | {
4833
+ x?: number;
4834
+ y?: number;
4835
+ z?: number;
4836
+ } | undefined>, true, typeof Vec3>;
4837
+ readonly a: typeof Vec3;
4838
+ readonly b: typeof Vec3;
4839
+ readonly c: typeof Vec3;
4840
+ readonly subShapeId: PropertyDefinitionNumber<true>;
4841
+ readonly activeEdges: PropertyDefinitionNumber<true>;
4842
+ }>> | undefined)[] | undefined;
4843
+ maxLength?: number;
4844
+ }>;
4403
4845
  }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4404
4846
  readonly parent: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4405
4847
  readonly left: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
@@ -4414,7 +4856,31 @@ declare class TriangleMeshBvhTree extends TriangleMeshBvhTree_base {
4414
4856
  } | undefined>, true, typeof Vec3>;
4415
4857
  }>> | undefined>, true, typeof Aabb>;
4416
4858
  readonly depth: PropertyDefinitionNumber<true>;
4417
- readonly objects: PropertyDefinitionReferenceList<Triangle, Triangle extends MonomorphInstance<infer P, infer I> ? P : never, Triangle extends MonomorphInstance<infer P, infer I> ? I : never>;
4859
+ readonly objects: PropertyDefinitionReferenceList<Triangle, {
4860
+ pool: PoolClass<Triangle>;
4861
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4862
+ readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4863
+ readonly min: typeof Vec3;
4864
+ readonly max: typeof Vec3;
4865
+ readonly centroid: PropertyDefinition_2<NoInfer<number[] | {
4866
+ x?: number;
4867
+ y?: number;
4868
+ z?: number;
4869
+ } | undefined>, true, typeof Vec3>;
4870
+ }>> | undefined>, true, typeof Aabb>;
4871
+ readonly normal: PropertyDefinition_2<NoInfer<number[] | {
4872
+ x?: number;
4873
+ y?: number;
4874
+ z?: number;
4875
+ } | undefined>, true, typeof Vec3>;
4876
+ readonly a: typeof Vec3;
4877
+ readonly b: typeof Vec3;
4878
+ readonly c: typeof Vec3;
4879
+ readonly subShapeId: PropertyDefinitionNumber<true>;
4880
+ readonly activeEdges: PropertyDefinitionNumber<true>;
4881
+ }>> | undefined)[] | undefined;
4882
+ maxLength?: number;
4883
+ }>;
4418
4884
  }>> | undefined, TriangleMeshBvhNode> | null;
4419
4885
  _buildRecursive(objects: Triangle[], node: TriangleMeshBvhNode, parent: TriangleMeshBvhNode | null): void;
4420
4886
  intersectAabb(onHit: (triangle: Triangle) => boolean, aabb: Aabb): void;
@@ -4425,7 +4891,9 @@ declare class TriangleMeshBvhTree extends TriangleMeshBvhTree_base {
4425
4891
  }
4426
4892
 
4427
4893
  declare const TriangleMeshBvhTree_base: Monomorph<TriangleMeshBvhTree, ConvertedInputPropertyDefinitionMap< {
4428
- readonly nodes: PropertyDefinitionReferenceList<TriangleMeshBvhNode, ConvertedInputPropertyDefinitionMap< {
4894
+ readonly nodes: PropertyDefinitionReferenceList<TriangleMeshBvhNode, {
4895
+ pool: PoolClass<TriangleMeshBvhNode>;
4896
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4429
4897
  readonly parent: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4430
4898
  readonly left: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4431
4899
  readonly right: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
@@ -4439,11 +4907,9 @@ z?: number;
4439
4907
  } | undefined>, true, typeof Vec3>;
4440
4908
  }>> | undefined>, true, typeof Aabb>;
4441
4909
  readonly depth: PropertyDefinitionNumber<true>;
4442
- readonly objects: PropertyDefinitionReferenceList<Triangle, Triangle extends MonomorphInstance<infer P, infer I> ? P : never, Triangle extends MonomorphInstance<infer P, infer I> ? I : never>;
4443
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4444
- readonly parent: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4445
- readonly left: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4446
- readonly right: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4910
+ readonly objects: PropertyDefinitionReferenceList<Triangle, {
4911
+ pool: PoolClass<Triangle>;
4912
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4447
4913
  readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4448
4914
  readonly min: typeof Vec3;
4449
4915
  readonly max: typeof Vec3;
@@ -4453,11 +4919,26 @@ y?: number;
4453
4919
  z?: number;
4454
4920
  } | undefined>, true, typeof Vec3>;
4455
4921
  }>> | undefined>, true, typeof Aabb>;
4456
- readonly depth: PropertyDefinitionNumber<true>;
4457
- readonly objects: PropertyDefinitionReferenceList<Triangle, Triangle extends MonomorphInstance<infer P, infer I> ? P : never, Triangle extends MonomorphInstance<infer P, infer I> ? I : never>;
4458
- }>> | undefined>;
4922
+ readonly normal: PropertyDefinition_2<NoInfer<number[] | {
4923
+ x?: number;
4924
+ y?: number;
4925
+ z?: number;
4926
+ } | undefined>, true, typeof Vec3>;
4927
+ readonly a: typeof Vec3;
4928
+ readonly b: typeof Vec3;
4929
+ readonly c: typeof Vec3;
4930
+ readonly subShapeId: PropertyDefinitionNumber<true>;
4931
+ readonly activeEdges: PropertyDefinitionNumber<true>;
4932
+ }>> | undefined)[] | undefined;
4933
+ maxLength?: number;
4934
+ }>;
4935
+ }>> | undefined)[] | undefined;
4936
+ maxLength?: number;
4937
+ }>;
4459
4938
  }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4460
- readonly nodes: PropertyDefinitionReferenceList<TriangleMeshBvhNode, ConvertedInputPropertyDefinitionMap< {
4939
+ readonly nodes: PropertyDefinitionReferenceList<TriangleMeshBvhNode, {
4940
+ pool: PoolClass<TriangleMeshBvhNode>;
4941
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4461
4942
  readonly parent: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4462
4943
  readonly left: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4463
4944
  readonly right: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
@@ -4471,11 +4952,9 @@ z?: number;
4471
4952
  } | undefined>, true, typeof Vec3>;
4472
4953
  }>> | undefined>, true, typeof Aabb>;
4473
4954
  readonly depth: PropertyDefinitionNumber<true>;
4474
- readonly objects: PropertyDefinitionReferenceList<Triangle, Triangle extends MonomorphInstance<infer P, infer I> ? P : never, Triangle extends MonomorphInstance<infer P, infer I> ? I : never>;
4475
- }>, PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4476
- readonly parent: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4477
- readonly left: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4478
- readonly right: PropertyDefinitionReference<TriangleMeshBvhNode | null, true>;
4955
+ readonly objects: PropertyDefinitionReferenceList<Triangle, {
4956
+ pool: PoolClass<Triangle>;
4957
+ items?: (PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4479
4958
  readonly computedBounds: PropertyDefinition_2<NoInfer<PropertyDefinitionMapInput<ConvertedInputPropertyDefinitionMap< {
4480
4959
  readonly min: typeof Vec3;
4481
4960
  readonly max: typeof Vec3;
@@ -4485,9 +4964,22 @@ y?: number;
4485
4964
  z?: number;
4486
4965
  } | undefined>, true, typeof Vec3>;
4487
4966
  }>> | undefined>, true, typeof Aabb>;
4488
- readonly depth: PropertyDefinitionNumber<true>;
4489
- readonly objects: PropertyDefinitionReferenceList<Triangle, Triangle extends MonomorphInstance<infer P, infer I> ? P : never, Triangle extends MonomorphInstance<infer P, infer I> ? I : never>;
4490
- }>> | undefined>;
4967
+ readonly normal: PropertyDefinition_2<NoInfer<number[] | {
4968
+ x?: number;
4969
+ y?: number;
4970
+ z?: number;
4971
+ } | undefined>, true, typeof Vec3>;
4972
+ readonly a: typeof Vec3;
4973
+ readonly b: typeof Vec3;
4974
+ readonly c: typeof Vec3;
4975
+ readonly subShapeId: PropertyDefinitionNumber<true>;
4976
+ readonly activeEdges: PropertyDefinitionNumber<true>;
4977
+ }>> | undefined)[] | undefined;
4978
+ maxLength?: number;
4979
+ }>;
4980
+ }>> | undefined)[] | undefined;
4981
+ maxLength?: number;
4982
+ }>;
4491
4983
  }>> | undefined>;
4492
4984
 
4493
4985
  /**
package/build/bounce.js CHANGED
@@ -1630,6 +1630,98 @@ class Mat4 extends createClass(mat4Props) {
1630
1630
  out.e14 = 0;
1631
1631
  out.e15 = 1;
1632
1632
  }
1633
+ decompose(outTranslation, outOrientation, outScale) {
1634
+ outTranslation.x = this.e12;
1635
+ outTranslation.y = this.e13;
1636
+ outTranslation.z = this.e14;
1637
+ let m11 = this.e0;
1638
+ let m12 = this.e1;
1639
+ let m13 = this.e2;
1640
+ let m21 = this.e4;
1641
+ let m22 = this.e5;
1642
+ let m23 = this.e6;
1643
+ let m31 = this.e8;
1644
+ let m32 = this.e9;
1645
+ let m33 = this.e10;
1646
+ outScale.x = Math.sqrt(m11 * m11 + m12 * m12 + m13 * m13);
1647
+ outScale.y = Math.sqrt(m21 * m21 + m22 * m22 + m23 * m23);
1648
+ outScale.z = Math.sqrt(m31 * m31 + m32 * m32 + m33 * m33);
1649
+ let is1 = 1 / outScale.x;
1650
+ let is2 = 1 / outScale.y;
1651
+ let is3 = 1 / outScale.z;
1652
+ let sm11 = m11 * is1;
1653
+ let sm12 = m12 * is2;
1654
+ let sm13 = m13 * is3;
1655
+ let sm21 = m21 * is1;
1656
+ let sm22 = m22 * is2;
1657
+ let sm23 = m23 * is3;
1658
+ let sm31 = m31 * is1;
1659
+ let sm32 = m32 * is2;
1660
+ let sm33 = m33 * is3;
1661
+ let trace = sm11 + sm22 + sm33;
1662
+ let S = 0;
1663
+ if (trace > 0) {
1664
+ S = Math.sqrt(trace + 1) * 2;
1665
+ outOrientation.w = 0.25 * S;
1666
+ outOrientation.x = (sm23 - sm32) / S;
1667
+ outOrientation.y = (sm31 - sm13) / S;
1668
+ outOrientation.z = (sm12 - sm21) / S;
1669
+ } else if (sm11 > sm22 && sm11 > sm33) {
1670
+ S = Math.sqrt(1 + sm11 - sm22 - sm33) * 2;
1671
+ outOrientation.w = (sm23 - sm32) / S;
1672
+ outOrientation.x = 0.25 * S;
1673
+ outOrientation.y = (sm12 + sm21) / S;
1674
+ outOrientation.z = (sm31 + sm13) / S;
1675
+ } else if (sm22 > sm33) {
1676
+ S = Math.sqrt(1 + sm22 - sm11 - sm33) * 2;
1677
+ outOrientation.w = (sm31 - sm13) / S;
1678
+ outOrientation.x = (sm12 + sm21) / S;
1679
+ outOrientation.y = 0.25 * S;
1680
+ outOrientation.z = (sm23 + sm32) / S;
1681
+ } else {
1682
+ S = Math.sqrt(1 + sm33 - sm11 - sm22) * 2;
1683
+ outOrientation.w = (sm12 - sm21) / S;
1684
+ outOrientation.x = (sm31 + sm13) / S;
1685
+ outOrientation.y = (sm23 + sm32) / S;
1686
+ outOrientation.z = 0.25 * S;
1687
+ }
1688
+ return this;
1689
+ }
1690
+ compose(translation, orientation, scale2) {
1691
+ let x2 = orientation.x, y4 = orientation.y, z = orientation.z, w3 = orientation.w;
1692
+ let x22 = x2 + x2;
1693
+ let y22 = y4 + y4;
1694
+ let z2 = z + z;
1695
+ let xx = x2 * x22;
1696
+ let xy = x2 * y22;
1697
+ let xz = x2 * z2;
1698
+ let yy = y4 * y22;
1699
+ let yz = y4 * z2;
1700
+ let zz = z * z2;
1701
+ let wx = w3 * x22;
1702
+ let wy = w3 * y22;
1703
+ let wz = w3 * z2;
1704
+ let sx = scale2.x;
1705
+ let sy = scale2.y;
1706
+ let sz = scale2.z;
1707
+ this.e0 = (1 - (yy + zz)) * sx;
1708
+ this.e1 = (xy + wz) * sx;
1709
+ this.e2 = (xz - wy) * sx;
1710
+ this.e3 = 0;
1711
+ this.e4 = (xy - wz) * sy;
1712
+ this.e5 = (1 - (xx + zz)) * sy;
1713
+ this.e6 = (yz + wx) * sy;
1714
+ this.e7 = 0;
1715
+ this.e8 = (xz + wy) * sz;
1716
+ this.e9 = (yz - wx) * sz;
1717
+ this.e10 = (1 - (xx + yy)) * sz;
1718
+ this.e11 = 0;
1719
+ this.e12 = translation.x;
1720
+ this.e13 = translation.y;
1721
+ this.e14 = translation.z;
1722
+ this.e15 = 1;
1723
+ return this;
1724
+ }
1633
1725
  }
1634
1726
  const rotation$3 = /* @__PURE__ */ Quat.create();
1635
1727
  const cross_bn_cn = /* @__PURE__ */ Vec3.create();
@@ -2096,7 +2188,7 @@ let Triangle$1 = class Triangle extends createClass(triangleProps$1) {
2096
2188
  };
2097
2189
  const faceProps = {
2098
2190
  numVertices: 0,
2099
- buffer: LazyReferenceListType((() => Vec3))
2191
+ buffer: LazyReferenceListType(() => Vec3)
2100
2192
  };
2101
2193
  const triangle$1 = /* @__PURE__ */ Triangle$1.create();
2102
2194
  const tempVertex = /* @__PURE__ */ Vec3.create();
@@ -11884,8 +11976,8 @@ function clipPolyVsPoly(out, inPolygonToClip, inClippingPolygon, inClippingPolyg
11884
11976
  class ManifoldCache {
11885
11977
  constructor(options) {
11886
11978
  this.options = {
11887
- maxContactManifolds: 1024,
11888
- maxContactPairs: 1024,
11979
+ maxContactManifolds: Infinity,
11980
+ maxContactPairs: Infinity,
11889
11981
  ...options ?? {}
11890
11982
  };
11891
11983
  this.manifolds = new ContactManifoldPool(this.options.maxContactManifolds, 4);
@@ -97,6 +97,15 @@ const world = new World({
97
97
  maxLinearSpeed: 30.0,
98
98
  maxAngularSpeed: 30.0,
99
99
  isWarmStartingEnabled: true,
100
+
101
+ // contact manifold limits
102
+ // by default since 1.3.0, these are unlimited
103
+ // if set to a finite amount, an error is thrown when an allocation is attempted past the limit
104
+ // this may be desired during development to stay within a strict memory budget, for example
105
+ contactManifoldOptions: {
106
+ maxContactManifolds: Infinity,
107
+ maxContactPairs: Infinity,
108
+ },
100
109
  });
101
110
  ```
102
111
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perplexdotgg/bounce",
3
- "version": "1.2.3",
3
+ "version": "1.2.5",
4
4
  "license": "MIT",
5
5
  "description": "Bounce",
6
6
  "main": "./build/bounce.js",
@@ -12,7 +12,7 @@
12
12
  "test": "vitest"
13
13
  },
14
14
  "dependencies": {
15
- "monomorph": "^1.5.3"
15
+ "monomorph": "^1.5.6"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/node": "^24.9.2",