@jgengine/core 0.17.0 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +130 -2
- package/dist/ai/decisionGraph.d.ts +52 -0
- package/dist/ai/decisionGraph.js +82 -0
- package/dist/ai/mobBrainGraph.d.ts +3 -0
- package/dist/ai/mobBrainGraph.js +25 -0
- package/dist/ai/tacticalQueries.d.ts +30 -0
- package/dist/ai/tacticalQueries.js +45 -0
- package/dist/anim/animGraph.d.ts +144 -0
- package/dist/anim/animGraph.js +286 -0
- package/dist/anim/ikSolver.d.ts +51 -0
- package/dist/anim/ikSolver.js +124 -0
- package/dist/anim/locomotionGraph.d.ts +26 -0
- package/dist/anim/locomotionGraph.js +33 -0
- package/dist/assets/spriteAtlas.d.ts +21 -0
- package/dist/assets/spriteAtlas.js +103 -0
- package/dist/audio/audioFalloff.d.ts +10 -0
- package/dist/economy/currency.d.ts +16 -2
- package/dist/economy/currency.js +55 -14
- package/dist/economy/wallet.d.ts +5 -4
- package/dist/economy/wallet.js +8 -4
- package/dist/editor/commandApply.js +1 -0
- package/dist/editor/commands.d.ts +4 -1
- package/dist/editor/document.d.ts +2 -1
- package/dist/editor/document.js +89 -0
- package/dist/editor/environment.d.ts +3 -0
- package/dist/editor/environment.js +16 -0
- package/dist/editor/index.d.ts +4 -2
- package/dist/editor/index.js +1 -1
- package/dist/editor/types.d.ts +16 -0
- package/dist/game/cameraConfig.d.ts +8 -0
- package/dist/game/chat.d.ts +22 -1
- package/dist/game/chat.js +48 -19
- package/dist/game/controlGate.d.ts +6 -0
- package/dist/game/controlGate.js +30 -1
- package/dist/game/defineGame.d.ts +10 -1
- package/dist/game/events.d.ts +8 -1
- package/dist/game/pixelPerfect.d.ts +25 -0
- package/dist/game/pixelPerfect.js +29 -0
- package/dist/game/playableGame.d.ts +97 -3
- package/dist/game/systemRuntime.js +6 -1
- package/dist/input/actionBindings.d.ts +2 -1
- package/dist/input/actionBindings.js +10 -8
- package/dist/input/actionContexts.d.ts +21 -0
- package/dist/input/actionContexts.js +56 -0
- package/dist/input/gamepadModel.d.ts +45 -0
- package/dist/input/gamepadModel.js +69 -0
- package/dist/meta/changelog.d.ts +1 -1
- package/dist/meta/changelog.js +103 -1
- package/dist/movement/characterController.d.ts +76 -0
- package/dist/movement/characterController.js +216 -0
- package/dist/movement/freeFlight.d.ts +119 -0
- package/dist/movement/freeFlight.js +294 -0
- package/dist/movement/playerMovement.d.ts +10 -2
- package/dist/movement/playerMovement.js +218 -4
- package/dist/movement/serverStep.d.ts +5 -0
- package/dist/movement/serverStep.js +6 -0
- package/dist/movement/solidObstacles.d.ts +30 -7
- package/dist/movement/solidObstacles.js +27 -4
- package/dist/multiplayer/poseSyncGate.d.ts +3 -1
- package/dist/multiplayer/poseSyncGate.js +9 -1
- package/dist/multiplayer/presenceContract.d.ts +6 -0
- package/dist/multiplayer/presenceModel.d.ts +2 -0
- package/dist/multiplayer/presenceModel.js +11 -0
- package/dist/nav/navMesh.d.ts +33 -0
- package/dist/nav/navMesh.js +164 -0
- package/dist/physics/flightDynamics.d.ts +8 -0
- package/dist/physics/kinematicVehicle.d.ts +6 -1
- package/dist/physics/physicsBackend.d.ts +191 -0
- package/dist/physics/physicsBackend.js +49 -0
- package/dist/physics/physicsBackendConformance.d.ts +27 -0
- package/dist/physics/physicsBackendConformance.js +117 -0
- package/dist/physics/physicsWorldBackend.d.ts +44 -0
- package/dist/physics/physicsWorldBackend.js +485 -0
- package/dist/physics/worldColliders.d.ts +13 -0
- package/dist/physics/worldColliders.js +96 -0
- package/dist/random/rng.d.ts +12 -1
- package/dist/random/rng.js +20 -3
- package/dist/render/environment.d.ts +23 -0
- package/dist/render/environment.js +1 -0
- package/dist/render/lookPreset.d.ts +11 -5
- package/dist/render/lookPreset.js +29 -4
- package/dist/render/postProcessing.d.ts +10 -1
- package/dist/render/sprite2d.d.ts +38 -0
- package/dist/render/sprite2d.js +40 -0
- package/dist/runtime/adapter.d.ts +20 -1
- package/dist/runtime/adapter.js +8 -1
- package/dist/runtime/commandInput.d.ts +15 -0
- package/dist/runtime/commandInput.js +13 -0
- package/dist/runtime/commandRunner.d.ts +44 -3
- package/dist/runtime/commandRunner.js +41 -3
- package/dist/runtime/gameContext.js +11 -1
- package/dist/runtime/gameContextTypes.d.ts +14 -4
- package/dist/runtime/gameRuntime.d.ts +33 -4
- package/dist/runtime/gameRuntime.js +26 -5
- package/dist/runtime/headlessRunner.d.ts +10 -0
- package/dist/runtime/headlessRunner.js +26 -8
- package/dist/runtime/hostPolicy.d.ts +3 -2
- package/dist/runtime/hostPolicy.js +8 -10
- package/dist/runtime/hostedGameRunner.js +34 -6
- package/dist/runtime/hostedWorldSession.d.ts +12 -16
- package/dist/runtime/hostedWorldSession.js +29 -6
- package/dist/runtime/hostedWorldStore.d.ts +20 -0
- package/dist/runtime/hostedWorldStore.js +1 -0
- package/dist/runtime/inputRecorder.d.ts +30 -0
- package/dist/runtime/inputRecorder.js +59 -0
- package/dist/runtime/inputSnapshot.d.ts +8 -0
- package/dist/runtime/inputSnapshot.js +1 -0
- package/dist/runtime/poseInterpolation.d.ts +36 -0
- package/dist/runtime/poseInterpolation.js +91 -0
- package/dist/runtime/prediction.d.ts +45 -0
- package/dist/runtime/prediction.js +62 -0
- package/dist/runtime/simContext.d.ts +45 -0
- package/dist/runtime/simContext.js +65 -0
- package/dist/runtime/simLoop.d.ts +52 -0
- package/dist/runtime/simLoop.js +72 -0
- package/dist/runtime/simSnapshot.d.ts +32 -0
- package/dist/runtime/simSnapshot.js +60 -0
- package/dist/runtime/snapshot.d.ts +8 -0
- package/dist/runtime/snapshotBuffer.d.ts +33 -0
- package/dist/runtime/snapshotBuffer.js +58 -0
- package/dist/runtime/transport.d.ts +38 -2
- package/dist/runtime/worldChunks.d.ts +2 -0
- package/dist/runtime/worldChunks.js +14 -0
- package/dist/runtime/worldProjection.d.ts +9 -0
- package/dist/runtime/worldProjection.js +17 -1
- package/dist/runtime/worldSnapshot.d.ts +6 -0
- package/dist/runtime/worldSnapshot.js +3 -0
- package/dist/scene/behaviorRuntime.d.ts +19 -1
- package/dist/scene/behaviorRuntime.js +55 -4
- package/dist/scene/behaviors.d.ts +8 -1
- package/dist/scene/builtinSceneKinds.js +10 -0
- package/dist/sensor/perception.d.ts +60 -0
- package/dist/sensor/perception.js +142 -0
- package/dist/settings/graphicsProfile.d.ts +19 -0
- package/dist/settings/graphicsProfile.js +36 -0
- package/dist/time/accrueSince.d.ts +10 -0
- package/dist/time/accrueSince.js +9 -0
- package/dist/time/rateWindow.d.ts +16 -0
- package/dist/time/rateWindow.js +14 -0
- package/dist/time/serverTick.d.ts +21 -3
- package/dist/time/serverTick.js +14 -13
- package/dist/vfx/particleDirector.d.ts +68 -0
- package/dist/vfx/particleDirector.js +81 -0
- package/dist/world/buildings.d.ts +12 -0
- package/dist/world/buildings.js +43 -3
- package/dist/world/cityContent.js +103 -25
- package/dist/world/cityKind.d.ts +132 -0
- package/dist/world/cityKind.js +315 -15
- package/dist/world/features.d.ts +27 -1
- package/dist/world/features.js +7 -2
- package/dist/world/placement.d.ts +7 -0
- package/dist/world/placement.js +2 -0
- package/dist/world/placementController.d.ts +1 -1
- package/dist/world/placementController.js +7 -0
- package/dist/world/raceCircuit.d.ts +168 -0
- package/dist/world/raceCircuit.js +797 -0
- package/dist/world/terrain.d.ts +5 -1
- package/dist/world/terrain.js +5 -0
- package/dist/world/territory.d.ts +97 -0
- package/dist/world/territory.js +182 -0
- package/dist/world.d.ts +5 -3
- package/dist/world.js +4 -2
- package/package.json +1 -1
- package/skills/ce-handoff/SKILL.md +1 -1
- package/skills/game-design/SKILL.md +11 -1
- package/skills/jgengine/SKILL.md +2 -0
- package/skills/jgengine/api.md +98 -22
- package/skills/jgengine/capabilities.md +28 -0
- package/skills/jgengine-gameplay/SKILL.md +10 -0
- package/skills/jgengine-gameplay/api.md +40 -18
- package/skills/jgengine-gameplay/capabilities.md +12 -0
- package/skills/jgengine-world/SKILL.md +6 -0
- package/skills/jgengine-world/api.md +312 -12
- package/skills/jgengine-world/capabilities.md +102 -0
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
Reach for these before hand-rolling. Each row is *the thing you need* → *the primitive that already does it*.
|
|
6
6
|
|
|
7
|
+
## ai-decision-graph — Evaluate serializable selector, sequence, condition, action, and utility AI decisions.
|
|
8
|
+
|
|
9
|
+
- `createDecisionGraphRuntime` (function) · `import { createDecisionGraphRuntime } from "@jgengine/core/ai/decisionGraph"`
|
|
10
|
+
|
|
7
11
|
## ai-driver — difficulty-aware chase/route driving step producing throttle/brake/steer for the vehicle sim
|
|
8
12
|
|
|
9
13
|
- `driveStep` (function) · `import { driveStep } from "@jgengine/core/ai/driver"`
|
|
@@ -16,6 +20,16 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
16
20
|
|
|
17
21
|
- `createDriverState` (function) · `import { createDriverState } from "@jgengine/core/ai/driver"`
|
|
18
22
|
|
|
23
|
+
## anim-graph — data-first animation state machine with blend trees, crossfades, layers, and clip events
|
|
24
|
+
|
|
25
|
+
- `createAnimGraphRuntime` (function) · `import { createAnimGraphRuntime } from "@jgengine/core/anim/animGraph"`
|
|
26
|
+
|
|
27
|
+
## animation — inverse kinematics orient a bone toward a target with constrained yaw and pitch
|
|
28
|
+
|
|
29
|
+
- `lookAt` (function) · `import { lookAt } from "@jgengine/core/anim/ikSolver"`
|
|
30
|
+
- `solveFabrik` (function) · `import { solveFabrik } from "@jgengine/core/anim/ikSolver"`
|
|
31
|
+
- `solveTwoBone` (function) · `import { solveTwoBone } from "@jgengine/core/anim/ikSolver"`
|
|
32
|
+
|
|
19
33
|
## area-effect-field — source-following area membership with enter/refresh/leave edges, stacking, and cleanup
|
|
20
34
|
|
|
21
35
|
- `createAreaEffectField` (function) · `import { createAreaEffectField } from "@jgengine/core/world"`
|
|
@@ -102,6 +116,10 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
102
116
|
- `registerBuiltinTriggerActions` (function) · `import { registerBuiltinTriggerActions } from "@jgengine/core/scene/authoredTriggers"`
|
|
103
117
|
- `registerTriggerAction` (function) · `import { registerTriggerAction } from "@jgengine/core/world"`
|
|
104
118
|
|
|
119
|
+
## behavior-actions — register named callbacks for decision graph behavior descriptors
|
|
120
|
+
|
|
121
|
+
- `registerBehaviorActions` (function) · `import { registerBehaviorActions } from "@jgengine/core/world"`
|
|
122
|
+
|
|
105
123
|
## behavior-control — pause/disable/resume/seek/inspect behavior instances per entity
|
|
106
124
|
|
|
107
125
|
- `behaviorControl` (function) · `import { behaviorControl } from "@jgengine/core/world"`
|
|
@@ -142,6 +160,10 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
142
160
|
|
|
143
161
|
- `createCameraShake` (function) · `import { createCameraShake } from "@jgengine/core/world"`
|
|
144
162
|
|
|
163
|
+
## character-controller — capsule walk over the physics backend — slide, step-up, slopes, crouch, platforms
|
|
164
|
+
|
|
165
|
+
- `createCharacterController` (function) · `import { createCharacterController } from "@jgengine/core/movement/characterController"`
|
|
166
|
+
|
|
145
167
|
## city-district — polygon math for road-derived blocks, parcels, and buildable footprints
|
|
146
168
|
|
|
147
169
|
- `Vec2` (type) · `import { Vec2 } from "@jgengine/core/world/cityGeometry"`
|
|
@@ -279,6 +301,14 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
279
301
|
|
|
280
302
|
- `DEFAULT_FORWARD` (const) · `import { DEFAULT_FORWARD } from "@jgengine/core/world"`
|
|
281
303
|
|
|
304
|
+
## free-flight — camera-relative creative/spectator/noclip/hover flight with correct strafe, sprint, and optional gravity
|
|
305
|
+
|
|
306
|
+
- `createFreeFlightController` (function) · `import { createFreeFlightController } from "@jgengine/core/world"`
|
|
307
|
+
|
|
308
|
+
## gamepad-input — Resolve sampled gamepad input into actions with deadzones and response curves.
|
|
309
|
+
|
|
310
|
+
- `resolveGamepadFrame` (function) · `import { resolveGamepadFrame } from "@jgengine/core/input/gamepadModel"`
|
|
311
|
+
|
|
282
312
|
## glide — gliding/wingsuit descent control from a launch
|
|
283
313
|
|
|
284
314
|
- `createGlideModel` (function) · `import { createGlideModel } from "@jgengine/core/world"`
|
|
@@ -337,6 +367,10 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
337
367
|
|
|
338
368
|
- `generateLock` (function) · `import { generateLock } from "@jgengine/core/world"`
|
|
339
369
|
|
|
370
|
+
## locomotion-graph — build the default idle/walk/run plus one-shot graph from clip names
|
|
371
|
+
|
|
372
|
+
- `locomotionGraph` (function) · `import { locomotionGraph } from "@jgengine/core/anim/locomotionGraph"`
|
|
373
|
+
|
|
340
374
|
## map-annotations — player-drawn map annotation layer — freehand strokes, area shapes, and pinned notes, projected into the map's routes/zones props and serializable
|
|
341
375
|
|
|
342
376
|
- `createAnnotationLayer` (function) · `import { createAnnotationLayer } from "@jgengine/core/world"`
|
|
@@ -378,6 +412,10 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
378
412
|
|
|
379
413
|
- `createOrderRegistry` (function) · `import { createOrderRegistry } from "@jgengine/core/world"`
|
|
380
414
|
|
|
415
|
+
## particle-director — game-reachable VFX seam: queue one-shot particle bursts and keyed follow-capable standing emitters as serializable data for the shell to render
|
|
416
|
+
|
|
417
|
+
- `createParticleDirector` (function) · `import { createParticleDirector } from "@jgengine/core/vfx/particleDirector"`
|
|
418
|
+
|
|
381
419
|
## particle-system — deterministic pooled particle emitter with SoA render buffers, burst/continuous emission, gravity/drag, size/color/alpha-over-life, and serializable state
|
|
382
420
|
|
|
383
421
|
- `createParticleSystem` (function) · `import { createParticleSystem } from "@jgengine/core/world"`
|
|
@@ -403,6 +441,22 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
403
441
|
|
|
404
442
|
- `definePatrolOrder` (function) · `import { definePatrolOrder } from "@jgengine/core/world"`
|
|
405
443
|
|
|
444
|
+
## perception-service — retain sight, sound, and damage observations with range, cone, occlusion, and decay policy
|
|
445
|
+
|
|
446
|
+
- `createPerception` (function) · `import { createPerception } from "@jgengine/core/sensor/perception"`
|
|
447
|
+
|
|
448
|
+
## physics-backend — one interface over interchangeable rigid-body solvers — bodies, joints, raycast, shapecast, snapshot
|
|
449
|
+
|
|
450
|
+
- `PhysicsBackend` (interface) · `import { PhysicsBackend } from "@jgengine/core/physics/physicsBackend"`
|
|
451
|
+
|
|
452
|
+
## physics-backend-conformance — the shared test contract a physics adapter runs to prove it matches the seam
|
|
453
|
+
|
|
454
|
+
- `runPhysicsBackendConformance` (function) · `import { runPhysicsBackendConformance } from "@jgengine/core/physics/physicsBackendConformance"`
|
|
455
|
+
|
|
456
|
+
## physics-world-backend — the zero-dependency PhysicsWorld solver exposed through the PhysicsBackend seam
|
|
457
|
+
|
|
458
|
+
- `createPhysicsWorldBackend` (function) · `import { createPhysicsWorldBackend } from "@jgengine/core/physics/physicsWorldBackend"`
|
|
459
|
+
|
|
406
460
|
## piece-sockets-from-model — derive build-piece snap sockets from a model's named attach points
|
|
407
461
|
|
|
408
462
|
- `pieceSocketsFromModel` (function) · `import { pieceSocketsFromModel } from "@jgengine/core/world/buildSockets"`
|
|
@@ -451,6 +505,14 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
451
505
|
|
|
452
506
|
- `evaluateQteSequence` (function) · `import { evaluateQteSequence } from "@jgengine/core/world"`
|
|
453
507
|
|
|
508
|
+
## rapier-physics-backend — native capsules, shapecasts, rotation, CCD, joints, and collision queries
|
|
509
|
+
|
|
510
|
+
- `createRapierBackend` (function) · `import { createRapierBackend } from "@jgengine/rapier"`
|
|
511
|
+
|
|
512
|
+
## rate-window-policy — Evaluate deterministic request windows with retry timing.
|
|
513
|
+
|
|
514
|
+
- `decideRateWindow` (function) · `import { decideRateWindow } from "@jgengine/core/time/rateWindow"`
|
|
515
|
+
|
|
454
516
|
## reputation — faction standing that crosses named reputation tiers
|
|
455
517
|
|
|
456
518
|
- `tierForStanding` (function) · `import { tierForStanding } from "@jgengine/core/world"`
|
|
@@ -560,6 +622,14 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
560
622
|
|
|
561
623
|
- `surfaceRing` (function) · `import { surfaceRing } from "@jgengine/core/world"`
|
|
562
624
|
|
|
625
|
+
## tactical-cover-points — derive cover candidates from navigation-mesh boundaries
|
|
626
|
+
|
|
627
|
+
- `coverPoints` (function) · `import { coverPoints } from "@jgengine/core/ai/tacticalQueries"`
|
|
628
|
+
|
|
629
|
+
## tactical-position-score — rank bounded tactical positions with caller-defined weights
|
|
630
|
+
|
|
631
|
+
- `scorePositions` (function) · `import { scorePositions } from "@jgengine/core/ai/tacticalQueries"`
|
|
632
|
+
|
|
563
633
|
## target-acquirer — stateful held-target wrapper over an acquisition policy with retention
|
|
564
634
|
|
|
565
635
|
- `createTargetAcquirer` (function) · `import { createTargetAcquirer } from "@jgengine/core/world"`
|
|
@@ -584,6 +654,30 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
584
654
|
|
|
585
655
|
- `raycastHeightField` (function) · `import { raycastHeightField } from "@jgengine/core/world/terrain"`
|
|
586
656
|
|
|
657
|
+
## territory-cell-chunk — Map ownership cells to persisted world chunks.
|
|
658
|
+
|
|
659
|
+
- `territoryChunkKey` (function) · `import { territoryChunkKey } from "@jgengine/core/world/territory"`
|
|
660
|
+
|
|
661
|
+
## territory-footprint — Resolve exactly the ownership cells touched by a placement footprint.
|
|
662
|
+
|
|
663
|
+
- `territoryFootprintCells` (function) · `import { territoryFootprintCells } from "@jgengine/core/world/territory"`
|
|
664
|
+
|
|
665
|
+
## territory-owner-query — Read a loaded land cell owner for authoritative placement checks.
|
|
666
|
+
|
|
667
|
+
- `territoryOwnerOf` (function) · `import { territoryOwnerOf } from "@jgengine/core/world/territory"`
|
|
668
|
+
|
|
669
|
+
## territory-ownership — Claim, release and query land through host-owned snapshot storage.
|
|
670
|
+
|
|
671
|
+
- `createTerritory` (function) · `import { createTerritory } from "@jgengine/core/world/territory"`
|
|
672
|
+
|
|
673
|
+
## territory-placement — Purchase footprint cells atomically with object placement.
|
|
674
|
+
|
|
675
|
+
- `placeWithTerritory` (function) · `import { placeWithTerritory } from "@jgengine/core/world/territory"`
|
|
676
|
+
|
|
677
|
+
## territory-read-scope — Load the footprint and foreign-owner gap without scanning the world.
|
|
678
|
+
|
|
679
|
+
- `territoryChunkKeys` (function) · `import { territoryChunkKeys } from "@jgengine/core/world/territory"`
|
|
680
|
+
|
|
587
681
|
## touch-controls — switch the on-screen touch control set when gameplay context changes (enter/exit vehicle, mount, build mode)
|
|
588
682
|
|
|
589
683
|
- `setTouchControlsMode` (function) · `import { setTouchControlsMode } from "@jgengine/core/input/touchControlsMode"`
|
|
@@ -601,6 +695,10 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
601
695
|
|
|
602
696
|
- `resolveWalkerStep` (function) · `import { resolveWalkerStep } from "@jgengine/core/movement/solidObstacles"`
|
|
603
697
|
|
|
698
|
+
## walker-solid-step-source — slide a step against solid geometry from a pure rules package
|
|
699
|
+
|
|
700
|
+
- `resolveSourceWalkerStep` (function) · `import { resolveSourceWalkerStep } from "@jgengine/core/movement/solidObstacles"`
|
|
701
|
+
|
|
604
702
|
## wave-runner — observable serializable wave/spawn runner over the seeded spawn director — WAVE N, wave progress, budget/alert readout, onSpawn sink, snapshot/restore
|
|
605
703
|
|
|
606
704
|
- `createWaveRunner` (function) · `import { createWaveRunner } from "@jgengine/core/world"`
|
|
@@ -620,6 +718,10 @@ Reach for these before hand-rolling. Each row is *the thing you need* → *the p
|
|
|
620
718
|
- `buildTrimmedIntersections` (function) · `import { buildTrimmedIntersections } from "@jgengine/core/world"`
|
|
621
719
|
- `trimBandAtJunctions` (function) · `import { trimBandAtJunctions } from "@jgengine/core/world"`
|
|
622
720
|
|
|
721
|
+
## world-physics-colliders — Synchronize terrain and authored static colliders with a physics backend.
|
|
722
|
+
|
|
723
|
+
- `syncWorldColliders` (function) · `import { syncWorldColliders } from "@jgengine/core/physics/worldColliders"`
|
|
724
|
+
|
|
623
725
|
## world-place — declare the place a game happens in — flat/round/voxel/board ground, surface laws, per-place physics
|
|
624
726
|
|
|
625
727
|
- `world` (function) · `import { world } from "@jgengine/core/world"`
|