@pmndrs/viverse 0.2.1 → 0.2.3

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.
Files changed (39) hide show
  1. package/dist/{input → action}/action.d.ts +19 -20
  2. package/dist/{input → action}/action.js +56 -39
  3. package/dist/{input → action}/index.d.ts +6 -5
  4. package/dist/{input → action}/index.js +5 -4
  5. package/dist/action/keyboard.d.ts +26 -0
  6. package/dist/action/keyboard.js +89 -0
  7. package/dist/action/pointer-capture.d.ts +8 -0
  8. package/dist/{input → action}/pointer-capture.js +16 -22
  9. package/dist/action/pointer-lock.d.ts +6 -0
  10. package/dist/action/pointer-lock.js +49 -0
  11. package/dist/action/pointer.d.ts +18 -0
  12. package/dist/action/pointer.js +90 -0
  13. package/dist/action/screen-joystick.d.ts +16 -0
  14. package/dist/{input → action}/screen-joystick.js +36 -33
  15. package/dist/action/screen-jump-button.d.ts +6 -0
  16. package/dist/action/screen-jump-button.js +32 -0
  17. package/dist/camera.d.ts +3 -3
  18. package/dist/camera.js +3 -3
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/simple-character/apply-input-options.d.ts +2 -2
  22. package/dist/simple-character/apply-input-options.js +28 -22
  23. package/dist/simple-character/index.d.ts +17 -9
  24. package/dist/simple-character/index.js +13 -9
  25. package/dist/simple-character/state/jump-start.js +1 -1
  26. package/dist/simple-character/state/movement.js +1 -1
  27. package/dist/simple-character/update-input-velocity.d.ts +1 -1
  28. package/dist/simple-character/update-input-velocity.js +2 -2
  29. package/dist/simple-character/update-rotation.js +1 -1
  30. package/dist/utils.js +1 -1
  31. package/package.json +1 -1
  32. package/dist/input/keyboard.d.ts +0 -39
  33. package/dist/input/keyboard.js +0 -96
  34. package/dist/input/pointer-capture.d.ts +0 -15
  35. package/dist/input/pointer-lock.d.ts +0 -12
  36. package/dist/input/pointer-lock.js +0 -34
  37. package/dist/input/screen-joystick.d.ts +0 -23
  38. package/dist/input/screen-jump-button.d.ts +0 -6
  39. package/dist/input/screen-jump-button.js +0 -44
@@ -1,12 +0,0 @@
1
- /**
2
- * @requires to manually execute `domElement.requestPointerLock()`
3
- */
4
- export declare class PointerLockInput {
5
- private readonly abortController;
6
- options: {
7
- rotationSpeed?: number;
8
- zoomSpeed?: number;
9
- };
10
- constructor(domElement: HTMLElement);
11
- dispose(): void;
12
- }
@@ -1,34 +0,0 @@
1
- import { RotatePitchAction, RotateYawAction, ZoomAction } from './index.js';
2
- /**
3
- * @requires to manually execute `domElement.requestPointerLock()`
4
- */
5
- export class PointerLockInput {
6
- abortController = new AbortController();
7
- options = {};
8
- constructor(domElement) {
9
- domElement.addEventListener('pointermove', (event) => {
10
- if (document.pointerLockElement != domElement) {
11
- return;
12
- }
13
- const rect = domElement.getBoundingClientRect();
14
- const rotationSpeed = this.options.rotationSpeed ?? 0.4;
15
- RotateYawAction.write(-(event.movementX / rect.height) * rotationSpeed);
16
- RotatePitchAction.write(-(event.movementY / rect.height) * rotationSpeed);
17
- }, {
18
- signal: this.abortController.signal,
19
- });
20
- domElement.addEventListener('wheel', (event) => {
21
- if (document.pointerLockElement != domElement) {
22
- return;
23
- }
24
- const zoomSpeed = this.options.zoomSpeed ?? 0.0001;
25
- ZoomAction.write(event.deltaY * zoomSpeed);
26
- event.preventDefault();
27
- }, {
28
- signal: this.abortController.signal,
29
- });
30
- }
31
- dispose() {
32
- this.abortController.abort();
33
- }
34
- }
@@ -1,23 +0,0 @@
1
- export type ScreenJoystickInputOptions = {
2
- screenJoystickRunDistancePx?: number;
3
- screenJoystickDeadZonePx?: number;
4
- };
5
- export declare class ScreenJoystickInput {
6
- private readonly abortController;
7
- readonly root: HTMLDivElement;
8
- private readonly handle;
9
- private pointerId;
10
- private forwardWriter;
11
- private backwardWriter;
12
- private leftWriter;
13
- private rightWriter;
14
- private runWriter;
15
- options: {
16
- runDistancePx?: number;
17
- deadZonePx?: number;
18
- };
19
- constructor(domElement: HTMLElement);
20
- dispose(): void;
21
- private updateHandle;
22
- private resetHandle;
23
- }
@@ -1,6 +0,0 @@
1
- export declare class ScreenJumpButtonInput {
2
- private readonly abortController;
3
- readonly root: HTMLDivElement;
4
- constructor(domElement: HTMLElement);
5
- dispose(): void;
6
- }
@@ -1,44 +0,0 @@
1
- import { JumpAction } from './index.js';
2
- export class ScreenJumpButtonInput {
3
- abortController = new AbortController();
4
- root;
5
- constructor(domElement) {
6
- const parent = domElement.parentElement ?? domElement;
7
- const btn = document.createElement('div');
8
- btn.className = 'viverse-button viverse-jump mobile-only';
9
- parent.appendChild(btn);
10
- this.root = btn;
11
- this.root.style.position = 'absolute';
12
- this.root.style.bottom = '32px';
13
- this.root.style.right = '126px';
14
- this.root.style.minWidth = '64px';
15
- this.root.style.height = '64px';
16
- this.root.style.borderRadius = '9999px';
17
- this.root.style.pointerEvents = 'auto';
18
- this.root.style.touchAction = 'none';
19
- this.root.style.userSelect = 'none';
20
- this.root.style.setProperty('-webkit-user-select', 'none');
21
- this.root.style.background = 'rgba(255,255,255,0.3)';
22
- this.root.style.backgroundImage =
23
- 'url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23444%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpolyline%20points=%2218%2015%2012%209%206%2015%22/%3E%3C/svg%3E")';
24
- this.root.style.backgroundRepeat = 'no-repeat';
25
- this.root.style.backgroundPosition = 'center';
26
- this.root.style.backgroundSize = '50%';
27
- const onPress = (e) => {
28
- e.preventDefault();
29
- e.stopPropagation();
30
- JumpAction.emit();
31
- };
32
- const stopPropagation = (e) => {
33
- e.stopPropagation();
34
- e.preventDefault();
35
- };
36
- this.root.addEventListener('pointerdown', onPress, { signal: this.abortController.signal });
37
- this.root.addEventListener('pointermove', stopPropagation, { signal: this.abortController.signal });
38
- this.root.addEventListener('pointerup', stopPropagation, { signal: this.abortController.signal });
39
- }
40
- dispose() {
41
- this.abortController.abort();
42
- this.root.remove();
43
- }
44
- }