@ignifx/physics-2d 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AssetHandle, AssetLoader, Component, ComponentHooks, DiagnosticsGroup, Disconnect, Entity, ErrorContext, Extension, ExtensionContext, IgnifxError, JsonValue, LayerMask, MutableVec2, Schema, SchemaDescription, Signal, Vec2, Vec2Like } from "@ignifx/core";
1
+ import { AssetHandle, AssetLoader, Component, ComponentHooks, DiagnosticsGroup, Disconnect, Entity, ErrorContext, Extension, ExtensionContext, IgnifxError, JsonValue, LayerMask, MutableVec2, Schema, SchemaDescription, Signal, Vec2, Vec2Like, Vec3 } from "@ignifx/core";
2
2
  import { Collider, EventQueue, RigidBody, World } from "@dimforge/rapier2d-compat";
3
3
  import { TilemapCollisionData } from "@ignifx/2d";
4
4
  //#region src/settings.d.ts
@@ -315,6 +315,13 @@ export declare abstract class Collider2D extends Component implements ComponentH
315
315
  onAttach(): void;
316
316
  /** Marks the entity's body for a rebuild, which removes this collider from it. */
317
317
  onDetach(): void;
318
+ /**
319
+ * Rebuilds the body after a tool changed fields from outside: an editor's inspector, or a hot
320
+ * reload's new default (`ComponentHooks.onValidate`).
321
+ *
322
+ * @param fields - The fields that changed.
323
+ */
324
+ onValidate(fields: readonly string[]): void;
318
325
  /**
319
326
  * Rebuilds the entity's body and shapes at the start of the next fixed step. Call it after
320
327
  * changing a size, an offset, `isTrigger`, or the entity's scale.
@@ -511,6 +518,13 @@ export declare class Rigidbody2D extends Component implements ComponentHooks {
511
518
  onAttach(): void;
512
519
  /** Marks the entity's body for a rebuild, which turns it back into an implicit static body. */
513
520
  onDetach(): void;
521
+ /**
522
+ * Rebuilds the body after a tool changed fields from outside: an editor's inspector, or a hot
523
+ * reload's new default (`ComponentHooks.onValidate`).
524
+ *
525
+ * @param fields - The fields that changed.
526
+ */
527
+ onValidate(fields: readonly string[]): void;
514
528
  /**
515
529
  * Rebuilds the body at the start of the next fixed step. Call it after changing `bodyType`,
516
530
  * `mass`, `freezeRotation`, damping, or the entity's scale.
@@ -655,6 +669,13 @@ export declare class CharacterController2D extends Component implements Componen
655
669
  onAttach(): void;
656
670
  /** Releases the Rapier controller and its collider. */
657
671
  onDetach(): void;
672
+ /**
673
+ * Rebuilds the body after a tool changed fields from outside: an editor's inspector, or a hot
674
+ * reload's new default (`ComponentHooks.onValidate`).
675
+ *
676
+ * @param fields - The fields that changed.
677
+ */
678
+ onValidate(fields: readonly string[]): void;
658
679
  /** Rebuilds the capsule or box at the start of the next fixed step. */
659
680
  rebuild(): void;
660
681
  /**
@@ -910,8 +931,9 @@ export declare class TilemapCollider2D extends Collider2D {
910
931
  * `Tilemap` on the same entity.
911
932
  *
912
933
  * @remarks
913
- * Reading it works in an edit-mode app too, where no body is built (ADR-0028), so an editor can
914
- * draw the outlines.
934
+ * Reading it works in any app, before any body is built. An edit-mode app also builds the body
935
+ * without stepping (ADR-0028, amendment of 2026-10-20), so `app.physics2d.colliderOutlines` draws
936
+ * the same outlines from Rapier.
915
937
  *
916
938
  * @returns The data, or `null` when nothing was assigned and the entity has no `Tilemap`.
917
939
  */
@@ -1147,6 +1169,13 @@ interface BodyRecord2D {
1147
1169
  staticVersion: number;
1148
1170
  /** Whether the `IGX-1151` diagnostic has already been reported for this body. */
1149
1171
  reportedMove: boolean;
1172
+ /**
1173
+ * `Transform.worldMatrixVersion` when the body was last placed. An edit-mode app compares it each
1174
+ * frame to follow a transform the editor moved (ADR-0028, amendment of 2026-10-20).
1175
+ */
1176
+ placedVersion: number;
1177
+ /** The lossy scale the colliders were built at; a different scale needs new colliders. */
1178
+ readonly placedScale: Vec3;
1150
1179
  /** Signal connections the record owns, dropped when it is torn down. */
1151
1180
  disconnects: Disconnect[];
1152
1181
  }
@@ -1219,6 +1248,13 @@ declare class Physics2DRuntime {
1219
1248
  * @returns `true` once a step has completed.
1220
1249
  */
1221
1250
  get hasStepped(): boolean;
1251
+ /**
1252
+ * Whether this runtime belongs to an edit-mode app, where bodies are kept in sync with the world
1253
+ * by {@link Physics2DRuntime.syncEditMode} and never stepped (ADR-0028, amendment of 2026-10-20).
1254
+ *
1255
+ * @returns `true` in an editor's scene view.
1256
+ */
1257
+ get isEditMode(): boolean;
1222
1258
  /**
1223
1259
  * Every body, in creation order.
1224
1260
  *
@@ -1362,6 +1398,19 @@ declare class Physics2DRuntime {
1362
1398
  * @param fixedDeltaSeconds - The fixed step in seconds.
1363
1399
  */
1364
1400
  step(fixedDeltaSeconds: number): void;
1401
+ /**
1402
+ * Brings the bodies in line with the world without stepping, which is all an edit-mode app ever
1403
+ * does with them (ADR-0028, amendment of 2026-10-20): it builds, rebuilds, and removes bodies for
1404
+ * component, layer, and tile changes, and places every body whose transform moved where the
1405
+ * transform now is, so a query sees what the editor shows. The world is never stepped, so nothing
1406
+ * falls, no contact or trigger callback fires, and no pose is written back to a transform.
1407
+ *
1408
+ * @remarks
1409
+ * Rapier refreshes its broadphase only inside a step, so after a change this runs the same
1410
+ * zero-length step a game runs before its first real one (S6.2). With a zero timestep nothing
1411
+ * moves; the events it reports are dropped. A changed scale rebuilds the body's colliders.
1412
+ */
1413
+ syncEditMode(): void;
1365
1414
  /**
1366
1415
  * Writes the interpolated display pose of every interpolated body.
1367
1416
  *
@@ -1401,6 +1450,23 @@ interface Physics2DRapierHandles {
1401
1450
  /** Rapier's `World`. */
1402
1451
  readonly world: RapierWorld;
1403
1452
  }
1453
+ /**
1454
+ * One 2D collider's outline, from `app.physics2d.colliderOutlines`: what an editor draws as a
1455
+ * collider gizmo (ADR-0028, amendment of 2026-10-20).
1456
+ *
1457
+ * @public
1458
+ */
1459
+ interface ColliderOutline2D {
1460
+ /** The collider the outline is of. */
1461
+ readonly collider: Collider2D;
1462
+ /** Whether the collider is a trigger, which an editor usually draws in another colour. */
1463
+ readonly isTrigger: boolean;
1464
+ /**
1465
+ * The outline as world-space line segments in the XY plane: every four numbers are one segment,
1466
+ * the `x, y` of its two ends, in metres.
1467
+ */
1468
+ readonly lines: Float32Array;
1469
+ }
1404
1470
  /**
1405
1471
  * The service behind `app.physics2d`.
1406
1472
  *
@@ -1451,7 +1517,7 @@ export declare class Physics2DService {
1451
1517
  * @param maxDistance - How far to travel; defaults to 10 km.
1452
1518
  * @param options - Layer mask and trigger behaviour.
1453
1519
  * @returns The hit, or `null` when the ray clears everything.
1454
- * @throws IgnifxError with code `IGX-1153` when no fixed step has run yet.
1520
+ * @throws IgnifxError with code `IGX-1153` when no fixed step has run yet, outside edit mode.
1455
1521
  */
1456
1522
  raycast(origin: Vec2Like, direction: Vec2Like, maxDistance?: number, options?: QueryOptions2D): RaycastHit2D | null;
1457
1523
  /**
@@ -1462,7 +1528,7 @@ export declare class Physics2DService {
1462
1528
  * @param maxDistance - How far to travel; defaults to 10 km.
1463
1529
  * @param options - Layer mask and trigger behaviour.
1464
1530
  * @returns The hits, in increasing distance. The array is reused between calls.
1465
- * @throws IgnifxError with code `IGX-1153` when no fixed step has run yet.
1531
+ * @throws IgnifxError with code `IGX-1153` when no fixed step has run yet, outside edit mode.
1466
1532
  */
1467
1533
  raycastAll(origin: Vec2Like, direction: Vec2Like, maxDistance?: number, options?: QueryOptions2D): readonly RaycastHit2D[];
1468
1534
  /**
@@ -1472,7 +1538,7 @@ export declare class Physics2DService {
1472
1538
  * @param radius - Its radius in metres.
1473
1539
  * @param options - Layer mask and trigger behaviour.
1474
1540
  * @returns The overlapping entities, in Rapier's order. The array is reused between calls.
1475
- * @throws IgnifxError with code `IGX-1153` when no fixed step has run yet.
1541
+ * @throws IgnifxError with code `IGX-1153` when no fixed step has run yet, outside edit mode.
1476
1542
  */
1477
1543
  overlapCircle(centre: Vec2Like, radius: number, options?: QueryOptions2D): readonly Entity[];
1478
1544
  /**
@@ -1483,7 +1549,7 @@ export declare class Physics2DService {
1483
1549
  * @param rotation - Its rotation in degrees counter-clockwise; defaults to `0`.
1484
1550
  * @param options - Layer mask and trigger behaviour.
1485
1551
  * @returns The overlapping entities. The array is reused between calls.
1486
- * @throws IgnifxError with code `IGX-1153` when no fixed step has run yet.
1552
+ * @throws IgnifxError with code `IGX-1153` when no fixed step has run yet, outside edit mode.
1487
1553
  */
1488
1554
  overlapBox(centre: Vec2Like, size: Vec2Like, rotation?: number, options?: QueryOptions2D): readonly Entity[];
1489
1555
  /**
@@ -1495,9 +1561,32 @@ export declare class Physics2DService {
1495
1561
  * @param maxDistance - How far to sweep.
1496
1562
  * @param options - Layer mask and trigger behaviour.
1497
1563
  * @returns The hit, or `null`.
1498
- * @throws IgnifxError with code `IGX-1153` when no fixed step has run yet.
1564
+ * @throws IgnifxError with code `IGX-1153` when no fixed step has run yet, outside edit mode.
1499
1565
  */
1500
1566
  shapeCast(centre: Vec2Like, radius: number, direction: Vec2Like, maxDistance: number, options?: QueryOptions2D): ShapeCastHit2D | null;
1567
+ /**
1568
+ * The outlines of an entity's 2D colliders, as world-space line segments: what an editor draws as
1569
+ * collider gizmos (ADR-0028, amendment of 2026-10-20).
1570
+ *
1571
+ * @remarks
1572
+ * The segments are Rapier's own debug drawing of the colliders the entity's body is built from,
1573
+ * so a polygon, an edge chain, a capsule, a one-way platform, and every piece of a
1574
+ * `TilemapCollider2D` are outlined exactly. A body exists from the first fixed step in a game,
1575
+ * and from the first frame or query in an edit-mode app, which keeps bodies on the transforms the
1576
+ * editor moves; an entity without one (no enabled collider yet, or before that point) has no
1577
+ * outline. A `CharacterController2D`'s own shape is not a collider and is not outlined.
1578
+ *
1579
+ * @param entity - The entity whose colliders to outline.
1580
+ * @returns One outline per collider that produced a shape, in component order; empty when none.
1581
+ *
1582
+ * @example
1583
+ * ```ts
1584
+ * for (const outline of app.physics2d.colliderOutlines(selected)) {
1585
+ * drawLines2D(outline.lines, outline.isTrigger ? "orange" : "green");
1586
+ * }
1587
+ * ```
1588
+ */
1589
+ colliderOutlines(entity: Entity): readonly ColliderOutline2D[];
1501
1590
  }
1502
1591
  //#endregion
1503
1592
  //#region src/extension.d.ts
@@ -1566,5 +1655,5 @@ export declare const physics2d: (options?: Physics2DOptions) => Extension;
1566
1655
  */
1567
1656
  export declare function describeSchemas(): Readonly<Record<string, SchemaDescription>>;
1568
1657
  //#endregion
1569
- export type { BodyType2D, CapsuleDirection2D, CharacterCollision2D, CharacterShape2D, Collision2D, CollisionEventMode2D, CombineRule, ContactPoint2D, InterpolationMode2D, Physics2DErrorOptions, Physics2DMaterialValues, Physics2DOptions, Physics2DRapierHandles, Physics2DSettings, QueryOptions2D, RaycastHit2D, Rigidbody2DRapierHandles, ShapeCastHit2D, TriggerEvent2D };
1658
+ export type { BodyType2D, CapsuleDirection2D, CharacterCollision2D, CharacterShape2D, ColliderOutline2D, Collision2D, CollisionEventMode2D, CombineRule, ContactPoint2D, InterpolationMode2D, Physics2DErrorOptions, Physics2DMaterialValues, Physics2DOptions, Physics2DRapierHandles, Physics2DSettings, QueryOptions2D, RaycastHit2D, Rigidbody2DRapierHandles, ShapeCastHit2D, TriggerEvent2D };
1570
1659
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/settings.ts","../src/material.ts","../src/lite/rapier/world.ts","../src/components/collider.ts","../src/events.ts","../src/components/rigidbody.ts","../src/components/character-controller.ts","../src/components/colliders.ts","../src/components/tilemap-collider.ts","../src/errors.ts","../src/queries.ts","../src/runtime/body-record.ts","../src/runtime/runtime.ts","../src/runtime/host.ts","../src/service.ts","../src/extension.ts","../src/schemas.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/settings.ts","../src/material.ts","../src/lite/rapier/world.ts","../src/components/collider.ts","../src/events.ts","../src/components/rigidbody.ts","../src/components/character-controller.ts","../src/components/colliders.ts","../src/components/tilemap-collider.ts","../src/errors.ts","../src/queries.ts","../src/runtime/body-record.ts","../src/runtime/runtime.ts","../src/runtime/host.ts","../src/service.ts","../src/extension.ts","../src/schemas.ts"],"mappings":"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"}