@newkrok/nape-js 3.3.40 → 3.3.41

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.cts CHANGED
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Converted from nape-compiled.js lines 32346–32733.
9
9
  */
10
- type Any$X = any;
10
+ type Any$Z = any;
11
11
  declare class ZPP_IContact {
12
12
  static __name__: string[];
13
13
  length: number;
@@ -29,7 +29,7 @@ declare class ZPP_IContact {
29
29
  lr1y: number;
30
30
  lr2x: number;
31
31
  lr2y: number;
32
- __class__: Any$X;
32
+ __class__: Any$Z;
33
33
  elem(): this;
34
34
  begin(): ZPP_IContact | null;
35
35
  setbegin(i: ZPP_IContact | null): void;
@@ -73,19 +73,19 @@ declare class ZPP_IContact {
73
73
  * Converted from nape-compiled.js lines 31853–32345, 81644–81645.
74
74
  */
75
75
 
76
- type Any$W = any;
76
+ type Any$Y = any;
77
77
  declare class ZPP_Contact {
78
78
  static __name__: string[];
79
- static _nape: Any$W;
80
- static _zpp: Any$W;
79
+ static _nape: Any$Y;
80
+ static _zpp: Any$Y;
81
81
  static zpp_pool: ZPP_Contact | null;
82
82
  static internal: boolean;
83
- static _wrapFn: ((zpp: ZPP_Contact) => Any$W) | null;
84
- outer: Any$W;
83
+ static _wrapFn: ((zpp: ZPP_Contact) => Any$Y) | null;
84
+ outer: Any$Y;
85
85
  px: number;
86
86
  py: number;
87
- wrap_position: Any$W;
88
- arbiter: Any$W;
87
+ wrap_position: Any$Y;
88
+ arbiter: Any$Y;
89
89
  inner: ZPP_IContact;
90
90
  active: boolean;
91
91
  posOnly: boolean;
@@ -99,9 +99,9 @@ declare class ZPP_Contact {
99
99
  modified: boolean;
100
100
  _inuse: boolean;
101
101
  next: ZPP_Contact | null;
102
- __class__: Any$W;
102
+ __class__: Any$Y;
103
103
  constructor();
104
- wrapper(): Any$W;
104
+ wrapper(): Any$Y;
105
105
  position_validate(): void;
106
106
  getposition(): void;
107
107
  inactiveme(): boolean;
@@ -166,13 +166,13 @@ declare function getNape(): any;
166
166
  *
167
167
  * Converted from nape-compiled.js lines 83820–84273, 134996.
168
168
  */
169
- type Any$V = any;
169
+ type Any$X = any;
170
170
  declare class ZPP_Vec2 {
171
171
  static zpp_pool: ZPP_Vec2 | null;
172
172
  static __name__: string[];
173
- static _nape: Any$V;
174
- static _zpp: Any$V;
175
- static _wrapFn: ((zpp: ZPP_Vec2) => Any$V) | null;
173
+ static _nape: Any$X;
174
+ static _zpp: Any$X;
175
+ static _wrapFn: ((zpp: ZPP_Vec2) => Any$X) | null;
176
176
  x: number;
177
177
  y: number;
178
178
  next: ZPP_Vec2 | null;
@@ -181,18 +181,18 @@ declare class ZPP_Vec2 {
181
181
  pushmod: boolean;
182
182
  _inuse: boolean;
183
183
  weak: boolean;
184
- outer: Any$V;
184
+ outer: Any$X;
185
185
  _immutable: boolean;
186
186
  _isimmutable: (() => void) | null;
187
187
  _validate: (() => void) | null;
188
188
  _invalidate: ((self: ZPP_Vec2) => void) | null;
189
- __class__: Any$V;
189
+ __class__: Any$X;
190
190
  /** Static factory with optional pooling and immutability. */
191
191
  static get(x: number, y: number, immutable?: boolean): ZPP_Vec2;
192
192
  validate(): void;
193
193
  invalidate(): void;
194
194
  immutable(): void;
195
- wrapper(): Any$V;
195
+ wrapper(): Any$X;
196
196
  free(): void;
197
197
  alloc(): void;
198
198
  elem(): ZPP_Vec2;
@@ -344,20 +344,20 @@ type NapeInner = any;
344
344
  *
345
345
  * Converted from nape-compiled.js lines 83412–83434.
346
346
  */
347
- type Any$U = any;
347
+ type Any$W = any;
348
348
  declare class ZPP_Vec3 {
349
349
  static __name__: string[];
350
- static _zpp: Any$U;
351
- static _wrapFn: ((zpp: ZPP_Vec3) => Any$U) | null;
352
- outer: Any$U;
350
+ static _zpp: Any$W;
351
+ static _wrapFn: ((zpp: ZPP_Vec3) => Any$W) | null;
352
+ outer: Any$W;
353
353
  x: number;
354
354
  y: number;
355
355
  z: number;
356
356
  immutable: boolean;
357
357
  _validate: (() => void) | null;
358
- __class__: Any$U;
358
+ __class__: Any$W;
359
359
  validate(): void;
360
- wrapper(): Any$U;
360
+ wrapper(): Any$W;
361
361
  }
362
362
 
363
363
  /**
@@ -421,13 +421,13 @@ declare class Vec3 {
421
421
  *
422
422
  * Converted from nape-compiled.js lines 73495–73561, 133826.
423
423
  */
424
- type Any$T = any;
424
+ type Any$V = any;
425
425
  declare class ZPP_Mat23 {
426
426
  static __name__: string[];
427
- static _nape: Any$T;
428
- static _wrapFn: ((zpp: ZPP_Mat23) => Any$T) | null;
427
+ static _nape: Any$V;
428
+ static _wrapFn: ((zpp: ZPP_Mat23) => Any$V) | null;
429
429
  static zpp_pool: ZPP_Mat23 | null;
430
- outer: Any$T;
430
+ outer: Any$V;
431
431
  a: number;
432
432
  b: number;
433
433
  c: number;
@@ -436,13 +436,13 @@ declare class ZPP_Mat23 {
436
436
  ty: number;
437
437
  _invalidate: (() => void) | null;
438
438
  next: ZPP_Mat23 | null;
439
- __class__: Any$T;
439
+ __class__: Any$V;
440
440
  /** Static factory with pooling. */
441
441
  static get(): ZPP_Mat23;
442
442
  /** Create an identity matrix from pool. */
443
443
  static identity(): ZPP_Mat23;
444
444
  /** Create a public wrapper, recycling any existing inner. */
445
- wrapper(): Any$T;
445
+ wrapper(): Any$V;
446
446
  invalidate(): void;
447
447
  set(m: ZPP_Mat23): void;
448
448
  setas(a: number, b: number, c: number, d: number, tx: number, ty: number): void;
@@ -503,13 +503,13 @@ declare class Mat23 {
503
503
  *
504
504
  * Converted from nape-compiled.js lines 69554–69563.
505
505
  */
506
- type Any$S = any;
506
+ type Any$U = any;
507
507
  declare class ZPP_GeomPoly {
508
508
  static __name__: string[];
509
- outer: Any$S;
510
- vertices: Any$S;
511
- __class__: Any$S;
512
- constructor(outer?: Any$S);
509
+ outer: Any$U;
510
+ vertices: Any$U;
511
+ __class__: Any$U;
512
+ constructor(outer?: Any$U);
513
513
  }
514
514
 
515
515
  /**
@@ -533,7 +533,7 @@ declare class Winding {
533
533
  toString(): string;
534
534
  }
535
535
 
536
- type Any$R = any;
536
+ type Any$T = any;
537
537
  /**
538
538
  * A polygon represented as a circular doubly-linked list of vertices.
539
539
  *
@@ -548,8 +548,8 @@ declare class GeomPoly {
548
548
  zpp_inner: ZPP_GeomPoly;
549
549
  zpp_pool: GeomPoly | null;
550
550
  zpp_disp: boolean;
551
- get _inner(): Any$R;
552
- constructor(vertices?: Any$R);
551
+ get _inner(): Any$T;
552
+ constructor(vertices?: Any$T);
553
553
  private _checkDisposed;
554
554
  /** @internal Get compiled ZPP_GeomVert class */
555
555
  private static _gvClass;
@@ -575,12 +575,12 @@ declare class GeomPoly {
575
575
  private static _addVertices;
576
576
  /** @internal After copying, dispose weak Vec2 inputs */
577
577
  private static _disposeWeakInputs;
578
- static get(vertices?: Any$R): GeomPoly;
578
+ static get(vertices?: Any$T): GeomPoly;
579
579
  empty(): boolean;
580
580
  size(): number;
581
- iterator(): Any$R;
582
- forwardIterator(): Any$R;
583
- backwardsIterator(): Any$R;
581
+ iterator(): Any$T;
582
+ forwardIterator(): Any$T;
583
+ backwardsIterator(): Any$T;
584
584
  current(): Vec2;
585
585
  push(vertex: Vec2): this;
586
586
  pop(): this;
@@ -593,7 +593,7 @@ declare class GeomPoly {
593
593
  copy(): GeomPoly;
594
594
  dispose(): void;
595
595
  area(): number;
596
- winding(): Any$R;
596
+ winding(): Any$T;
597
597
  contains(point: Vec2): boolean;
598
598
  isClockwise(): boolean;
599
599
  isConvex(): boolean;
@@ -601,14 +601,14 @@ declare class GeomPoly {
601
601
  isMonotone(): boolean;
602
602
  isDegenerate(): boolean;
603
603
  simplify(epsilon: number): GeomPoly;
604
- simpleDecomposition(output?: Any$R): Any$R;
605
- monotoneDecomposition(output?: Any$R): Any$R;
606
- convexDecomposition(delaunay?: boolean, output?: Any$R): Any$R;
607
- triangularDecomposition(delaunay?: boolean, output?: Any$R): Any$R;
604
+ simpleDecomposition(output?: Any$T): Any$T;
605
+ monotoneDecomposition(output?: Any$T): Any$T;
606
+ convexDecomposition(delaunay?: boolean, output?: Any$T): Any$T;
607
+ triangularDecomposition(delaunay?: boolean, output?: Any$T): Any$T;
608
608
  inflate(inflation: number): GeomPoly;
609
- cut(start: Vec2, end: Vec2, boundedStart?: boolean, boundedEnd?: boolean, output?: Any$R): Any$R;
610
- transform(matrix: Any$R): this;
611
- bounds(): Any$R;
609
+ cut(start: Vec2, end: Vec2, boundedStart?: boolean, boundedEnd?: boolean, output?: Any$T): Any$T;
610
+ transform(matrix: Any$T): this;
611
+ bounds(): Any$T;
612
612
  top(): Vec2;
613
613
  bottom(): Vec2;
614
614
  left(): Vec2;
@@ -624,30 +624,30 @@ declare class GeomPoly {
624
624
  *
625
625
  * Converted from nape-compiled.js lines 63546–63965, 134951.
626
626
  */
627
- type Any$Q = any;
627
+ type Any$S = any;
628
628
  declare class ZPP_AABB {
629
629
  static zpp_pool: ZPP_AABB | null;
630
630
  static __name__: string[];
631
- static _nape: Any$Q;
632
- static _zpp: Any$Q;
633
- static _wrapFn: ((zpp: ZPP_AABB) => Any$Q) | null;
631
+ static _nape: Any$S;
632
+ static _zpp: Any$S;
633
+ static _wrapFn: ((zpp: ZPP_AABB) => Any$S) | null;
634
634
  _invalidate: ((self: ZPP_AABB) => void) | null;
635
635
  _validate: (() => void) | null;
636
636
  _immutable: boolean;
637
- outer: Any$Q;
637
+ outer: Any$S;
638
638
  next: ZPP_AABB | null;
639
639
  minx: number;
640
640
  miny: number;
641
641
  maxx: number;
642
642
  maxy: number;
643
- wrap_min: Any$Q;
644
- wrap_max: Any$Q;
645
- __class__: Any$Q;
643
+ wrap_min: Any$S;
644
+ wrap_max: Any$S;
645
+ __class__: Any$S;
646
646
  /** Static factory with pooling. */
647
647
  static get(minx: number, miny: number, maxx: number, maxy: number): ZPP_AABB;
648
648
  validate(): void;
649
649
  invalidate(): void;
650
- wrapper(): Any$Q;
650
+ wrapper(): Any$S;
651
651
  alloc(): void;
652
652
  free(): void;
653
653
  copy(): ZPP_AABB;
@@ -658,10 +658,10 @@ declare class ZPP_AABB {
658
658
  private static _makeVec2Wrapper;
659
659
  getmin(): void;
660
660
  dom_min(): void;
661
- mod_min(min: Any$Q): void;
661
+ mod_min(min: Any$S): void;
662
662
  getmax(): void;
663
663
  dom_max(): void;
664
- mod_max(max: Any$Q): void;
664
+ mod_max(max: Any$S): void;
665
665
  intersectX(x: ZPP_AABB): boolean;
666
666
  intersectY(x: ZPP_AABB): boolean;
667
667
  intersect(x: ZPP_AABB): boolean;
@@ -725,18 +725,18 @@ declare class AABB {
725
725
  *
726
726
  * Converted from nape-compiled.js lines 72949–72972.
727
727
  */
728
- type Any$P = any;
728
+ type Any$R = any;
729
729
  declare class ZPP_MatMN {
730
730
  static __name__: string[];
731
- outer: Any$P;
731
+ outer: Any$R;
732
732
  m: number;
733
733
  n: number;
734
734
  x: number[];
735
- __class__: Any$P;
735
+ __class__: Any$R;
736
736
  constructor(m: number, n: number);
737
737
  }
738
738
 
739
- type Any$O = any;
739
+ type Any$Q = any;
740
740
  /**
741
741
  * Variable-sized M×N matrix.
742
742
  *
@@ -747,7 +747,7 @@ declare class MatMN {
747
747
  zpp_inner: ZPP_MatMN;
748
748
  get _inner(): NapeInner;
749
749
  constructor(rows: number, cols: number);
750
- static _wrap(inner: Any$O): MatMN;
750
+ static _wrap(inner: Any$Q): MatMN;
751
751
  get rows(): number;
752
752
  get cols(): number;
753
753
  x(row: number, col: number): number;
@@ -757,7 +757,7 @@ declare class MatMN {
757
757
  mul(matrix: MatMN): MatMN;
758
758
  }
759
759
 
760
- type Any$N = any;
760
+ type Any$P = any;
761
761
  /**
762
762
  * Isosurface extraction using the marching squares algorithm.
763
763
  *
@@ -780,7 +780,7 @@ declare class MarchingSquares {
780
780
  * @param output - Optional GeomPolyList to populate. If null, a new one is created.
781
781
  * @returns The populated GeomPolyList.
782
782
  */
783
- static run(iso: (x: number, y: number) => number, bounds: AABB, cellsize: Vec2, quality?: number, subgrid?: Vec2 | null, combine?: boolean, output?: Any$N): Any$N;
783
+ static run(iso: (x: number, y: number) => number, bounds: AABB, cellsize: Vec2, quality?: number, subgrid?: Vec2 | null, combine?: boolean, output?: Any$P): Any$P;
784
784
  }
785
785
 
786
786
  /**
@@ -816,31 +816,31 @@ declare class Ray {
816
816
  *
817
817
  * Converted from nape-compiled.js lines 38897–39076, 86860–86862.
818
818
  */
819
- type Any$M = any;
819
+ type Any$O = any;
820
820
  declare class ZPP_ConvexRayResult {
821
821
  static __name__: string[];
822
822
  static rayPool: ZPP_ConvexRayResult | null;
823
823
  static convexPool: ZPP_ConvexRayResult | null;
824
824
  static internal: boolean;
825
- static _createRayResult: (() => Any$M) | null;
826
- static _createConvexResult: (() => Any$M) | null;
827
- normal: Any$M;
828
- shape: Any$M;
829
- convex: Any$M;
830
- position: Any$M;
831
- ray: Any$M;
825
+ static _createRayResult: (() => Any$O) | null;
826
+ static _createConvexResult: (() => Any$O) | null;
827
+ normal: Any$O;
828
+ shape: Any$O;
829
+ convex: Any$O;
830
+ position: Any$O;
831
+ ray: Any$O;
832
832
  inner: boolean;
833
833
  next: ZPP_ConvexRayResult | null;
834
834
  toiDistance: number;
835
- __class__: Any$M;
836
- static getRay(normal: Any$M, time: number, inner: boolean, shape: Any$M): Any$M;
837
- static getConvex(normal: Any$M, position: Any$M, toiDistance: number, shape: Any$M): Any$M;
835
+ __class__: Any$O;
836
+ static getRay(normal: Any$O, time: number, inner: boolean, shape: Any$O): Any$O;
837
+ static getConvex(normal: Any$O, position: Any$O, toiDistance: number, shape: Any$O): Any$O;
838
838
  disposed(): void;
839
839
  free(): void;
840
840
  private static _disposeVec2;
841
841
  }
842
842
 
843
- type Any$L = any;
843
+ type Any$N = any;
844
844
  /**
845
845
  * Result from a convex-cast query.
846
846
  *
@@ -855,18 +855,18 @@ declare class ConvexResult {
855
855
  get _inner(): NapeInner;
856
856
  constructor();
857
857
  /** @internal */
858
- static _wrap(inner: Any$L): ConvexResult;
858
+ static _wrap(inner: Any$N): ConvexResult;
859
859
  get normal(): Vec2;
860
860
  get position(): Vec2;
861
861
  get toi(): number;
862
- get shape(): Any$L;
862
+ get shape(): Any$N;
863
863
  dispose(): void;
864
864
  toString(): string;
865
865
  /** @internal */
866
866
  private _disposed;
867
867
  }
868
868
 
869
- type Any$K = any;
869
+ type Any$M = any;
870
870
  /**
871
871
  * Result from a raycast query.
872
872
  *
@@ -881,18 +881,18 @@ declare class RayResult {
881
881
  get _inner(): NapeInner;
882
882
  constructor();
883
883
  /** @internal */
884
- static _wrap(inner: Any$K): RayResult;
884
+ static _wrap(inner: Any$M): RayResult;
885
885
  get normal(): Vec2;
886
886
  get distance(): number;
887
887
  get inner(): boolean;
888
- get shape(): Any$K;
888
+ get shape(): Any$M;
889
889
  dispose(): void;
890
890
  toString(): string;
891
891
  /** @internal */
892
892
  private _disposed;
893
893
  }
894
894
 
895
- type Any$J = any;
895
+ type Any$L = any;
896
896
  /**
897
897
  * Static utility class for geometric queries between shapes and bodies.
898
898
  *
@@ -910,7 +910,7 @@ declare class Geom {
910
910
  * @param out2 - Output Vec2 for closest point on body2.
911
911
  * @returns The distance between the two bodies.
912
912
  */
913
- static distanceBody(body1: Any$J, body2: Any$J, out1: Vec2, out2: Vec2): number;
913
+ static distanceBody(body1: Any$L, body2: Any$L, out1: Vec2, out2: Vec2): number;
914
914
  /**
915
915
  * Calculate minimum distance between two shapes and return closest points.
916
916
  * @param shape1 - First shape (must be part of a body).
@@ -919,28 +919,28 @@ declare class Geom {
919
919
  * @param out2 - Output Vec2 for closest point on shape2.
920
920
  * @returns The distance between the two shapes.
921
921
  */
922
- static distance(shape1: Any$J, shape2: Any$J, out1: Vec2, out2: Vec2): number;
922
+ static distance(shape1: Any$L, shape2: Any$L, out1: Vec2, out2: Vec2): number;
923
923
  /**
924
924
  * Test if two bodies intersect (any of their shapes overlap).
925
925
  * @param body1 - First body (must have shapes).
926
926
  * @param body2 - Second body (must have shapes).
927
927
  * @returns True if the bodies intersect.
928
928
  */
929
- static intersectsBody(body1: Any$J, body2: Any$J): boolean;
929
+ static intersectsBody(body1: Any$L, body2: Any$L): boolean;
930
930
  /**
931
931
  * Test if two shapes intersect.
932
932
  * @param shape1 - First shape (must be part of a body).
933
933
  * @param shape2 - Second shape (must be part of a body).
934
934
  * @returns True if the shapes intersect.
935
935
  */
936
- static intersects(shape1: Any$J, shape2: Any$J): boolean;
936
+ static intersects(shape1: Any$L, shape2: Any$L): boolean;
937
937
  /**
938
938
  * Test if shape1 fully contains shape2.
939
939
  * @param shape1 - Containing shape (must be part of a body).
940
940
  * @param shape2 - Contained shape (must be part of a body).
941
941
  * @returns True if shape1 contains shape2.
942
942
  */
943
- static contains(shape1: Any$J, shape2: Any$J): boolean;
943
+ static contains(shape1: Any$L, shape2: Any$L): boolean;
944
944
  }
945
945
 
946
946
  /**
@@ -1004,7 +1004,7 @@ declare class NapeList<T> implements Iterable<T> {
1004
1004
  *
1005
1005
  * Converted from nape-compiled.js lines 87523–87601, 135477–135481.
1006
1006
  */
1007
- type Any$I = any;
1007
+ type Any$K = any;
1008
1008
  declare class ZPP_Material {
1009
1009
  static zpp_pool: ZPP_Material | null;
1010
1010
  static WAKE: number;
@@ -1017,27 +1017,27 @@ declare class ZPP_Material {
1017
1017
  * _nape = the `nape` public namespace (for wrapper creation)
1018
1018
  * _zpp = the `zpp_nape` internal namespace (for ZNPList_ZPP_Shape)
1019
1019
  */
1020
- static _nape: Any$I;
1021
- static _zpp: Any$I;
1020
+ static _nape: Any$K;
1021
+ static _zpp: Any$K;
1022
1022
  /**
1023
1023
  * Wrapper factory callback, registered by the modernized Material class.
1024
1024
  * When set, wrapper() uses this instead of creating a compiled Material.
1025
1025
  */
1026
- static _wrapFn: ((zpp: ZPP_Material) => Any$I) | null;
1026
+ static _wrapFn: ((zpp: ZPP_Material) => Any$K) | null;
1027
1027
  elasticity: number;
1028
1028
  dynamicFriction: number;
1029
1029
  staticFriction: number;
1030
1030
  density: number;
1031
1031
  rollingFriction: number;
1032
- shapes: Any$I;
1033
- wrap_shapes: Any$I;
1034
- outer: Any$I;
1035
- userData: Any$I;
1032
+ shapes: Any$K;
1033
+ wrap_shapes: Any$K;
1034
+ outer: Any$K;
1035
+ userData: Any$K;
1036
1036
  next: ZPP_Material | null;
1037
- __class__: Any$I;
1037
+ __class__: Any$K;
1038
1038
  constructor();
1039
1039
  /** Create/return the public nape.phys.Material wrapper for this internal object. */
1040
- wrapper(): Any$I;
1040
+ wrapper(): Any$K;
1041
1041
  /** Called when this object is returned to the pool. */
1042
1042
  free(): void;
1043
1043
  /** Called when this object is taken from the pool. */
@@ -1045,9 +1045,9 @@ declare class ZPP_Material {
1045
1045
  /** Initialize the shapes list (called during feature construction). */
1046
1046
  feature_cons(): void;
1047
1047
  /** Register a shape that uses this material. */
1048
- addShape(shape: Any$I): void;
1048
+ addShape(shape: Any$K): void;
1049
1049
  /** Unregister a shape that no longer uses this material. */
1050
- remShape(shape: Any$I): void;
1050
+ remShape(shape: Any$K): void;
1051
1051
  /** Create a copy with the same property values. */
1052
1052
  copy(): ZPP_Material;
1053
1053
  /** Copy all property values from another ZPP_Material. */
@@ -1107,36 +1107,36 @@ declare class Material {
1107
1107
  *
1108
1108
  * Converted from nape-compiled.js lines 87335–87523, 135403.
1109
1109
  */
1110
- type Any$H = any;
1110
+ type Any$J = any;
1111
1111
  declare class ZPP_FluidProperties {
1112
1112
  static zpp_pool: ZPP_FluidProperties | null;
1113
1113
  static __name__: string[];
1114
- static _nape: Any$H;
1115
- static _zpp: Any$H;
1116
- static _wrapFn: ((zpp: ZPP_FluidProperties) => Any$H) | null;
1114
+ static _nape: Any$J;
1115
+ static _zpp: Any$J;
1116
+ static _wrapFn: ((zpp: ZPP_FluidProperties) => Any$J) | null;
1117
1117
  viscosity: number;
1118
1118
  density: number;
1119
1119
  gravityx: number;
1120
1120
  gravityy: number;
1121
- wrap_gravity: Any$H;
1122
- shapes: Any$H;
1123
- wrap_shapes: Any$H;
1124
- outer: Any$H;
1125
- userData: Any$H;
1121
+ wrap_gravity: Any$J;
1122
+ shapes: Any$J;
1123
+ wrap_shapes: Any$J;
1124
+ outer: Any$J;
1125
+ userData: Any$J;
1126
1126
  next: ZPP_FluidProperties | null;
1127
- __class__: Any$H;
1127
+ __class__: Any$J;
1128
1128
  constructor();
1129
1129
  /** Create/return the public nape.phys.FluidProperties wrapper. */
1130
- wrapper(): Any$H;
1130
+ wrapper(): Any$J;
1131
1131
  free(): void;
1132
1132
  alloc(): void;
1133
1133
  feature_cons(): void;
1134
- addShape(shape: Any$H): void;
1135
- remShape(shape: Any$H): void;
1134
+ addShape(shape: Any$J): void;
1135
+ remShape(shape: Any$J): void;
1136
1136
  /** Copy with object pooling. */
1137
1137
  copy(): ZPP_FluidProperties;
1138
1138
  /** Called when gravity Vec2 wrapper is invalidated (user set new gravity). */
1139
- gravity_invalidate(x: Any$H): void;
1139
+ gravity_invalidate(x: Any$J): void;
1140
1140
  /** Sync the gravity Vec2 wrapper with internal values. */
1141
1141
  gravity_validate(): void;
1142
1142
  /** Lazily create and return the gravity Vec2 wrapper. */
@@ -1187,33 +1187,33 @@ declare class FluidProperties {
1187
1187
  *
1188
1188
  * Converted from nape-compiled.js lines 63255–63366, 135329.
1189
1189
  */
1190
- type Any$G = any;
1190
+ type Any$I = any;
1191
1191
  declare class ZPP_InteractionFilter {
1192
1192
  static zpp_pool: ZPP_InteractionFilter | null;
1193
1193
  static __name__: string[];
1194
- static _nape: Any$G;
1195
- static _zpp: Any$G;
1196
- static _wrapFn: ((zpp: ZPP_InteractionFilter) => Any$G) | null;
1194
+ static _nape: Any$I;
1195
+ static _zpp: Any$I;
1196
+ static _wrapFn: ((zpp: ZPP_InteractionFilter) => Any$I) | null;
1197
1197
  collisionGroup: number;
1198
1198
  collisionMask: number;
1199
1199
  sensorGroup: number;
1200
1200
  sensorMask: number;
1201
1201
  fluidGroup: number;
1202
1202
  fluidMask: number;
1203
- shapes: Any$G;
1204
- wrap_shapes: Any$G;
1205
- outer: Any$G;
1206
- userData: Any$G;
1203
+ shapes: Any$I;
1204
+ wrap_shapes: Any$I;
1205
+ outer: Any$I;
1206
+ userData: Any$I;
1207
1207
  next: ZPP_InteractionFilter | null;
1208
- __class__: Any$G;
1208
+ __class__: Any$I;
1209
1209
  constructor();
1210
1210
  /** Create/return the public nape.dynamics.InteractionFilter wrapper. */
1211
- wrapper(): Any$G;
1211
+ wrapper(): Any$I;
1212
1212
  free(): void;
1213
1213
  alloc(): void;
1214
1214
  feature_cons(): void;
1215
- addShape(shape: Any$G): void;
1216
- remShape(shape: Any$G): void;
1215
+ addShape(shape: Any$I): void;
1216
+ remShape(shape: Any$I): void;
1217
1217
  /** Create a copy with object pooling. */
1218
1218
  copy(): ZPP_InteractionFilter;
1219
1219
  /** Test whether two filters allow collision between their shapes. */
@@ -1277,22 +1277,22 @@ declare class InteractionFilter {
1277
1277
  *
1278
1278
  * Converted from nape-compiled.js lines 63367–63463, 135330–135331.
1279
1279
  */
1280
- type Any$F = any;
1280
+ type Any$H = any;
1281
1281
  declare class ZPP_InteractionGroup {
1282
1282
  static SHAPE: number;
1283
1283
  static BODY: number;
1284
1284
  static __name__: string[];
1285
- static _zpp: Any$F;
1286
- static _wrapFn: ((zpp: ZPP_InteractionGroup) => Any$F) | null;
1287
- outer: Any$F;
1285
+ static _zpp: Any$H;
1286
+ static _wrapFn: ((zpp: ZPP_InteractionGroup) => Any$H) | null;
1287
+ outer: Any$H;
1288
1288
  ignore: boolean;
1289
1289
  group: ZPP_InteractionGroup | null;
1290
- groups: Any$F;
1291
- wrap_groups: Any$F;
1292
- interactors: Any$F;
1293
- wrap_interactors: Any$F;
1290
+ groups: Any$H;
1291
+ wrap_groups: Any$H;
1292
+ interactors: Any$H;
1293
+ wrap_interactors: Any$H;
1294
1294
  depth: number;
1295
- __class__: Any$F;
1295
+ __class__: Any$H;
1296
1296
  constructor();
1297
1297
  /** Set or change the parent group. */
1298
1298
  setGroup(group: ZPP_InteractionGroup | null): void;
@@ -1303,9 +1303,9 @@ declare class ZPP_InteractionGroup {
1303
1303
  /** Remove a child group. */
1304
1304
  remGroup(group: ZPP_InteractionGroup): void;
1305
1305
  /** Register an interactor in this group. */
1306
- addInteractor(intx: Any$F): void;
1306
+ addInteractor(intx: Any$H): void;
1307
1307
  /** Unregister an interactor from this group. */
1308
- remInteractor(intx: Any$F, flag?: number): void;
1308
+ remInteractor(intx: Any$H, flag?: number): void;
1309
1309
  }
1310
1310
 
1311
1311
  /**
@@ -1410,6 +1410,8 @@ declare class ShapeType {
1410
1410
 
1411
1411
  /**
1412
1412
  * Base class for physics shapes (Circle, Polygon).
1413
+ *
1414
+ * Fully modernized — all getters/setters access the ZPP_Shape inner directly.
1413
1415
  */
1414
1416
  declare class Shape extends Interactor {
1415
1417
  /** @internal – shapes are created via Circle or Polygon constructors. */
@@ -1417,8 +1419,12 @@ declare class Shape extends Interactor {
1417
1419
  /** @internal */
1418
1420
  static _wrap(inner: NapeInner): Shape;
1419
1421
  get type(): ShapeType;
1422
+ isCircle(): boolean;
1423
+ isPolygon(): boolean;
1420
1424
  get body(): Body;
1421
1425
  set body(value: Body | null);
1426
+ get castCircle(): Shape | null;
1427
+ get castPolygon(): Shape | null;
1422
1428
  get worldCOM(): Vec2;
1423
1429
  get localCOM(): Vec2;
1424
1430
  set localCOM(value: Vec2);
@@ -1438,21 +1444,39 @@ declare class Shape extends Interactor {
1438
1444
  get sensorEnabled(): boolean;
1439
1445
  set sensorEnabled(value: boolean);
1440
1446
  get bounds(): AABB;
1441
- /** Cast to Circle — returns the Circle wrapper or null if not a circle. */
1442
- get castCircle(): Shape | null;
1443
- /** Cast to Polygon — returns the Polygon wrapper or null if not a polygon. */
1444
- get castPolygon(): Shape | null;
1445
- isCircle(): boolean;
1446
- isPolygon(): boolean;
1447
- translate(translation: Vec2): void;
1448
- scale(scaleX: number, scaleY: number): void;
1449
- rotate(angle: number): void;
1447
+ translate(translation: Vec2): Shape;
1448
+ scale(scaleX: number, scaleY: number): Shape;
1449
+ rotate(angle: number): Shape;
1450
1450
  transform(matrix: {
1451
1451
  _inner: NapeInner;
1452
- }): void;
1452
+ }): Shape;
1453
1453
  contains(point: Vec2): boolean;
1454
1454
  copy(): Shape;
1455
1455
  toString(): string;
1456
+ /** @internal */ get_type(): ShapeType;
1457
+ /** @internal */ get_body(): Body;
1458
+ /** @internal */ set_body(v: Body | null): void;
1459
+ /** @internal */ get_castCircle(): Shape | null;
1460
+ /** @internal */ get_castPolygon(): Shape | null;
1461
+ /** @internal */ get_worldCOM(): Vec2;
1462
+ /** @internal */ get_localCOM(): Vec2;
1463
+ /** @internal */ set_localCOM(v: Vec2): void;
1464
+ /** @internal */ get_area(): number;
1465
+ /** @internal */ get_inertia(): number;
1466
+ /** @internal */ get_angDrag(): number;
1467
+ /** @internal */ get_material(): Material;
1468
+ /** @internal */ set_material(v: Material): void;
1469
+ /** @internal */ get_filter(): InteractionFilter;
1470
+ /** @internal */ set_filter(v: InteractionFilter): void;
1471
+ /** @internal */ get_fluidProperties(): FluidProperties;
1472
+ /** @internal */ set_fluidProperties(v: FluidProperties): void;
1473
+ /** @internal */ get_fluidEnabled(): boolean;
1474
+ /** @internal */ set_fluidEnabled(v: boolean): void;
1475
+ /** @internal */ get_sensorEnabled(): boolean;
1476
+ /** @internal */ set_sensorEnabled(v: boolean): void;
1477
+ /** @internal */ get_bounds(): AABB;
1478
+ /** Setup worldCOM lazy Vec2 wrapper */
1479
+ private _setupWorldCOM;
1456
1480
  }
1457
1481
  /** Lightweight typed interface for the callback type set on a shape. */
1458
1482
  interface CbTypeSet {
@@ -1478,7 +1502,7 @@ interface CbTypeSet {
1478
1502
  *
1479
1503
  * Converted from nape-compiled.js lines 21424–21827.
1480
1504
  */
1481
- type Any$E = any;
1505
+ type Any$G = any;
1482
1506
  declare class ZPP_Constraint {
1483
1507
  static __name__: string[];
1484
1508
  /**
@@ -1486,13 +1510,13 @@ declare class ZPP_Constraint {
1486
1510
  * _nape = the `nape` public namespace (for CbTypeIterator in copyto)
1487
1511
  * _zpp = the `zpp_nape` internal namespace (for ZNPList_*, ZPP_CbSet, etc.)
1488
1512
  */
1489
- static _nape: Any$E;
1490
- static _zpp: Any$E;
1491
- outer: Any$E;
1513
+ static _nape: Any$G;
1514
+ static _zpp: Any$G;
1515
+ outer: Any$G;
1492
1516
  id: number;
1493
- userData: Any$E;
1494
- compound: Any$E;
1495
- space: Any$E;
1517
+ userData: Any$G;
1518
+ compound: Any$G;
1519
+ space: Any$G;
1496
1520
  active: boolean;
1497
1521
  stiff: boolean;
1498
1522
  frequency: number;
@@ -1502,14 +1526,14 @@ declare class ZPP_Constraint {
1502
1526
  breakUnderForce: boolean;
1503
1527
  breakUnderError: boolean;
1504
1528
  removeOnBreak: boolean;
1505
- component: Any$E;
1529
+ component: Any$G;
1506
1530
  ignore: boolean;
1507
1531
  __velocity: boolean;
1508
- cbTypes: Any$E;
1509
- cbSet: Any$E;
1510
- wrap_cbTypes: Any$E;
1532
+ cbTypes: Any$G;
1533
+ cbSet: Any$G;
1534
+ wrap_cbTypes: Any$G;
1511
1535
  pre_dt: number;
1512
- __class__: Any$E;
1536
+ __class__: Any$G;
1513
1537
  constructor();
1514
1538
  /**
1515
1539
  * Initialise base constraint fields.
@@ -1527,18 +1551,18 @@ declare class ZPP_Constraint {
1527
1551
  forest(): void;
1528
1552
  broken(): void;
1529
1553
  warmStart(): void;
1530
- draw(_g: Any$E): void;
1531
- pair_exists(_id: Any$E, _di: Any$E): boolean;
1554
+ draw(_g: Any$G): void;
1555
+ pair_exists(_id: Any$G, _di: Any$G): boolean;
1532
1556
  preStep(_dt: number): boolean;
1533
1557
  applyImpulseVel(): boolean;
1534
1558
  applyImpulsePos(): boolean;
1535
- copy(_dict?: Any$E, _todo?: Any$E): Any$E;
1559
+ copy(_dict?: Any$G, _todo?: Any$G): Any$G;
1536
1560
  immutable_midstep(name: string): void;
1537
1561
  setupcbTypes(): void;
1538
1562
  immutable_cbTypes(): void;
1539
- wrap_cbTypes_subber(pcb: Any$E): void;
1540
- wrap_cbTypes_adder(cb: Any$E): boolean;
1541
- insert_cbtype(cb: Any$E): void;
1563
+ wrap_cbTypes_subber(pcb: Any$G): void;
1564
+ wrap_cbTypes_adder(cb: Any$G): boolean;
1565
+ insert_cbtype(cb: Any$G): void;
1542
1566
  alloc_cbSet(): void;
1543
1567
  dealloc_cbSet(): void;
1544
1568
  activate(): void;
@@ -1548,12 +1572,12 @@ declare class ZPP_Constraint {
1548
1572
  activeInSpace(): void;
1549
1573
  inactiveOrOutSpace(): void;
1550
1574
  wake(): void;
1551
- copyto(ret: Any$E): void;
1552
- static _findRoot(comp: Any$E): Any$E;
1553
- static _unionComponents(a: Any$E, b: Any$E): void;
1575
+ copyto(ret: Any$G): void;
1576
+ static _findRoot(comp: Any$G): Any$G;
1577
+ static _unionComponents(a: Any$G, b: Any$G): void;
1554
1578
  }
1555
1579
 
1556
- type Any$D = any;
1580
+ type Any$F = any;
1557
1581
  /**
1558
1582
  * Base class for all constraints / joints.
1559
1583
  *
@@ -1570,16 +1594,16 @@ declare class Constraint {
1570
1594
  * are fully modernized. Also serves as backward compat for compiled code.
1571
1595
  * @internal
1572
1596
  */
1573
- _inner: Any$D;
1597
+ _inner: Any$F;
1574
1598
  debugDraw: boolean;
1575
1599
  /** @internal */
1576
1600
  protected constructor();
1577
1601
  /** @internal */
1578
- static _wrap(inner: Any$D): Constraint;
1602
+ static _wrap(inner: Any$F): Constraint;
1579
1603
  get space(): Space | null;
1580
1604
  set space(value: Space | null);
1581
- get compound(): Any$D;
1582
- set compound(value: Any$D);
1605
+ get compound(): Any$F;
1606
+ set compound(value: Any$F);
1583
1607
  get active(): boolean;
1584
1608
  set active(value: boolean);
1585
1609
  get ignore(): boolean;
@@ -1602,17 +1626,17 @@ declare class Constraint {
1602
1626
  set removeOnBreak(value: boolean);
1603
1627
  get isSleeping(): boolean;
1604
1628
  get userData(): Record<string, unknown>;
1605
- get cbTypes(): Any$D;
1606
- impulse(): Any$D;
1607
- bodyImpulse(_body: Body): Any$D;
1629
+ get cbTypes(): Any$F;
1630
+ impulse(): Any$F;
1631
+ bodyImpulse(_body: Body): Any$F;
1608
1632
  visitBodies(_fn: (body: Body) => void): void;
1609
1633
  copy(): Constraint;
1610
1634
  toString(): string;
1611
- /** @internal */ get_userData(): Any$D;
1612
- /** @internal */ get_compound(): Any$D;
1613
- /** @internal */ set_compound(v: Any$D): Any$D;
1614
- /** @internal */ get_space(): Any$D;
1615
- /** @internal */ set_space(v: Any$D): Any$D;
1635
+ /** @internal */ get_userData(): Any$F;
1636
+ /** @internal */ get_compound(): Any$F;
1637
+ /** @internal */ set_compound(v: Any$F): Any$F;
1638
+ /** @internal */ get_space(): Any$F;
1639
+ /** @internal */ set_space(v: Any$F): Any$F;
1616
1640
  /** @internal */ get_isSleeping(): boolean;
1617
1641
  /** @internal */ get_active(): boolean;
1618
1642
  /** @internal */ set_active(v: boolean): boolean;
@@ -1634,7 +1658,7 @@ declare class Constraint {
1634
1658
  /** @internal */ set_breakUnderError(v: boolean): boolean;
1635
1659
  /** @internal */ get_removeOnBreak(): boolean;
1636
1660
  /** @internal */ set_removeOnBreak(v: boolean): boolean;
1637
- /** @internal */ get_cbTypes(): Any$D;
1661
+ /** @internal */ get_cbTypes(): Any$F;
1638
1662
  }
1639
1663
 
1640
1664
  /**
@@ -1646,24 +1670,24 @@ declare class Constraint {
1646
1670
  *
1647
1671
  * Converted from nape-compiled.js lines 27259–27304, 112053–112139.
1648
1672
  */
1649
- type Any$C = any;
1673
+ type Any$E = any;
1650
1674
  declare class ZPP_Listener {
1651
1675
  static __name__: string[];
1652
- static _nape: Any$C;
1653
- static _zpp: Any$C;
1676
+ static _nape: Any$E;
1677
+ static _zpp: Any$E;
1654
1678
  static internal: boolean;
1655
- static types: Any$C[];
1656
- static events: Any$C[];
1657
- space: Any$C;
1658
- interaction: Any$C;
1659
- constraint: Any$C;
1660
- body: Any$C;
1679
+ static types: Any$E[];
1680
+ static events: Any$E[];
1681
+ space: Any$E;
1682
+ interaction: Any$E;
1683
+ constraint: Any$E;
1684
+ body: Any$E;
1661
1685
  precedence: number;
1662
1686
  event: number;
1663
1687
  type: number;
1664
1688
  id: number;
1665
- outer: Any$C;
1666
- __class__: Any$C;
1689
+ outer: Any$E;
1690
+ __class__: Any$E;
1667
1691
  constructor();
1668
1692
  /** Sort comparator: higher precedence first, then by id descending. */
1669
1693
  static setlt(a: ZPP_Listener, b: ZPP_Listener): boolean;
@@ -1739,20 +1763,20 @@ declare class ListenerType {
1739
1763
  * Fully modernized from nape-compiled.js lines 231–433.
1740
1764
  */
1741
1765
 
1742
- type Any$B = any;
1766
+ type Any$D = any;
1743
1767
  declare class Listener {
1744
1768
  static __name__: string[];
1745
1769
  zpp_inner: ZPP_Listener;
1746
- get _inner(): Any$B;
1770
+ get _inner(): Any$D;
1747
1771
  constructor();
1748
- static _wrap(inner: Any$B): Listener;
1772
+ static _wrap(inner: Any$D): Listener;
1749
1773
  get type(): ListenerType;
1750
1774
  get event(): CbEvent;
1751
1775
  set event(event: CbEvent);
1752
1776
  get precedence(): number;
1753
1777
  set precedence(precedence: number);
1754
1778
  get space(): Space | null;
1755
- set space(space: Space | Any$B | null);
1779
+ set space(space: Space | Any$D | null);
1756
1780
  toString(): string;
1757
1781
  }
1758
1782
 
@@ -1839,46 +1863,46 @@ declare class BodyType {
1839
1863
  * Converted from nape-compiled.js lines 52431–54547.
1840
1864
  */
1841
1865
 
1842
- type Any$A = any;
1866
+ type Any$C = any;
1843
1867
  declare class ZPP_Body {
1844
1868
  static __name__: string[];
1845
- static __super__: Any$A;
1869
+ static __super__: Any$C;
1846
1870
  /**
1847
1871
  * Namespace references, set by the compiled module after import.
1848
1872
  * _nape = the `nape` public namespace
1849
1873
  * _zpp = the `zpp_nape` internal namespace
1850
1874
  */
1851
- static _nape: Any$A;
1852
- static _zpp: Any$A;
1853
- static types: Any$A[];
1854
- static bodystack: Any$A;
1855
- static bodyset: Any$A;
1875
+ static _nape: Any$C;
1876
+ static _zpp: Any$C;
1877
+ static types: Any$C[];
1878
+ static bodystack: Any$C;
1879
+ static bodyset: Any$C;
1856
1880
  static cur_graph_depth: number;
1857
- static bodysetlt(a: Any$A, b: Any$A): boolean;
1858
- static __static(): Any$A;
1859
- outer_i: Any$A;
1881
+ static bodysetlt(a: Any$C, b: Any$C): boolean;
1882
+ static __static(): Any$C;
1883
+ outer_i: Any$C;
1860
1884
  id: number;
1861
- userData: Any$A;
1862
- ishape: Any$A;
1863
- ibody: Any$A;
1864
- icompound: Any$A;
1865
- wrap_cbTypes: Any$A;
1866
- cbSet: Any$A;
1867
- cbTypes: Any$A;
1868
- group: Any$A;
1869
- cbsets: Any$A;
1870
- outer: Any$A;
1885
+ userData: Any$C;
1886
+ ishape: Any$C;
1887
+ ibody: Any$C;
1888
+ icompound: Any$C;
1889
+ wrap_cbTypes: Any$C;
1890
+ cbSet: Any$C;
1891
+ cbTypes: Any$C;
1892
+ group: Any$C;
1893
+ cbsets: Any$C;
1894
+ outer: Any$C;
1871
1895
  world: boolean;
1872
1896
  type: number;
1873
- compound: Any$A;
1874
- shapes: Any$A;
1875
- wrap_shapes: Any$A;
1876
- space: Any$A;
1877
- arbiters: Any$A;
1878
- wrap_arbiters: Any$A;
1879
- constraints: Any$A;
1880
- wrap_constraints: Any$A;
1881
- component: Any$A;
1897
+ compound: Any$C;
1898
+ shapes: Any$C;
1899
+ wrap_shapes: Any$C;
1900
+ space: Any$C;
1901
+ arbiters: Any$C;
1902
+ wrap_arbiters: Any$C;
1903
+ constraints: Any$C;
1904
+ wrap_constraints: Any$C;
1905
+ component: Any$C;
1882
1906
  graph_depth: number;
1883
1907
  sweepTime: number;
1884
1908
  sweep_angvel: number;
@@ -1891,20 +1915,20 @@ declare class ZPP_Body {
1891
1915
  pre_posy: number;
1892
1916
  posx: number;
1893
1917
  posy: number;
1894
- wrap_pos: Any$A;
1918
+ wrap_pos: Any$C;
1895
1919
  velx: number;
1896
1920
  vely: number;
1897
- wrap_vel: Any$A;
1921
+ wrap_vel: Any$C;
1898
1922
  forcex: number;
1899
1923
  forcey: number;
1900
- wrap_force: Any$A;
1924
+ wrap_force: Any$C;
1901
1925
  kinvelx: number;
1902
1926
  kinvely: number;
1903
- wrap_kinvel: Any$A;
1927
+ wrap_kinvel: Any$C;
1904
1928
  svelx: number;
1905
1929
  svely: number;
1906
- wrap_svel: Any$A;
1907
- wrapcvel: Any$A;
1930
+ wrap_svel: Any$C;
1931
+ wrapcvel: Any$C;
1908
1932
  angvel: number;
1909
1933
  torque: number;
1910
1934
  kinangvel: number;
@@ -1941,9 +1965,9 @@ declare class ZPP_Body {
1941
1965
  worldCOMx: number;
1942
1966
  worldCOMy: number;
1943
1967
  zip_worldCOM: boolean;
1944
- wrap_localCOM: Any$A;
1945
- wrap_worldCOM: Any$A;
1946
- __class__: Any$A;
1968
+ wrap_localCOM: Any$C;
1969
+ wrap_worldCOM: Any$C;
1970
+ __class__: Any$C;
1947
1971
  constructor();
1948
1972
  isStatic(): boolean;
1949
1973
  isDynamic(): boolean;
@@ -1951,23 +1975,23 @@ declare class ZPP_Body {
1951
1975
  invalidate_type(): void;
1952
1976
  invalidate_shapes(): void;
1953
1977
  init_bodysetlist(): void;
1954
- connectedBodies_cont(b: Any$A): void;
1955
- connectedBodies(depth: number, output: Any$A): Any$A;
1956
- interactingBodies(type: number, output: Any$A): Any$A;
1978
+ connectedBodies_cont(b: Any$C): void;
1979
+ connectedBodies(depth: number, output: Any$C): Any$C;
1980
+ interactingBodies(type: number, output: Any$C): Any$C;
1957
1981
  atRest(dt: number): boolean;
1958
1982
  refreshArbiters(): void;
1959
1983
  sweepIntegrate(dt: number): void;
1960
- sweepValidate(s: Any$A): void;
1984
+ sweepValidate(s: Any$C): void;
1961
1985
  invalidate_pos(): void;
1962
- pos_invalidate(pos: Any$A): void;
1986
+ pos_invalidate(pos: Any$C): void;
1963
1987
  pos_validate(): void;
1964
- vel_invalidate(vel: Any$A): void;
1988
+ vel_invalidate(vel: Any$C): void;
1965
1989
  vel_validate(): void;
1966
- kinvel_invalidate(vel: Any$A): void;
1990
+ kinvel_invalidate(vel: Any$C): void;
1967
1991
  kinvel_validate(): void;
1968
- svel_invalidate(vel: Any$A): void;
1992
+ svel_invalidate(vel: Any$C): void;
1969
1993
  svel_validate(): void;
1970
- force_invalidate(force: Any$A): void;
1994
+ force_invalidate(force: Any$C): void;
1971
1995
  force_validate(): void;
1972
1996
  private _setupVec2Wrapper;
1973
1997
  setupPosition(): void;
@@ -2004,37 +2028,37 @@ declare class ZPP_Body {
2004
2028
  getworldCOM(): void;
2005
2029
  __immutable_midstep(): void;
2006
2030
  clear(): void;
2007
- shapes_adder(s: Any$A): boolean;
2008
- shapes_subber(s: Any$A): void;
2009
- shapes_invalidate(_param: Any$A): void;
2031
+ shapes_adder(s: Any$C): boolean;
2032
+ shapes_subber(s: Any$C): void;
2033
+ shapes_invalidate(_param: Any$C): void;
2010
2034
  shapes_modifiable(): void;
2011
2035
  addedToSpace(): void;
2012
2036
  removedFromSpace(): void;
2013
2037
  private _removeArbiterFromList;
2014
- copy(): Any$A;
2038
+ copy(): Any$C;
2015
2039
  wake: () => void;
2016
2040
  __iaddedToSpace: () => void;
2017
2041
  __iremovedFromSpace: () => void;
2018
2042
  immutable_midstep: (name: string) => void;
2019
- copyto: (ret: Any$A) => void;
2020
- insert_cbtype: (cb: Any$A) => void;
2043
+ copyto: (ret: Any$C) => void;
2044
+ insert_cbtype: (cb: Any$C) => void;
2021
2045
  alloc_cbSet: () => void;
2022
2046
  dealloc_cbSet: () => void;
2023
2047
  setupcbTypes: () => void;
2024
2048
  immutable_cbTypes: () => void;
2025
- wrap_cbTypes_subber: (pcb: Any$A) => void;
2026
- wrap_cbTypes_adder: (cb: Any$A) => void;
2027
- setGroup: (group: Any$A) => void;
2028
- lookup_group: () => Any$A;
2029
- getSpace: () => Any$A;
2049
+ wrap_cbTypes_subber: (pcb: Any$C) => void;
2050
+ wrap_cbTypes_adder: (cb: Any$C) => void;
2051
+ setGroup: (group: Any$C) => void;
2052
+ lookup_group: () => Any$C;
2053
+ getSpace: () => Any$C;
2030
2054
  isShape: () => boolean;
2031
2055
  isBody: () => boolean;
2032
2056
  isCompound: () => boolean;
2033
2057
  static _initialized: boolean;
2034
- static _init(zpp: Any$A, nape: Any$A): void;
2058
+ static _init(zpp: Any$C, nape: Any$C): void;
2035
2059
  }
2036
2060
 
2037
- type Any$z = any;
2061
+ type Any$B = any;
2038
2062
  /**
2039
2063
  * A rigid body in the physics simulation.
2040
2064
  *
@@ -2042,7 +2066,7 @@ type Any$z = any;
2042
2066
  */
2043
2067
  declare class Body extends Interactor {
2044
2068
  static __name__: string[];
2045
- static __super__: Any$z;
2069
+ static __super__: Any$B;
2046
2070
  /** Direct access to the extracted internal ZPP_Body. */
2047
2071
  zpp_inner: ZPP_Body;
2048
2072
  debugDraw: boolean;
@@ -2094,47 +2118,47 @@ declare class Body extends Interactor {
2094
2118
  get shapes(): NapeList<Shape>;
2095
2119
  get space(): Space;
2096
2120
  set space(value: Space | null);
2097
- get compound(): Any$z;
2098
- set compound(value: Any$z);
2121
+ get compound(): Any$B;
2122
+ set compound(value: Any$B);
2099
2123
  get bounds(): AABB;
2100
2124
  get constraintVelocity(): Vec2;
2101
2125
  get localCOM(): Vec2;
2102
2126
  get worldCOM(): Vec2;
2103
- get massMode(): Any$z;
2104
- set massMode(value: Any$z);
2105
- get inertiaMode(): Any$z;
2106
- set inertiaMode(value: Any$z);
2107
- get gravMassMode(): Any$z;
2108
- set gravMassMode(value: Any$z);
2127
+ get massMode(): Any$B;
2128
+ set massMode(value: Any$B);
2129
+ get inertiaMode(): Any$B;
2130
+ set inertiaMode(value: Any$B);
2131
+ get gravMassMode(): Any$B;
2132
+ set gravMassMode(value: Any$B);
2109
2133
  copy(): Body;
2110
2134
  toString(): string;
2111
- get_type(): Any$z;
2112
- set_type(type: Any$z): Any$z;
2113
- get_shapes(): Any$z;
2135
+ get_type(): Any$B;
2136
+ set_type(type: Any$B): Any$B;
2137
+ get_shapes(): Any$B;
2114
2138
  get_isBullet(): boolean;
2115
2139
  set_isBullet(v: boolean): boolean;
2116
2140
  get_disableCCD(): boolean;
2117
2141
  set_disableCCD(v: boolean): boolean;
2118
- get_position(): Any$z;
2119
- set_position(position: Any$z): Any$z;
2120
- get_velocity(): Any$z;
2121
- set_velocity(velocity: Any$z): Any$z;
2142
+ get_position(): Any$B;
2143
+ set_position(position: Any$B): Any$B;
2144
+ get_velocity(): Any$B;
2145
+ set_velocity(velocity: Any$B): Any$B;
2122
2146
  get_rotation(): number;
2123
2147
  set_rotation(rotation: number): number;
2124
2148
  get_angularVel(): number;
2125
2149
  set_angularVel(angularVel: number): number;
2126
- get_kinematicVel(): Any$z;
2127
- set_kinematicVel(kinematicVel: Any$z): Any$z;
2150
+ get_kinematicVel(): Any$B;
2151
+ set_kinematicVel(kinematicVel: Any$B): Any$B;
2128
2152
  get_kinAngVel(): number;
2129
2153
  set_kinAngVel(kinAngVel: number): number;
2130
- get_surfaceVel(): Any$z;
2131
- set_surfaceVel(surfaceVel: Any$z): Any$z;
2132
- get_force(): Any$z;
2133
- set_force(force: Any$z): Any$z;
2154
+ get_surfaceVel(): Any$B;
2155
+ set_surfaceVel(surfaceVel: Any$B): Any$B;
2156
+ get_force(): Any$B;
2157
+ set_force(force: Any$B): Any$B;
2134
2158
  get_torque(): number;
2135
2159
  set_torque(torque: number): number;
2136
- get_bounds(): Any$z;
2137
- get_constraintVelocity(): Any$z;
2160
+ get_bounds(): Any$B;
2161
+ get_constraintVelocity(): Any$B;
2138
2162
  get_constraintMass(): number;
2139
2163
  get_constraintInertia(): number;
2140
2164
  get_allowMovement(): boolean;
@@ -2142,28 +2166,28 @@ declare class Body extends Interactor {
2142
2166
  get_allowRotation(): boolean;
2143
2167
  set_allowRotation(allowRotation: boolean): boolean;
2144
2168
  get_isSleeping(): boolean;
2145
- get_compound(): Any$z;
2146
- set_compound(compound: Any$z): Any$z;
2147
- get_space(): Any$z;
2148
- set_space(space: Any$z): Any$z;
2149
- get_arbiters(): Any$z;
2150
- get_constraints(): Any$z;
2151
- get_massMode(): Any$z;
2152
- set_massMode(massMode: Any$z): Any$z;
2169
+ get_compound(): Any$B;
2170
+ set_compound(compound: Any$B): Any$B;
2171
+ get_space(): Any$B;
2172
+ set_space(space: Any$B): Any$B;
2173
+ get_arbiters(): Any$B;
2174
+ get_constraints(): Any$B;
2175
+ get_massMode(): Any$B;
2176
+ set_massMode(massMode: Any$B): Any$B;
2153
2177
  get_mass(): number;
2154
2178
  set_mass(mass: number): number;
2155
- get_gravMassMode(): Any$z;
2156
- set_gravMassMode(gravMassMode: Any$z): Any$z;
2179
+ get_gravMassMode(): Any$B;
2180
+ set_gravMassMode(gravMassMode: Any$B): Any$B;
2157
2181
  get_gravMass(): number;
2158
2182
  set_gravMass(gravMass: number): number;
2159
2183
  get_gravMassScale(): number;
2160
2184
  set_gravMassScale(gravMassScale: number): number;
2161
- get_inertiaMode(): Any$z;
2162
- set_inertiaMode(inertiaMode: Any$z): Any$z;
2185
+ get_inertiaMode(): Any$B;
2186
+ set_inertiaMode(inertiaMode: Any$B): Any$B;
2163
2187
  get_inertia(): number;
2164
2188
  set_inertia(inertia: number): number;
2165
- get_localCOM(): Any$z;
2166
- get_worldCOM(): Any$z;
2189
+ get_localCOM(): Any$B;
2190
+ get_worldCOM(): Any$B;
2167
2191
  integrate(deltaTime: number): Body;
2168
2192
  localPointToWorld(point: Vec2, weak?: boolean): Vec2;
2169
2193
  worldPointToLocal(point: Vec2, weak?: boolean): Vec2;
@@ -2175,24 +2199,24 @@ declare class Body extends Interactor {
2175
2199
  translateShapes(translation: Vec2): Body;
2176
2200
  rotateShapes(angle: number): Body;
2177
2201
  scaleShapes(scaleX: number, scaleY: number): Body;
2178
- transformShapes(matrix: Any$z): Body;
2202
+ transformShapes(matrix: Any$B): Body;
2179
2203
  align(): Body;
2180
2204
  rotate(centre: Vec2, angle: number): Body;
2181
- setShapeMaterials(material: Any$z): Body;
2182
- setShapeFilters(filter: Any$z): Body;
2183
- setShapeFluidProperties(fluidProperties: Any$z): Body;
2205
+ setShapeMaterials(material: Any$B): Body;
2206
+ setShapeFilters(filter: Any$B): Body;
2207
+ setShapeFluidProperties(fluidProperties: Any$B): Body;
2184
2208
  contains(point: Vec2): boolean;
2185
- connectedBodies(depth?: number, output?: Any$z): Any$z;
2186
- interactingBodies(type?: Any$z, depth?: number, output?: Any$z): Any$z;
2187
- normalImpulse(body?: Any$z, freshOnly?: boolean): Vec3;
2188
- tangentImpulse(body?: Any$z, freshOnly?: boolean): Vec3;
2189
- totalContactsImpulse(body?: Any$z, freshOnly?: boolean): Vec3;
2190
- rollingImpulse(body?: Any$z, freshOnly?: boolean): number;
2191
- buoyancyImpulse(body?: Any$z): Vec3;
2192
- dragImpulse(body?: Any$z): Vec3;
2193
- totalFluidImpulse(body?: Any$z): Vec3;
2209
+ connectedBodies(depth?: number, output?: Any$B): Any$B;
2210
+ interactingBodies(type?: Any$B, depth?: number, output?: Any$B): Any$B;
2211
+ normalImpulse(body?: Any$B, freshOnly?: boolean): Vec3;
2212
+ tangentImpulse(body?: Any$B, freshOnly?: boolean): Vec3;
2213
+ totalContactsImpulse(body?: Any$B, freshOnly?: boolean): Vec3;
2214
+ rollingImpulse(body?: Any$B, freshOnly?: boolean): number;
2215
+ buoyancyImpulse(body?: Any$B): Vec3;
2216
+ dragImpulse(body?: Any$B): Vec3;
2217
+ totalFluidImpulse(body?: Any$B): Vec3;
2194
2218
  constraintsImpulse(): Vec3;
2195
- totalImpulse(body?: Any$z, freshOnly?: boolean): Vec3;
2219
+ totalImpulse(body?: Any$B, freshOnly?: boolean): Vec3;
2196
2220
  crushFactor(): number;
2197
2221
  private _arbiterImpulseQuery;
2198
2222
  }
@@ -2205,77 +2229,77 @@ declare class Body extends Interactor {
2205
2229
  *
2206
2230
  * Converted from nape-compiled.js lines 55195–55521.
2207
2231
  */
2208
- type Any$y = any;
2232
+ type Any$A = any;
2209
2233
  declare class ZPP_Compound {
2210
2234
  static __name__: string[];
2211
- static __super__: Any$y;
2235
+ static __super__: Any$A;
2212
2236
  /**
2213
2237
  * Namespace references, set by the compiled module after import.
2214
2238
  * _nape = the `nape` public namespace (for wrapper creation in copy())
2215
2239
  * _zpp = the `zpp_nape` internal namespace (for ZNPList_*, ZPP_BodyList, etc.)
2216
2240
  */
2217
- static _nape: Any$y;
2218
- static _zpp: Any$y;
2241
+ static _nape: Any$A;
2242
+ static _zpp: Any$A;
2219
2243
  /**
2220
2244
  * Wrapper factory callback, registered by the modernized Compound class.
2221
2245
  * When set, wrapper() uses this instead of the compiled Compound constructor.
2222
2246
  */
2223
- static _wrapFn: ((zpp: ZPP_Compound) => Any$y) | null;
2224
- outer_i: Any$y;
2247
+ static _wrapFn: ((zpp: ZPP_Compound) => Any$A) | null;
2248
+ outer_i: Any$A;
2225
2249
  id: number;
2226
- userData: Any$y;
2227
- ishape: Any$y;
2228
- ibody: Any$y;
2229
- icompound: Any$y;
2230
- wrap_cbTypes: Any$y;
2231
- cbSet: Any$y;
2232
- cbTypes: Any$y;
2233
- group: Any$y;
2234
- cbsets: Any$y;
2235
- outer: Any$y;
2236
- bodies: Any$y;
2237
- constraints: Any$y;
2238
- compounds: Any$y;
2239
- wrap_bodies: Any$y;
2240
- wrap_constraints: Any$y;
2241
- wrap_compounds: Any$y;
2250
+ userData: Any$A;
2251
+ ishape: Any$A;
2252
+ ibody: Any$A;
2253
+ icompound: Any$A;
2254
+ wrap_cbTypes: Any$A;
2255
+ cbSet: Any$A;
2256
+ cbTypes: Any$A;
2257
+ group: Any$A;
2258
+ cbsets: Any$A;
2259
+ outer: Any$A;
2260
+ bodies: Any$A;
2261
+ constraints: Any$A;
2262
+ compounds: Any$A;
2263
+ wrap_bodies: Any$A;
2264
+ wrap_constraints: Any$A;
2265
+ wrap_compounds: Any$A;
2242
2266
  depth: number;
2243
- compound: Any$y;
2244
- space: Any$y;
2245
- __class__: Any$y;
2267
+ compound: Any$A;
2268
+ space: Any$A;
2269
+ __class__: Any$A;
2246
2270
  constructor();
2247
2271
  __imutable_midstep(name: string): void;
2248
2272
  addedToSpace(): void;
2249
2273
  removedFromSpace(): void;
2250
2274
  breakApart(): void;
2251
2275
  private static _zppOf;
2252
- bodies_adder(x: Any$y): boolean;
2253
- bodies_subber(x: Any$y): void;
2276
+ bodies_adder(x: Any$A): boolean;
2277
+ bodies_subber(x: Any$A): void;
2254
2278
  bodies_modifiable(): void;
2255
- constraints_adder(x: Any$y): boolean;
2256
- constraints_subber(x: Any$y): void;
2279
+ constraints_adder(x: Any$A): boolean;
2280
+ constraints_subber(x: Any$A): void;
2257
2281
  constraints_modifiable(): void;
2258
- compounds_adder(x: Any$y): boolean;
2259
- compounds_subber(x: Any$y): void;
2282
+ compounds_adder(x: Any$A): boolean;
2283
+ compounds_subber(x: Any$A): void;
2260
2284
  compounds_modifiable(): void;
2261
- copy(dict?: Any$y[], todo?: Any$y[]): Any$y;
2285
+ copy(dict?: Any$A[], todo?: Any$A[]): Any$A;
2262
2286
  isShape: () => boolean;
2263
2287
  isBody: () => boolean;
2264
2288
  isCompound: () => boolean;
2265
2289
  __iaddedToSpace: () => void;
2266
2290
  __iremovedFromSpace: () => void;
2267
2291
  wake: () => void;
2268
- getSpace: () => Any$y;
2292
+ getSpace: () => Any$A;
2269
2293
  setupcbTypes: () => void;
2270
2294
  immutable_cbTypes: () => void;
2271
- wrap_cbTypes_subber: (pcb: Any$y) => void;
2272
- wrap_cbTypes_adder: (cb: Any$y) => boolean;
2273
- insert_cbtype: (cb: Any$y) => void;
2295
+ wrap_cbTypes_subber: (pcb: Any$A) => void;
2296
+ wrap_cbTypes_adder: (cb: Any$A) => boolean;
2297
+ insert_cbtype: (cb: Any$A) => void;
2274
2298
  alloc_cbSet: () => void;
2275
2299
  dealloc_cbSet: () => void;
2276
2300
  immutable_midstep: (name: string) => void;
2277
- copyto: (ret: Any$y) => void;
2278
- lookup_group: () => Any$y;
2301
+ copyto: (ret: Any$A) => void;
2302
+ lookup_group: () => Any$A;
2279
2303
  /**
2280
2304
  * Initialize prototype by copying ZPP_Interactor methods.
2281
2305
  * Must be called after _zpp is set (during compiled module init).
@@ -2283,7 +2307,7 @@ declare class ZPP_Compound {
2283
2307
  static _init(): void;
2284
2308
  }
2285
2309
 
2286
- type Any$x = any;
2310
+ type Any$z = any;
2287
2311
  /**
2288
2312
  * A compound physics object — a hierarchical grouping of Bodies, Constraints,
2289
2313
  * and other Compounds.
@@ -2292,18 +2316,18 @@ type Any$x = any;
2292
2316
  */
2293
2317
  declare class Compound extends Interactor {
2294
2318
  static __name__: string[];
2295
- static __super__: Any$x;
2319
+ static __super__: Any$z;
2296
2320
  /** Direct access to the extracted internal ZPP_Compound. */
2297
2321
  zpp_inner: ZPP_Compound;
2298
2322
  constructor();
2299
2323
  /** @internal */
2300
2324
  static _wrap(inner: NapeInner): Compound;
2301
2325
  /** Bodies in this compound. */
2302
- get bodies(): Any$x;
2326
+ get bodies(): Any$z;
2303
2327
  /** Constraints in this compound. */
2304
- get constraints(): Any$x;
2328
+ get constraints(): Any$z;
2305
2329
  /** Child compounds in this compound. */
2306
- get compounds(): Any$x;
2330
+ get compounds(): Any$z;
2307
2331
  /** Parent compound, or null if this is a root compound. */
2308
2332
  get compound(): Compound | null;
2309
2333
  set compound(value: Compound | null);
@@ -2317,7 +2341,7 @@ declare class Compound extends Interactor {
2317
2341
  /** Recursively visit all bodies in this compound and its sub-compounds. */
2318
2342
  visitBodies(lambda: (body: Body) => void): void;
2319
2343
  /** Recursively visit all constraints in this compound and its sub-compounds. */
2320
- visitConstraints(lambda: (constraint: Any$x) => void): void;
2344
+ visitConstraints(lambda: (constraint: Any$z) => void): void;
2321
2345
  /** Recursively visit all sub-compounds in this compound. */
2322
2346
  visitCompounds(lambda: (compound: Compound) => void): void;
2323
2347
  /** Calculate the center of mass of all bodies in this compound. */
@@ -2327,13 +2351,13 @@ declare class Compound extends Interactor {
2327
2351
  /** Rotate all bodies in this compound around the given centre point. */
2328
2352
  rotate(centre: Vec2, angle: number): Compound;
2329
2353
  toString(): string;
2330
- get_bodies(): Any$x;
2331
- get_constraints(): Any$x;
2332
- get_compounds(): Any$x;
2333
- get_compound(): Any$x;
2334
- set_compound(compound: Any$x): Any$x;
2335
- get_space(): Any$x;
2336
- set_space(space: Any$x): Any$x;
2354
+ get_bodies(): Any$z;
2355
+ get_constraints(): Any$z;
2356
+ get_compounds(): Any$z;
2357
+ get_compound(): Any$z;
2358
+ set_compound(compound: Any$z): Any$z;
2359
+ get_space(): Any$z;
2360
+ set_space(space: Any$z): Any$z;
2337
2361
  }
2338
2362
 
2339
2363
  /**
@@ -2401,21 +2425,21 @@ declare class MassMode {
2401
2425
  *
2402
2426
  * Converted from nape-compiled.js lines 41496–41827.
2403
2427
  */
2404
- type Any$w = any;
2428
+ type Any$y = any;
2405
2429
  declare class ZPP_Circle {
2406
2430
  static __name__: string[];
2407
- static __super__: Any$w;
2408
- static _nape: Any$w;
2409
- static _zpp: Any$w;
2431
+ static __super__: Any$y;
2432
+ static _nape: Any$y;
2433
+ static _zpp: Any$y;
2410
2434
  static _initialized: boolean;
2411
2435
  radius: number;
2412
- outer_zn: Any$w;
2413
- __class__: Any$w;
2414
- body: Any$w;
2436
+ outer_zn: Any$y;
2437
+ __class__: Any$y;
2438
+ body: Any$y;
2415
2439
  type: number;
2416
- circle: Any$w;
2417
- polygon: Any$w;
2418
- aabb: Any$w;
2440
+ circle: Any$y;
2441
+ polygon: Any$y;
2442
+ aabb: Any$y;
2419
2443
  localCOMx: number;
2420
2444
  localCOMy: number;
2421
2445
  worldCOMx: number;
@@ -2429,25 +2453,25 @@ declare class ZPP_Circle {
2429
2453
  angDrag: number;
2430
2454
  sweepCoef: number;
2431
2455
  sweepRadius: number;
2432
- material: Any$w;
2433
- filter: Any$w;
2434
- wrap_localCOM: Any$w;
2435
- outer: Any$w;
2436
- outer_i: Any$w;
2437
- space: Any$w;
2456
+ material: Any$y;
2457
+ filter: Any$y;
2458
+ wrap_localCOM: Any$y;
2459
+ outer: Any$y;
2460
+ outer_i: Any$y;
2461
+ space: Any$y;
2438
2462
  invalidate_area_inertia: () => void;
2439
2463
  invalidate_angDrag: () => void;
2440
2464
  invalidate_localCOM: () => void;
2441
2465
  immutable_midstep: (name: string) => void;
2442
- setMaterial: (mat: Any$w) => void;
2443
- setFilter: (filt: Any$w) => void;
2444
- insert_cbtype: (cb: Any$w) => void;
2466
+ setMaterial: (mat: Any$y) => void;
2467
+ setFilter: (filt: Any$y) => void;
2468
+ insert_cbtype: (cb: Any$y) => void;
2445
2469
  constructor();
2446
2470
  static _init(): void;
2447
2471
  __clear(): void;
2448
2472
  invalidate_radius(): void;
2449
2473
  localCOM_validate(): void;
2450
- localCOM_invalidate(x: Any$w): void;
2474
+ localCOM_invalidate(x: Any$y): void;
2451
2475
  localCOM_immutable(): void;
2452
2476
  setupLocalCOM(): void;
2453
2477
  __validate_aabb(): void;
@@ -2458,11 +2482,11 @@ declare class ZPP_Circle {
2458
2482
  __scale(sx: number, sy: number): void;
2459
2483
  __translate(x: number, y: number): void;
2460
2484
  __rotate(x: number, y: number): void;
2461
- __transform(m: Any$w): void;
2462
- __copy(): Any$w;
2485
+ __transform(m: Any$y): void;
2486
+ __copy(): Any$y;
2463
2487
  }
2464
2488
 
2465
- type Any$v = any;
2489
+ type Any$x = any;
2466
2490
  /**
2467
2491
  * A circular physics shape.
2468
2492
  *
@@ -2472,7 +2496,7 @@ type Any$v = any;
2472
2496
  */
2473
2497
  declare class Circle extends Shape {
2474
2498
  static __name__: string[];
2475
- static __super__: Any$v;
2499
+ static __super__: Any$x;
2476
2500
  /** Direct access to the extracted internal ZPP_Circle. */
2477
2501
  zpp_inner_zn: ZPP_Circle;
2478
2502
  constructor(radius?: number, localCOM?: Vec2, material?: Material, filter?: InteractionFilter);
@@ -2504,6 +2528,95 @@ declare class Polygon extends Shape {
2504
2528
  validity(): NapeInner;
2505
2529
  }
2506
2530
 
2531
+ /**
2532
+ * ZPP_Edge — Internal edge representation for polygon shapes.
2533
+ *
2534
+ * Each edge stores local/world normal, projection values, and vertex references.
2535
+ * Edges are pooled and belong to a ZPP_Polygon.
2536
+ *
2537
+ * Converted from nape-compiled.js lines 41828–42175.
2538
+ */
2539
+ type Any$w = any;
2540
+ declare class ZPP_Edge {
2541
+ static __name__: string[];
2542
+ static zpp_pool: ZPP_Edge | null;
2543
+ static internal: boolean;
2544
+ static _nape: Any$w;
2545
+ static _zpp: Any$w;
2546
+ static _wrapFn: ((zpp: ZPP_Edge) => Any$w) | null;
2547
+ next: ZPP_Edge | null;
2548
+ polygon: Any$w;
2549
+ outer: Any$w;
2550
+ lnormx: number;
2551
+ lnormy: number;
2552
+ wrap_lnorm: Any$w;
2553
+ gnormx: number;
2554
+ gnormy: number;
2555
+ wrap_gnorm: Any$w;
2556
+ length: number;
2557
+ lprojection: number;
2558
+ gprojection: number;
2559
+ lp0: Any$w;
2560
+ gp0: Any$w;
2561
+ lp1: Any$w;
2562
+ gp1: Any$w;
2563
+ tp0: number;
2564
+ tp1: number;
2565
+ __class__: Any$w;
2566
+ constructor();
2567
+ free(): void;
2568
+ alloc(): void;
2569
+ wrapper(): Any$w;
2570
+ lnorm_validate(): void;
2571
+ gnorm_validate(): void;
2572
+ getlnorm(): void;
2573
+ getgnorm(): void;
2574
+ }
2575
+
2576
+ type Any$v = any;
2577
+ /**
2578
+ * An edge of a polygon shape.
2579
+ *
2580
+ * Edges are read-only and managed by the polygon they belong to.
2581
+ * Cannot be instantiated directly — only obtained from Polygon.edges.
2582
+ *
2583
+ * Fully modernized — all getters access ZPP_Edge directly.
2584
+ */
2585
+ declare class Edge {
2586
+ static __name__: string[];
2587
+ /** Direct access to the internal ZPP_Edge. */
2588
+ zpp_inner: ZPP_Edge;
2589
+ constructor();
2590
+ /** @internal */
2591
+ static _wrap(inner: Any$v): Edge;
2592
+ /** Parent polygon (as compiled Polygon wrapper). */
2593
+ get polygon(): Any$v;
2594
+ /** Local-space normal vector (immutable Vec2). */
2595
+ get localNormal(): Vec2;
2596
+ /** World-space normal vector (immutable Vec2). Requires polygon in a body. */
2597
+ get worldNormal(): Vec2;
2598
+ /** Edge length. */
2599
+ get length(): number;
2600
+ /** Local-space projection along the edge normal. */
2601
+ get localProjection(): number;
2602
+ /** World-space projection. Requires polygon in a body. */
2603
+ get worldProjection(): number;
2604
+ /** First local vertex of this edge. */
2605
+ get localVertex1(): Vec2;
2606
+ /** Second local vertex of this edge. */
2607
+ get localVertex2(): Vec2;
2608
+ /** First world vertex. Requires polygon in a body. */
2609
+ get worldVertex1(): Vec2;
2610
+ /** Second world vertex. Requires polygon in a body. */
2611
+ get worldVertex2(): Vec2;
2612
+ toString(): string;
2613
+ /**
2614
+ * Wrap a ZPP_Vec2 vertex into its public Vec2 outer.
2615
+ * Mirrors the compiled vertex wrapping pattern.
2616
+ */
2617
+ private _wrapVert;
2618
+ }
2619
+
2507
2620
  /**
2508
2621
  * Result of polygon shape validation.
2509
2622
  *
@@ -3608,4 +3721,4 @@ declare class PulleyJoint extends Constraint {
3608
3721
 
3609
3722
  declare const VERSION: string;
3610
3723
 
3611
- export { AABB, AngleJoint, Arbiter, ArbiterType, Body, BodyCallback, BodyListener, BodyType, Broadphase, Callback, CbEvent, CbType, Circle, CollisionArbiter, Compound, Constraint, ConstraintCallback, ConstraintListener, Contact, ConvexResult, DistanceJoint, FluidArbiter, FluidProperties, Geom, GeomPoly, GravMassMode, InertiaMode, InteractionCallback, InteractionFilter, InteractionGroup, InteractionListener, InteractionType, Interactor, LineJoint, Listener, ListenerType, MarchingSquares, MassMode, Mat23, MatMN, Material, MotorJoint, NapeList, OptionType, PivotJoint, Polygon, PreCallback, PreFlag, PreListener, PulleyJoint, Ray, RayResult, Shape, ShapeType, Space, VERSION, ValidationResult, Vec2, Vec3, WeldJoint, Winding, getNape };
3724
+ export { AABB, AngleJoint, Arbiter, ArbiterType, Body, BodyCallback, BodyListener, BodyType, Broadphase, Callback, CbEvent, CbType, Circle, CollisionArbiter, Compound, Constraint, ConstraintCallback, ConstraintListener, Contact, ConvexResult, DistanceJoint, Edge, FluidArbiter, FluidProperties, Geom, GeomPoly, GravMassMode, InertiaMode, InteractionCallback, InteractionFilter, InteractionGroup, InteractionListener, InteractionType, Interactor, LineJoint, Listener, ListenerType, MarchingSquares, MassMode, Mat23, MatMN, Material, MotorJoint, NapeList, OptionType, PivotJoint, Polygon, PreCallback, PreFlag, PreListener, PulleyJoint, Ray, RayResult, Shape, ShapeType, Space, VERSION, ValidationResult, Vec2, Vec3, WeldJoint, Winding, getNape };