@worldmesh/runtime 0.2.1 → 0.2.2
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/README.md +33 -3
- package/dist/audio/footsteps.d.ts +37 -0
- package/dist/audio/footsteps.d.ts.map +1 -0
- package/dist/audio/footsteps.js +178 -0
- package/dist/audio/footsteps.js.map +1 -0
- package/dist/avatar/descriptor.d.ts +15 -0
- package/dist/avatar/descriptor.d.ts.map +1 -1
- package/dist/avatar/descriptor.js +19 -0
- package/dist/avatar/descriptor.js.map +1 -1
- package/dist/avatar/loader.d.ts +12 -1
- package/dist/avatar/loader.d.ts.map +1 -1
- package/dist/avatar/loader.js +16 -1
- package/dist/avatar/loader.js.map +1 -1
- package/dist/avatar/share.d.ts +30 -0
- package/dist/avatar/share.d.ts.map +1 -0
- package/dist/avatar/share.js +203 -0
- package/dist/avatar/share.js.map +1 -0
- package/dist/camera/cameraRig.d.ts +4 -0
- package/dist/camera/cameraRig.d.ts.map +1 -1
- package/dist/camera/cameraRig.js +10 -1
- package/dist/camera/cameraRig.js.map +1 -1
- package/dist/camera/viewHandoff.d.ts +20 -0
- package/dist/camera/viewHandoff.d.ts.map +1 -0
- package/dist/camera/viewHandoff.js +64 -0
- package/dist/camera/viewHandoff.js.map +1 -0
- package/dist/controls/input.d.ts +29 -0
- package/dist/controls/input.d.ts.map +1 -1
- package/dist/controls/input.js +124 -1
- package/dist/controls/input.js.map +1 -1
- package/dist/controls/touch.d.ts +10 -0
- package/dist/controls/touch.d.ts.map +1 -1
- package/dist/controls/touch.js +57 -1
- package/dist/controls/touch.js.map +1 -1
- package/dist/core/worldmesh.d.ts +9 -0
- package/dist/core/worldmesh.d.ts.map +1 -1
- package/dist/core/worldmesh.js +498 -26
- package/dist/core/worldmesh.js.map +1 -1
- package/dist/index.d.ts +14 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/dist/net/follow.d.ts +7 -0
- package/dist/net/follow.d.ts.map +1 -0
- package/dist/net/follow.js +10 -0
- package/dist/net/follow.js.map +1 -0
- package/dist/net/presence.d.ts +125 -3
- package/dist/net/presence.d.ts.map +1 -1
- package/dist/net/presence.js +471 -24
- package/dist/net/presence.js.map +1 -1
- package/dist/net/roomFull.d.ts +44 -0
- package/dist/net/roomFull.d.ts.map +1 -0
- package/dist/net/roomFull.js +147 -0
- package/dist/net/roomFull.js.map +1 -0
- package/dist/player/avatar.d.ts +17 -4
- package/dist/player/avatar.d.ts.map +1 -1
- package/dist/player/avatar.js +85 -18
- package/dist/player/avatar.js.map +1 -1
- package/dist/player/player.d.ts +6 -2
- package/dist/player/player.d.ts.map +1 -1
- package/dist/player/player.js +13 -3
- package/dist/player/player.js.map +1 -1
- package/dist/player/stroke.d.ts +11 -0
- package/dist/player/stroke.d.ts.map +1 -0
- package/dist/player/stroke.js +96 -0
- package/dist/player/stroke.js.map +1 -0
- package/dist/portals/portals.d.ts +1 -1
- package/dist/portals/portals.d.ts.map +1 -1
- package/dist/portals/portals.js +6 -2
- package/dist/portals/portals.js.map +1 -1
- package/dist/types.d.ts +53 -9
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/overlay.d.ts +18 -0
- package/dist/ui/overlay.d.ts.map +1 -1
- package/dist/ui/overlay.js +166 -1
- package/dist/ui/overlay.js.map +1 -1
- package/dist/xr/session.d.ts +13 -0
- package/dist/xr/session.d.ts.map +1 -0
- package/dist/xr/session.js +33 -0
- package/dist/xr/session.js.map +1 -0
- package/package.json +1 -1
- package/src/audio/footsteps.ts +185 -0
- package/src/avatar/descriptor.ts +28 -0
- package/src/avatar/loader.ts +19 -2
- package/src/avatar/share.ts +196 -0
- package/src/camera/cameraRig.ts +10 -1
- package/src/camera/viewHandoff.ts +67 -0
- package/src/controls/input.ts +119 -1
- package/src/controls/touch.ts +59 -1
- package/src/core/worldmesh.ts +495 -25
- package/src/index.ts +14 -7
- package/src/net/follow.ts +9 -0
- package/src/net/presence.ts +547 -27
- package/src/net/roomFull.ts +160 -0
- package/src/player/avatar.ts +87 -18
- package/src/player/player.ts +13 -4
- package/src/player/stroke.ts +93 -0
- package/src/portals/portals.ts +5 -2
- package/src/types.ts +52 -9
- package/src/ui/overlay.ts +171 -1
- package/src/xr/session.ts +33 -0
package/src/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createWorldMesh } from './core/worldmesh.js';
|
|
1
|
+
export { DOORWAY_VIEW_PARAM, createWorldMesh } from './core/worldmesh.js';
|
|
2
2
|
export { Emitter } from './core/events.js';
|
|
3
3
|
export { Input } from './controls/input.js';
|
|
4
4
|
export { TouchControls, isTouchDevice } from './controls/touch.js';
|
|
@@ -7,6 +7,7 @@ export { DEFAULT_ABILITIES, resolveAbilities } from './abilities/abilities.js';
|
|
|
7
7
|
export { CollisionWorld } from './movement/collision.js';
|
|
8
8
|
export { DEFAULT_TUNING, MovementController } from './movement/controller.js';
|
|
9
9
|
export { CameraRig } from './camera/cameraRig.js';
|
|
10
|
+
export { VIEW_PARAM, VIEW_STORAGE_KEY, getRememberedView, rememberView, takeViewHandoff, withView } from './camera/viewHandoff.js';
|
|
10
11
|
export { Player } from './player/player.js';
|
|
11
12
|
export {
|
|
12
13
|
AVATAR_EXPRESSIONS,
|
|
@@ -20,9 +21,10 @@ export {
|
|
|
20
21
|
setAvatarColor,
|
|
21
22
|
} from './player/avatar.js';
|
|
22
23
|
export type { AvatarExpression, AvatarMotion } from './player/avatar.js';
|
|
24
|
+
export { isStrokeMaterial, setFigureStroke, setStrokeOpacity } from './player/stroke.js';
|
|
23
25
|
export { PortalManager, buildTravelUrl, getReferringWorld } from './portals/portals.js';
|
|
24
|
-
export { isLoadableUrl, parseAvatarDescriptor } from './avatar/descriptor.js';
|
|
25
|
-
export type { AvatarDescriptor, AvatarFormat } from './avatar/descriptor.js';
|
|
26
|
+
export { isLoadableUrl, parseAvatarDescriptor, parseAvatarShare } from './avatar/descriptor.js';
|
|
27
|
+
export type { AvatarDescriptor, AvatarFormat, SignedAvatarShare } from './avatar/descriptor.js';
|
|
26
28
|
export {
|
|
27
29
|
AVATAR_TICKET_PARAM,
|
|
28
30
|
AVATAR_TICKET_STORAGE_KEY,
|
|
@@ -32,14 +34,19 @@ export {
|
|
|
32
34
|
takeAvatarTicket,
|
|
33
35
|
withAvatarTicket,
|
|
34
36
|
} from './avatar/handoff.js';
|
|
35
|
-
export { loadAvatarModel } from './avatar/loader.js';
|
|
37
|
+
export { downloadAvatarModel, loadAvatarModel } from './avatar/loader.js';
|
|
36
38
|
export type { LoadAvatarOptions, LoadedAvatar } from './avatar/loader.js';
|
|
37
39
|
export { Overlay } from './ui/overlay.js';
|
|
40
|
+
export { immersiveVrSupported, requestImmersiveVr, IMMERSIVE_VR } from './xr/session.js';
|
|
38
41
|
export { deserializePlayerState, serializePlayerState } from './net/adapter.js';
|
|
39
|
-
export { DEFAULT_PRESENCE_SERVER, Presence } from './net/presence.js';
|
|
40
|
-
export
|
|
42
|
+
export { DEFAULT_PRESENCE_SERVER, Presence, createNameTag, createSpeechBubble } from './net/presence.js';
|
|
43
|
+
export { easeYaw } from './net/follow.js';
|
|
44
|
+
export type { PresenceOptions, SharedAvatar } from './net/presence.js';
|
|
45
|
+
export { SharedAvatarLink, createShareVerifier, shareableAvatar } from './avatar/share.js';
|
|
46
|
+
export { isOverAllowanceSignal, isRoomFullSignal, occupancyIsFull, occupancyProbeUrl, probeRoom, probeRoomFull, roomFullLabel } from './net/roomFull.js';
|
|
47
|
+
export type { RoomProbe } from './net/roomFull.js';
|
|
41
48
|
|
|
42
|
-
export const WORLDMESH_VERSION = '0.2.
|
|
49
|
+
export const WORLDMESH_VERSION = '0.2.2';
|
|
43
50
|
/** Bumped when the world-facing contract changes in an incompatible way. */
|
|
44
51
|
export const WORLDMESH_PROTOCOL = 1;
|
|
45
52
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turn `yaw` toward `target` by `blend` (0 to 1) of the way, the short way
|
|
3
|
+
* round. Radians; the result is not wrapped. Remote figures ease toward the
|
|
4
|
+
* facing their owner last reported with this.
|
|
5
|
+
*/
|
|
6
|
+
export function easeYaw(yaw: number, target: number, blend: number): number {
|
|
7
|
+
const delta = Math.atan2(Math.sin(target - yaw), Math.cos(target - yaw));
|
|
8
|
+
return yaw + delta * blend;
|
|
9
|
+
}
|