├── .gitattributes ├── .github ├── CONTRIBUTING.md └── workflows │ ├── cd.yml │ └── ci.yml ├── .gitignore ├── LICENSE.md ├── README.md ├── demo ├── src │ ├── index.ts │ └── utils │ │ ├── ArrayUtils.ts │ │ ├── CameraUtils.ts │ │ ├── SkyboxUtils.ts │ │ └── index.ts └── static │ ├── code.svg │ ├── github.svg │ ├── index.html │ ├── styles.css │ └── textures │ ├── checkerboard.png │ └── skies │ └── space │ ├── back.jpg │ ├── bottom.jpg │ ├── front.jpg │ ├── left.jpg │ ├── right.jpg │ └── top.jpg ├── esbuild.js ├── eslint.config.js ├── package.json ├── pnpm-lock.yaml ├── src ├── core │ ├── Action.ts │ ├── BoundAction.ts │ ├── Collider.ts │ ├── Constraint.ts │ ├── ControlMode.ts │ ├── ControlsEventMap.ts │ ├── Direction.ts │ ├── Disposable.ts │ ├── RotationControls.ts │ ├── SpatialControls.ts │ ├── TranslationControls.ts │ ├── Updatable.ts │ ├── axes.ts │ ├── index.ts │ └── time.ts ├── index.ts ├── input │ ├── ActionEvent.ts │ ├── Input.ts │ ├── KeyCode.ts │ ├── Modifier.ts │ ├── PointerBehaviour.ts │ ├── PointerButton.ts │ ├── RotationEvent.ts │ ├── TranslationEvent.ts │ ├── WheelRotation.ts │ └── index.ts ├── managers │ ├── CollisionManager.ts │ ├── InputManager.ts │ ├── InputManagerEventMap.ts │ ├── ManagerEventMap.ts │ ├── MovementState.ts │ ├── RotationManager.ts │ ├── TranslationManager.ts │ └── index.ts ├── math │ ├── ScalarDamper.ts │ └── index.ts ├── settings │ ├── Bindings.ts │ ├── GeneralSettings.ts │ ├── PointerSettings.ts │ ├── RotationSettings.ts │ ├── Settings.ts │ ├── SettingsEventMap.ts │ ├── TranslationSettings.ts │ ├── ZoomSettings.ts │ └── index.ts └── strategies │ ├── BoostStrategy.ts │ ├── MovementStrategy.ts │ ├── RotationStrategy.ts │ ├── Strategy.ts │ ├── ZoomStrategy.ts │ └── index.ts ├── test ├── core │ └── SpatialControls.js ├── managers │ ├── MovementState.js │ ├── RotationManager.js │ └── TranslationManager.js ├── settings │ ├── Bindings.js │ ├── GeneralSettings.js │ ├── PointerSettings.js │ ├── RotationSettings.js │ ├── Settings.js │ ├── TranslationSettings.js │ └── ZoomSettings.js └── strategies │ ├── BoostStrategy.js │ ├── MovementStrategy.js │ └── ZoomStrategy.js ├── tsconfig.d.json ├── tsconfig.json └── typedoc.json /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/workflows/cd.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/.github/workflows/cd.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/README.md -------------------------------------------------------------------------------- /demo/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/src/index.ts -------------------------------------------------------------------------------- /demo/src/utils/ArrayUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/src/utils/ArrayUtils.ts -------------------------------------------------------------------------------- /demo/src/utils/CameraUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/src/utils/CameraUtils.ts -------------------------------------------------------------------------------- /demo/src/utils/SkyboxUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/src/utils/SkyboxUtils.ts -------------------------------------------------------------------------------- /demo/src/utils/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/src/utils/index.ts -------------------------------------------------------------------------------- /demo/static/code.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/code.svg -------------------------------------------------------------------------------- /demo/static/github.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/github.svg -------------------------------------------------------------------------------- /demo/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/index.html -------------------------------------------------------------------------------- /demo/static/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/styles.css -------------------------------------------------------------------------------- /demo/static/textures/checkerboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/textures/checkerboard.png -------------------------------------------------------------------------------- /demo/static/textures/skies/space/back.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/textures/skies/space/back.jpg -------------------------------------------------------------------------------- /demo/static/textures/skies/space/bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/textures/skies/space/bottom.jpg -------------------------------------------------------------------------------- /demo/static/textures/skies/space/front.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/textures/skies/space/front.jpg -------------------------------------------------------------------------------- /demo/static/textures/skies/space/left.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/textures/skies/space/left.jpg -------------------------------------------------------------------------------- /demo/static/textures/skies/space/right.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/textures/skies/space/right.jpg -------------------------------------------------------------------------------- /demo/static/textures/skies/space/top.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/demo/static/textures/skies/space/top.jpg -------------------------------------------------------------------------------- /esbuild.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/esbuild.js -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/eslint.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /src/core/Action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/Action.ts -------------------------------------------------------------------------------- /src/core/BoundAction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/BoundAction.ts -------------------------------------------------------------------------------- /src/core/Collider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/Collider.ts -------------------------------------------------------------------------------- /src/core/Constraint.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/Constraint.ts -------------------------------------------------------------------------------- /src/core/ControlMode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/ControlMode.ts -------------------------------------------------------------------------------- /src/core/ControlsEventMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/ControlsEventMap.ts -------------------------------------------------------------------------------- /src/core/Direction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/Direction.ts -------------------------------------------------------------------------------- /src/core/Disposable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/Disposable.ts -------------------------------------------------------------------------------- /src/core/RotationControls.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/RotationControls.ts -------------------------------------------------------------------------------- /src/core/SpatialControls.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/SpatialControls.ts -------------------------------------------------------------------------------- /src/core/TranslationControls.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/TranslationControls.ts -------------------------------------------------------------------------------- /src/core/Updatable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/Updatable.ts -------------------------------------------------------------------------------- /src/core/axes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/axes.ts -------------------------------------------------------------------------------- /src/core/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/index.ts -------------------------------------------------------------------------------- /src/core/time.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/core/time.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/input/ActionEvent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/input/ActionEvent.ts -------------------------------------------------------------------------------- /src/input/Input.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/input/Input.ts -------------------------------------------------------------------------------- /src/input/KeyCode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/input/KeyCode.ts -------------------------------------------------------------------------------- /src/input/Modifier.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/input/Modifier.ts -------------------------------------------------------------------------------- /src/input/PointerBehaviour.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/input/PointerBehaviour.ts -------------------------------------------------------------------------------- /src/input/PointerButton.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/input/PointerButton.ts -------------------------------------------------------------------------------- /src/input/RotationEvent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/input/RotationEvent.ts -------------------------------------------------------------------------------- /src/input/TranslationEvent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/input/TranslationEvent.ts -------------------------------------------------------------------------------- /src/input/WheelRotation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/input/WheelRotation.ts -------------------------------------------------------------------------------- /src/input/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/input/index.ts -------------------------------------------------------------------------------- /src/managers/CollisionManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/managers/CollisionManager.ts -------------------------------------------------------------------------------- /src/managers/InputManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/managers/InputManager.ts -------------------------------------------------------------------------------- /src/managers/InputManagerEventMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/managers/InputManagerEventMap.ts -------------------------------------------------------------------------------- /src/managers/ManagerEventMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/managers/ManagerEventMap.ts -------------------------------------------------------------------------------- /src/managers/MovementState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/managers/MovementState.ts -------------------------------------------------------------------------------- /src/managers/RotationManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/managers/RotationManager.ts -------------------------------------------------------------------------------- /src/managers/TranslationManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/managers/TranslationManager.ts -------------------------------------------------------------------------------- /src/managers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/managers/index.ts -------------------------------------------------------------------------------- /src/math/ScalarDamper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/math/ScalarDamper.ts -------------------------------------------------------------------------------- /src/math/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./ScalarDamper.js"; 2 | -------------------------------------------------------------------------------- /src/settings/Bindings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/settings/Bindings.ts -------------------------------------------------------------------------------- /src/settings/GeneralSettings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/settings/GeneralSettings.ts -------------------------------------------------------------------------------- /src/settings/PointerSettings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/settings/PointerSettings.ts -------------------------------------------------------------------------------- /src/settings/RotationSettings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/settings/RotationSettings.ts -------------------------------------------------------------------------------- /src/settings/Settings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/settings/Settings.ts -------------------------------------------------------------------------------- /src/settings/SettingsEventMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/settings/SettingsEventMap.ts -------------------------------------------------------------------------------- /src/settings/TranslationSettings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/settings/TranslationSettings.ts -------------------------------------------------------------------------------- /src/settings/ZoomSettings.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/settings/ZoomSettings.ts -------------------------------------------------------------------------------- /src/settings/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/settings/index.ts -------------------------------------------------------------------------------- /src/strategies/BoostStrategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/strategies/BoostStrategy.ts -------------------------------------------------------------------------------- /src/strategies/MovementStrategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/strategies/MovementStrategy.ts -------------------------------------------------------------------------------- /src/strategies/RotationStrategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/strategies/RotationStrategy.ts -------------------------------------------------------------------------------- /src/strategies/Strategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/strategies/Strategy.ts -------------------------------------------------------------------------------- /src/strategies/ZoomStrategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/strategies/ZoomStrategy.ts -------------------------------------------------------------------------------- /src/strategies/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/src/strategies/index.ts -------------------------------------------------------------------------------- /test/core/SpatialControls.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/core/SpatialControls.js -------------------------------------------------------------------------------- /test/managers/MovementState.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/managers/MovementState.js -------------------------------------------------------------------------------- /test/managers/RotationManager.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/managers/RotationManager.js -------------------------------------------------------------------------------- /test/managers/TranslationManager.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/managers/TranslationManager.js -------------------------------------------------------------------------------- /test/settings/Bindings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/settings/Bindings.js -------------------------------------------------------------------------------- /test/settings/GeneralSettings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/settings/GeneralSettings.js -------------------------------------------------------------------------------- /test/settings/PointerSettings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/settings/PointerSettings.js -------------------------------------------------------------------------------- /test/settings/RotationSettings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/settings/RotationSettings.js -------------------------------------------------------------------------------- /test/settings/Settings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/settings/Settings.js -------------------------------------------------------------------------------- /test/settings/TranslationSettings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/settings/TranslationSettings.js -------------------------------------------------------------------------------- /test/settings/ZoomSettings.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/settings/ZoomSettings.js -------------------------------------------------------------------------------- /test/strategies/BoostStrategy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/strategies/BoostStrategy.js -------------------------------------------------------------------------------- /test/strategies/MovementStrategy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/strategies/MovementStrategy.js -------------------------------------------------------------------------------- /test/strategies/ZoomStrategy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/test/strategies/ZoomStrategy.js -------------------------------------------------------------------------------- /tsconfig.d.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/tsconfig.d.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/tsconfig.json -------------------------------------------------------------------------------- /typedoc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanruesc/spatial-controls/HEAD/typedoc.json --------------------------------------------------------------------------------