update docs

This commit is contained in:
Nitwel 2024-04-26 17:41:52 +02:00
parent f29b83c301
commit 36c38f1217
27 changed files with 581 additions and 122 deletions

View File

@ -70,6 +70,14 @@ export default {
text: 'Event System',
link: '/development/event-system'
},
{
text: 'Interaction System',
link: '/development/interaction'
},
{
text: 'Force Feedback',
link: '/development/force-feedback'
},
{
text: 'Node Functions',
link: '/development/functions'

View File

@ -142,3 +142,7 @@ iframe {
aspect-ratio: 16 / 9;
width: 100%;
}
img {
max-height: 400px;
}

View File

@ -2,6 +2,10 @@
While Godot ships with it's own event system, we have implemented our own event system to make it more similar to the event system in Browsers and to streamline event handling in the app.
There are two types of base events, [Events](/reference/Event.html) which get directly emitted by the [EventSystem](/reference/lib--globals--event_system.html) and [BubbleEvents](/reference/EventBubble.html) which first walk through the scene tree starting at the [target](/reference/EventBubble.html#prop-target) node until the root node is reached and then get emitted by the [EventSystem](/reference/lib--globals--event_system.html). This can be seen in the diagram below.
![Event System](/img/event-walking.svg)
Full reference can be found in the [Event System](/reference/lib--globals--event_system.html) documentation.
## Focus handling

View File

@ -0,0 +1,17 @@
# Force Feedback
In order to make interactions with hands feel more natural and immersive, multiple techniques can be applied to provide a sensor of haptic feedback while not directly simulating physical touch.
The first technique is to overlay a virtual copy of the physical hand as hand tracking still has a bit of latency and jitter. The virtual hand reduces confusion when interacting with objects as the user can reference the virtual hand to compensate for these issues.
The second technique is to allow the virtual hand to collide with virtual objects in the scene. This is done to trick the brain into thinking that the hand is touching something. The brain perceives the virtual hand as its own hand and thus the collision with virtual objects feels like touching a real object.
## Implementation
There are several techniques for making the virtual hand collide with virtual objects. The one we chose to implement is to use a free floating spherical collision shape. Each physics frame a strong force is applied to the collision shape into the direction of the tip of the finger.
![Force Feedback](/img/force-feedback.svg)
The virtual hand is moved so that the tip of the finger is at the position of the collision shape.
In case that the distance between the collision shape and the physical hand becomes too large, the collision shape is teleported back to the tip of the finger. That way we make sure that your virtual hand never gets stuck in the scene.

View File

@ -13,8 +13,3 @@ Useful for connection to events that happen on other nodes.
Adds the ability to move the node using the controller or hands.
The parent needs to be a `StaticBody3D`.
### Occludable
Hides the node when it is occluded by another node like walls.

View File

@ -0,0 +1,31 @@
# Interaction System
The app currently supports 3 different types of interaction techniques:
- **Using controllers with raycast**
- **Using hands with raycast**
- **Using hands with direct touch**
The interaction system, like the [Event System](/development/event-system.html), is heavily inspired by the interaction system in browsers. Interaction Events can be broken down into 2 categories, [Pointer Events](/reference/EventPointer.html) initiated by a raycast and [Touch Events](/reference/TouchEvent.html) initiated by a collision shape in the tip of the fingers. Pointer Events](/reference/EventPointer.html)
## Pointer Events
When pressing the trigger button on the back of a controller or doing a pinch gesture with thumb and index finer an `on_press_down` event is triggered containing a [EventPointer](/reference/EventPointer.html) which holds information about the ray and initiator of the event. If the trigger button or pinch gesture is released before 400ms pass, an `on_press_up` and `on_click` event is triggered. If the trigger button or pinch gesture is held for more than 400ms, an `on_press_move` event is triggered each physics process and when releasing, only the `on_press_up` event is triggered.
![Event Order](/img/event-order.svg)
The same logic can be applied to **grab** (`on_grab_down`, `on_grab_move` and `on_grab_up`) events, here the event family is triggered by the grip button on the controller or by doing a pinch gesture with thumb and middle finger.
### Pinch Gesture
The pinch gesture is implemented by checking the distance between the thumb and each finger and if the distance is smaller than 3cm, the pinch gesture is detected.
## Touch Events
Touch events are triggered when the collision shape present in the tip of the fingers enters another collision area. The `on_touch_enter` event is triggered when the collision shape enters the area, the `on_touch_move` event is triggered each physics process while the collision shape is inside the area and the `on_touch_leave` event is triggered when the collision shape leaves the area.
![Touch Event Order](/img/touch-event.svg)
## Hover (ray) Events
Each frame the ray is casted from the controller or hand and in case that the ray collides with a collision node, the `on_ray_enter` event is triggered. If the ray was already colliding with another object the previous frame, the `on_ray_leave` event is triggered on the old node.

24
docs/img/event-order.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 27 KiB

24
docs/img/touch-event.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@ -9,9 +9,10 @@ This class is used to create entities based on their type
## Methods
| Returns | Name |
| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [create_entity](#create-entity) ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) |
| Returns | Name |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [create_entity](#create-entity) ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), type: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | [get_entity_icon](#get-entity-icon) ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) |
@ -47,10 +48,18 @@ No description provided yet.
No description provided yet.
### LineGraphEntity = `<Object>` {#const-LineGraphEntity}
No description provided yet.
## Method Descriptions
### static create_entity (id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#create-entity}
### static create_entity (id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) , type: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#create-entity}
No description provided yet.
### static get_entity_icon (type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#get-entity-icon}
No description provided yet.

View File

@ -1,5 +1,5 @@
# EventFocus
**Inherits:** [Event](/reference/Event.html)
**Inherits:** [EventBubble](/reference/EventBubble.html)
## Description
@ -10,7 +10,6 @@ Emitted when a Node with the `ui_focus` group is focused or unfocused.
| Name | Type | Default |
| ---------------------------------------- | ------------------------------------------------------------------- | ------- |
| [previous_target](#prop-previous-target) | [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | |
| [target](#prop-target) | [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | |
@ -25,7 +24,3 @@ Emitted when a Node with the `ui_focus` group is focused or unfocused.
### previous_target: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) {#prop-previous-target}
The Node that was previously focused or unfocused.
### target: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) {#prop-target}
The Node that is being focused or unfocused.

View File

@ -0,0 +1,46 @@
# MachineState
**Inherits:** [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html)
## Description
Base Class for all states
## Properties
| Name | Type | Default |
| ------------------------------------ | -------------------------------------------- | ------- |
| [state_machine](#prop-state-machine) | [StateMachine](/reference/StateMachine.html) | |
## Methods
| Returns | Name |
| ------------------------------------------------------------------------- | ---------------------------- |
| void | [_on_enter](#-on-enter) ( ) |
| void | [_on_leave](#-on-leave) ( ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [is_active](#is-active) ( ) |
## Property Descriptions
### state_machine: [StateMachine](/reference/StateMachine.html) {#prop-state-machine}
No description provided yet.
## Method Descriptions
### _on_enter ( ) -> void {#-on-enter}
No description provided yet.
### _on_leave ( ) -> void {#-on-leave}
No description provided yet.
### is_active ( ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#is-active}
No description provided yet.

26
docs/reference/Update.md Normal file
View File

@ -0,0 +1,26 @@
# Update
**Inherits:** [RefCounted](https://docs.godotengine.org/de/4.x/classes/class_refcounted.html)
## Methods
| Returns | Name |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| void | [props](#props) ( node: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html), prop_names: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
## Method Descriptions
### static props (node: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) , prop_names: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#props}
No description provided yet.

View File

@ -0,0 +1,53 @@
# Console
**Inherits:** [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html)
## Properties
| Name | Type | Default |
| -------------------------- | ------------------------------------------------------------------------- | ------- |
| [_console](#prop--console) | [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) | `null` |
| [main](#prop-main) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | |
## Methods
| Returns | Name |
| ------- | -------------------------------------------------------------------------------------------------- |
| void | [_ready](#-ready) ( ) |
| void | [init_console](#init-console) ( ) |
| void | [log](#log) ( message: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
## Constants
### console_scene = `<Object>` {#const-console-scene}
No description provided yet.
## Property Descriptions
### _console: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) {#prop--console}
No description provided yet.
### main: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#prop-main}
No description provided yet.
## Method Descriptions
### _ready ( ) -> void {#-ready}
No description provided yet.
### init_console ( ) -> void {#init-console}
No description provided yet.
### log (message: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#log}
No description provided yet.

View File

@ -7,9 +7,10 @@ Manages the connection to the home automation system and provides a unified inte
## Properties
| Name | Type | Default |
| ---------------- | ------------------------------------------------------------------- | ------- |
| [api](#prop-api) | [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | |
| Name | Type | Default |
| ---------------------- | ------------------------------------------------------------------------- | ------- |
| [api](#prop-api) | [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | |
| [groups](#prop-groups) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | |
## Methods
@ -20,6 +21,7 @@ Manages the connection to the home automation system and provides a unified inte
| void | [_ready](#-ready) ( ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_device](#get-device) ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_devices](#get-devices) ( ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_history](#get-history) ( entity_id: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), start: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), end: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_state](#get-state) ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) |
| [VoiceHandler](/reference/lib--home_apis--voice_handler.html) | [get_voice_assistant](#get-voice-assistant) ( ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [has_connected](#has-connected) ( ) |
@ -47,6 +49,10 @@ Emitted when the connection to the home automation system is lost
No description provided yet.
### EntityGroups = `<Object>` {#const-EntityGroups}
No description provided yet.
### HassWebSocket = `<Object>` {#const-HassWebSocket}
No description provided yet.
@ -75,6 +81,10 @@ No description provided yet.
The current home automation system adapter
### groups: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#prop-groups}
No description provided yet.
## Method Descriptions
### _on_connect ( ) -> void {#-on-connect}
@ -97,6 +107,10 @@ Get a single device by id
Get a list of all devices
### get_history (entity_id: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) , start: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) , end: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#get-history}
No description provided yet.
### get_state (entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#get-state}
Returns the current state of an entity

View File

@ -7,9 +7,9 @@ Shortcut to get the House node from the Main scene
## Properties
| Name | Type | Default |
| ------------------ | ------------------------------------------------------------------------- | ------- |
| [body](#prop-body) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | |
| Name | Type | Default |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------- | ------- |
| [body](#prop-body) | ["content/system/house/house.gd"](https://docs.godotengine.org/de/4.x/classes/class_"content/system/house/house.gd".html) | |
@ -17,10 +17,14 @@ Shortcut to get the House node from the Main scene
## Constants
### HouseClass = `<Object>` {#const-HouseClass}
No description provided yet.
## Property Descriptions
### body: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#prop-body}
### body: ["content/system/house/house.gd"](https://docs.godotengine.org/de/4.x/classes/class_"content/system/house/house.gd".html) {#prop-body}
No description provided yet.

View File

@ -0,0 +1,48 @@
# History
**Inherits:** [RefCounted](https://docs.godotengine.org/de/4.x/classes/class_refcounted.html)
## Properties
| Name | Type | Default |
| ---------------------------------------------- | ------------------------------------------------------------------- | ------- |
| [api](#prop-api) | [Hass](/reference/lib--home_apis--hass_ws--hass.html) | |
| [integration_exists](#prop-integration-exists) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` |
## Methods
| Returns | Name |
| ------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void | [_init](#-init) ( hass: [Hass](/reference/lib--home_apis--hass_ws--hass.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_history](#get-history) ( entity_id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), start: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), end: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
## Constants
### HASS_API = `<Object>` {#const-HASS-API}
No description provided yet.
## Property Descriptions
### api: [Hass](/reference/lib--home_apis--hass_ws--hass.html) {#prop-api}
No description provided yet.
### integration_exists: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#prop-integration-exists}
No description provided yet.
## Method Descriptions
### _init (hass: [Hass](/reference/lib--home_apis--hass_ws--hass.html) ) -> void {#-init}
No description provided yet.
### get_history (entity_id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) , start: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) , end: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#get-history}
No description provided yet.

View File

@ -14,6 +14,7 @@
| [devices_template](#prop-devices-template) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | |
| [entities](#prop-entities) | [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) | |
| [entitiy_callbacks](#prop-entitiy-callbacks) | [CallbackMap](/reference/CallbackMap.html) | |
| [history_handler](#prop-history-handler) | [History](/reference/lib--home_apis--hass_ws--handlers--history.html) | |
| [id](#prop-id) | [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) | `1` |
| [integration_handler](#prop-integration-handler) | [Integration](/reference/lib--home_apis--hass_ws--handlers--integration.html) | |
| [packet_callbacks](#prop-packet-callbacks) | [CallbackMap](/reference/CallbackMap.html) | |
@ -33,6 +34,7 @@
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [encode_packet](#encode-packet) ( packet: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) |
| void | [get_device](#get-device) ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_devices](#get-devices) ( ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_history](#get-history) ( entity_id: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), start: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), end: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_state](#get-state) ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_voice_assistant](#get-voice-assistant) ( ) |
| void | [handle_connect](#handle-connect) ( ) |
@ -75,6 +77,10 @@ No description provided yet.
No description provided yet.
### HistoryHandler = `<Object>` {#const-HistoryHandler}
No description provided yet.
## Property Descriptions
### LOG_MESSAGES: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#prop-LOG-MESSAGES}
@ -105,6 +111,10 @@ No description provided yet.
No description provided yet.
### history_handler: [History](/reference/lib--home_apis--hass_ws--handlers--history.html) {#prop-history-handler}
No description provided yet.
### id: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) {#prop-id}
No description provided yet.
@ -163,6 +173,10 @@ No description provided yet.
No description provided yet.
### get_history (entity_id: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) , start: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) , end: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#get-history}
No description provided yet.
### get_state (entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#get-state}
No description provided yet.

View File

@ -9,6 +9,7 @@
| Returns | Name |
| ------- | -------------------- |
| void | [_init](#-init) ( ) |
| void | [clear](#clear) ( ) |
@ -25,6 +26,10 @@ No description provided yet.
## Method Descriptions
### _init ( ) -> void {#-init}
No description provided yet.
### clear ( ) -> void {#clear}
No description provided yet.

View File

@ -3,16 +3,9 @@
## Description
Stores information about the house, its rooms and entities
Type Entity id: String position: Vec3 rotation: Vec3 room: String interface: String
## Properties
| Name | Type | Default |
| ---------------------------------------- | ------------------------------------------------------------------------- | ------- |
| [align_position1](#prop-align-position1) | [Vector3](https://docs.godotengine.org/de/4.x/classes/class_vector3.html) | |
| [align_position2](#prop-align-position2) | [Vector3](https://docs.godotengine.org/de/4.x/classes/class_vector3.html) | |
| [entities](#prop-entities) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | |
| [rooms](#prop-rooms) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | |
## Methods
@ -32,23 +25,7 @@ Stores information about the house, its rooms and entities
No description provided yet.
## Property Descriptions
### align_position1: [Vector3](https://docs.godotengine.org/de/4.x/classes/class_vector3.html) {#prop-align-position1}
No description provided yet.
### align_position2: [Vector3](https://docs.godotengine.org/de/4.x/classes/class_vector3.html) {#prop-align-position2}
No description provided yet.
### entities: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#prop-entities}
Type Entity id: String position: Vec3 rotation: Vec3 room: String
### rooms: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#prop-rooms}
Type Room name: String corners: Vec2[] height: float
## Method Descriptions

View File

@ -3,17 +3,9 @@
## Description
Stores general settings for the app
If the onboarding process has been completed
## Properties
| Name | Type | Default |
| ------------------------------------------------ | ----------------------------------------------------------------------- | ----------- |
| [onboarding_complete](#prop-onboarding-complete) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` |
| [token](#prop-token) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | `""` |
| [type](#prop-type) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | `"HASS_WS"` |
| [url](#prop-url) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | `""` |
| [voice_assistant](#prop-voice-assistant) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` |
## Methods
@ -32,27 +24,7 @@ Stores general settings for the app
No description provided yet.
## Property Descriptions
### onboarding_complete: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#prop-onboarding-complete}
If the onboarding process has been completed
### token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#prop-token}
No description provided yet.
### type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#prop-type}
The adapter to use for connecting with a backend
### url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#prop-url}
No description provided yet.
### voice_assistant: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#prop-voice-assistant}
If the voice assistant should be enabled
## Method Descriptions

View File

@ -7,21 +7,22 @@ Abstract class for saving and loading data to and from a file.
## Properties
| Name | Type | Default |
| ------------------------------ | ------------------------------------------------------------------------- | ------- |
| [_loaded](#prop--loaded) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `false` |
| [_save_path](#prop--save-path) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `null` |
| Name | Type | Default |
| ------------------------------ | ----------------------------------------------------------------------------- | ------- |
| [_loaded](#prop--loaded) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `false` |
| [_save_path](#prop--save-path) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `null` |
| [state](#prop-state) | [RdotStore](https://docs.godotengine.org/de/4.x/classes/class_rdotstore.html) | |
## Methods
| Returns | Name |
| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| void | [clear](#clear) ( ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [create_dict](#create-dict) ( ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [is_loaded](#is-loaded) ( ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [load_local](#load-local) ( path: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [save_local](#save-local) ( path: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| void | [use_dict](#use-dict) ( dict: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) |
| Returns | Name |
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void | [clear](#clear) ( ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [is_loaded](#is-loaded) ( ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [load_local](#load-local) ( path: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [sanitizeState](#sanitizeState) ( dict: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [save_local](#save-local) ( path: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| void | [use_dict](#use-dict) ( dict: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html), target: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
## Signals
@ -51,16 +52,16 @@ No description provided yet.
No description provided yet.
### state: [RdotStore](https://docs.godotengine.org/de/4.x/classes/class_rdotstore.html) {#prop-state}
No description provided yet.
## Method Descriptions
### clear ( ) -> void {#clear}
Resets the data to its default state.
### create_dict ( ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#create-dict}
No description provided yet.
### is_loaded ( ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#is-loaded}
Returns true if the data has been loaded.
@ -69,10 +70,14 @@ Returns true if the data has been loaded.
No description provided yet.
### sanitizeState (dict: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#sanitizeState}
No description provided yet.
### save_local (path: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#save-local}
No description provided yet.
### use_dict (dict: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) -> void {#use-dict}
### use_dict (dict: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) , target: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#use-dict}
No description provided yet.

View File

@ -0,0 +1,69 @@
# EntityGroup
**Inherits:** [RefCounted](https://docs.godotengine.org/de/4.x/classes/class_refcounted.html)
## Properties
| Name | Type | Default |
| ------------------------ | ------------------------------------------------------------------------- | ------- |
| [counter](#prop-counter) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `0` |
| [groups](#prop-groups) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | |
## Methods
| Returns | Name |
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [add_entity](#add-entity) ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), entity: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [create](#create) ( entities: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_group](#get-group) ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [is_group](#is-group) ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [remove](#remove) ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [remove_entity](#remove-entity) ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), entity: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [update_entities](#update-entities) ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), entities: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
## Property Descriptions
### counter: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#prop-counter}
No description provided yet.
### groups: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#prop-groups}
No description provided yet.
## Method Descriptions
### add_entity (id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) , entity: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#add-entity}
No description provided yet.
### create (entities: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#create}
No description provided yet.
### get_group (id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#get-group}
No description provided yet.
### is_group (id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#is-group}
No description provided yet.
### remove (id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#remove}
No description provided yet.
### remove_entity (id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) , entity: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#remove-entity}
No description provided yet.
### update_entities (id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) , entities: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#update-entities}
No description provided yet.

View File

@ -9,7 +9,7 @@
| Returns | Name |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_font_size](#get-font-size) ( label: [Label3D](https://docs.godotengine.org/de/4.x/classes/class_label3d.html), chars: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Vector2](https://docs.godotengine.org/de/4.x/classes/class_vector2.html) | [get_font_size](#get-font-size) ( label: [Label3D](https://docs.godotengine.org/de/4.x/classes/class_label3d.html), chars: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
@ -21,6 +21,6 @@
## Method Descriptions
### static get_font_size (label: [Label3D](https://docs.godotengine.org/de/4.x/classes/class_label3d.html) , chars: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#get-font-size}
### static get_font_size (label: [Label3D](https://docs.godotengine.org/de/4.x/classes/class_label3d.html) , chars: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Vector2](https://docs.godotengine.org/de/4.x/classes/class_vector2.html) {#get-font-size}
Returns the size of a Label3D in standard units

View File

@ -0,0 +1,48 @@
# ConstructRoomMesh
**Inherits:** [RefCounted](https://docs.godotengine.org/de/4.x/classes/class_refcounted.html)
## Description
Fill points insde the polygon
## Methods
| Returns | Name |
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [_create_mesh](#-create-mesh) ( points: [PackedVector2Array](https://docs.godotengine.org/de/4.x/classes/class_packedvector2array.html), triangles: [PackedInt32Array](https://docs.godotengine.org/de/4.x/classes/class_packedint32array.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [generate_ceiling_mesh](#generate-ceiling-mesh) ( corners: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [generate_ceiling_mesh_grid](#generate-ceiling-mesh-grid) ( corners: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), grid: [Vector2](https://docs.godotengine.org/de/4.x/classes/class_vector2.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [generate_wall_mesh](#generate-wall-mesh) ( corners: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), height: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [generate_wall_mesh_grid](#generate-wall-mesh-grid) ( corners: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), height: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), grid: [Vector2](https://docs.godotengine.org/de/4.x/classes/class_vector2.html) ) |
## Method Descriptions
### static _create_mesh (points: [PackedVector2Array](https://docs.godotengine.org/de/4.x/classes/class_packedvector2array.html) , triangles: [PackedInt32Array](https://docs.godotengine.org/de/4.x/classes/class_packedint32array.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#-create-mesh}
No description provided yet.
### static generate_ceiling_mesh (corners: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#generate-ceiling-mesh}
No description provided yet.
### static generate_ceiling_mesh_grid (corners: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) , grid: [Vector2](https://docs.godotengine.org/de/4.x/classes/class_vector2.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#generate-ceiling-mesh-grid}
No description provided yet.
### static generate_wall_mesh (corners: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) , height: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#generate-wall-mesh}
No description provided yet.
### static generate_wall_mesh_grid (corners: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) , height: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) , grid: [Vector2](https://docs.godotengine.org/de/4.x/classes/class_vector2.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#generate-wall-mesh-grid}
No description provided yet.

View File

@ -7,22 +7,25 @@ Calculates collision for fingers and FingerAreas
## Properties
| Name | Type | Default |
| -------------------------------------- | ------------------------------------------------------------------------------- | ------- |
| [bodies_entered](#prop-bodies-entered) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | |
| [finger_areas](#prop-finger-areas) | [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) | |
| [hand_left](#prop-hand-left) | [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) | |
| [hand_right](#prop-hand-right) | [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) | |
| Name | Type | Default |
| ---------------------------------------- | --------------------------------------------------------------------------------------- | ------- |
| [hand_left](#prop-hand-left) | [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) | |
| [hand_left_mesh](#prop-hand-left-mesh) | [MeshInstance3D](https://docs.godotengine.org/de/4.x/classes/class_meshinstance3d.html) | |
| [hand_right](#prop-hand-right) | [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) | |
| [hand_right_mesh](#prop-hand-right-mesh) | [MeshInstance3D](https://docs.godotengine.org/de/4.x/classes/class_meshinstance3d.html) | |
| [tip_left](#prop-tip-left) | [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) | |
| [tip_left_body](#prop-tip-left-body) | [RigidBody3D](https://docs.godotengine.org/de/4.x/classes/class_rigidbody3d.html) | |
| [tip_right](#prop-tip-right) | [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) | |
| [tip_right_body](#prop-tip-right-body) | [RigidBody3D](https://docs.godotengine.org/de/4.x/classes/class_rigidbody3d.html) | |
## Methods
| Returns | Name |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void | [_init](#-init) ( hand_left: [OpenXRHand](https://docs.godotengine.org/de/4.x/classes/class_openxrhand.html), hand_right: [OpenXRHand](https://docs.godotengine.org/de/4.x/classes/class_openxrhand.html), finger_areas: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) |
| void | [_on_body_entered](#-on-body-entered) ( finger_type: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), body: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| void | [_on_body_exited](#-on-body-exited) ( finger_type: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), body: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| void | [_physics_process](#-physics-process) ( _delta: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| void | [_ready](#-ready) ( ) |
| Returns | Name |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| void | [_init](#-init) ( hand_left: [OpenXRHand](https://docs.godotengine.org/de/4.x/classes/class_openxrhand.html), hand_right: [OpenXRHand](https://docs.godotengine.org/de/4.x/classes/class_openxrhand.html), tip_left: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html), tip_right: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) ) |
| void | [_move_tip_rigidbody_to_bone](#-move-tip-rigidbody-to-bone) ( tip_rigidbody: [RigidBody3D](https://docs.godotengine.org/de/4.x/classes/class_rigidbody3d.html), tip_bone: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) ) |
| void | [_physics_process](#-physics-process) ( _delta: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) |
| void | [_ready](#-ready) ( ) |
@ -34,35 +37,51 @@ Calculates collision for fingers and FingerAreas
No description provided yet.
### TipCollider = `<Object>` {#const-TipCollider}
No description provided yet.
## Property Descriptions
### bodies_entered: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#prop-bodies-entered}
Record<TouchBody3D, Array<Finger.Type>>
### finger_areas: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) {#prop-finger-areas}
Record<Finger.Type, Area3D>
### hand_left: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) {#prop-hand-left}
No description provided yet.
### hand_left_mesh: [MeshInstance3D](https://docs.godotengine.org/de/4.x/classes/class_meshinstance3d.html) {#prop-hand-left-mesh}
No description provided yet.
### hand_right: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) {#prop-hand-right}
No description provided yet.
### hand_right_mesh: [MeshInstance3D](https://docs.godotengine.org/de/4.x/classes/class_meshinstance3d.html) {#prop-hand-right-mesh}
No description provided yet.
### tip_left: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) {#prop-tip-left}
No description provided yet.
### tip_left_body: [RigidBody3D](https://docs.godotengine.org/de/4.x/classes/class_rigidbody3d.html) {#prop-tip-left-body}
No description provided yet.
### tip_right: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) {#prop-tip-right}
No description provided yet.
### tip_right_body: [RigidBody3D](https://docs.godotengine.org/de/4.x/classes/class_rigidbody3d.html) {#prop-tip-right-body}
No description provided yet.
## Method Descriptions
### _init (hand_left: [OpenXRHand](https://docs.godotengine.org/de/4.x/classes/class_openxrhand.html) , hand_right: [OpenXRHand](https://docs.godotengine.org/de/4.x/classes/class_openxrhand.html) , finger_areas: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) -> void {#-init}
### _init (hand_left: [OpenXRHand](https://docs.godotengine.org/de/4.x/classes/class_openxrhand.html) , hand_right: [OpenXRHand](https://docs.godotengine.org/de/4.x/classes/class_openxrhand.html) , tip_left: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) , tip_right: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) ) -> void {#-init}
No description provided yet.
### _on_body_entered (finger_type: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) , body: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-on-body-entered}
No description provided yet.
### _on_body_exited (finger_type: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) , body: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-on-body-exited}
### _move_tip_rigidbody_to_bone (tip_rigidbody: [RigidBody3D](https://docs.godotengine.org/de/4.x/classes/class_rigidbody3d.html) , tip_bone: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) ) -> void {#-move-tip-rigidbody-to-bone}
No description provided yet.