From 52083a9399c3b42f292b6d10cebb504cb4dedc72 Mon Sep 17 00:00:00 2001 From: Nitwel Date: Sat, 16 Mar 2024 18:45:43 +0100 Subject: [PATCH] add initial docs --- .gitignore | 1 + app/.gitignore | 1 + app/lib/home_apis/hass_ws/callback_map.gd | 2 + docs/.gitignore | 3 + docs/.vitepress/config.mts | 31 + docs/.vitepress/data/sidebar.ts | 93 ++ docs/.vitepress/theme/index.ts | 17 + docs/.vitepress/theme/style.css | 140 ++ docs/development/index.md | 0 docs/getting-started/installation.md | 0 docs/getting-started/introduction.md | 0 docs/globals/Audioplayer.md | 7 + docs/globals/Eventsystem.md | 7 + docs/globals/Homeapi.md | 7 + docs/globals/Housebody.md | 7 + docs/globals/Mainstore.md | 7 + docs/globals/Request.md | 7 + docs/home_apis/hass/Hass.md | 7 + docs/home_apis/hass_ws/Hass.md | 7 + docs/home_apis/hass_ws/handlers/Assist.md | 7 + docs/home_apis/hass_ws/handlers/Auth.md | 7 + .../home_apis/hass_ws/handlers/Integration.md | 7 + docs/index.md | 1 + docs/package.json | 26 + docs/pnpm-lock.yaml | 1158 +++++++++++++++++ docs/public/logo-dark.png | Bin 0 -> 14712 bytes docs/public/logo-light.png | Bin 0 -> 12372 bytes docs/reference/CallbackMap.md | 54 + docs/reference/EntityFactory.md | 19 + docs/reference/Event.md | 19 + docs/reference/EventAction.md | 27 + docs/reference/EventBubble.md | 22 + docs/reference/EventFocus.md | 22 + docs/reference/EventKey.md | 32 + docs/reference/EventNotify.md | 22 + docs/reference/EventPointer.md | 22 + docs/reference/EventTouch.md | 27 + docs/reference/EventWithModifiers.md | 32 + docs/reference/Proxy.md | 37 + docs/reference/ProxyGroup.md | 27 + docs/reference/State.md | 37 + docs/reference/StateMachine.md | 42 + docs/reference/generator/index.ts | 215 +++ docs/reference/lib--globals--audio_player.md | 47 + docs/reference/lib--globals--event_system.md | 62 + docs/reference/lib--globals--home_api.md | 77 ++ docs/reference/lib--globals--house_body.md | 17 + docs/reference/lib--globals--main_store.md | 27 + docs/reference/lib--globals--request.md | 1 + docs/reference/lib--home_apis--hass--hass.md | 57 + ...b--home_apis--hass_ws--handlers--assist.md | 77 ++ ...lib--home_apis--hass_ws--handlers--auth.md | 52 + ...me_apis--hass_ws--handlers--integration.md | 37 + .../lib--home_apis--hass_ws--hass.md | 192 +++ docs/reference/lib--stores--devices.md | 19 + docs/reference/lib--stores--house.md | 52 + docs/reference/lib--stores--settings.md | 47 + docs/reference/lib--stores--store.md | 57 + docs/reference/lib--utils--font_tools.md | 19 + .../reference/lib--utils--gesture--gesture.md | 1 + .../lib--utils--pointer--initiator.md | 32 + .../reference/lib--utils--pointer--pointer.md | 102 ++ docs/reference/lib--utils--sample_hold.md | 19 + docs/reference/lib--utils--touch--collide.md | 62 + docs/reference/lib--utils--touch--finger.md | 22 + docs/reference/lib--utils--touch--touch.md | 57 + .../lib--utils--variant_serializer.md | 24 + docs/stores/Devices.md | 7 + docs/stores/House.md | 7 + docs/stores/Settings.md | 7 + docs/stores/Store.md | 7 + docs/tsconfig.json | 9 + docs/utils/Fonttools.md | 7 + docs/utils/Samplehold.md | 7 + docs/utils/Variantserializer.md | 7 + docs/utils/gesture/Gesture.md | 7 + docs/utils/pointer/Initiator.md | 7 + docs/utils/pointer/Pointer.md | 7 + docs/utils/touch/Collide.md | 7 + docs/utils/touch/Finger.md | 7 + docs/utils/touch/Touch.md | 7 + 81 files changed, 3465 insertions(+) create mode 100644 .gitignore create mode 100644 docs/.gitignore create mode 100644 docs/.vitepress/config.mts create mode 100644 docs/.vitepress/data/sidebar.ts create mode 100644 docs/.vitepress/theme/index.ts create mode 100644 docs/.vitepress/theme/style.css create mode 100644 docs/development/index.md create mode 100644 docs/getting-started/installation.md create mode 100644 docs/getting-started/introduction.md create mode 100644 docs/globals/Audioplayer.md create mode 100644 docs/globals/Eventsystem.md create mode 100644 docs/globals/Homeapi.md create mode 100644 docs/globals/Housebody.md create mode 100644 docs/globals/Mainstore.md create mode 100644 docs/globals/Request.md create mode 100644 docs/home_apis/hass/Hass.md create mode 100644 docs/home_apis/hass_ws/Hass.md create mode 100644 docs/home_apis/hass_ws/handlers/Assist.md create mode 100644 docs/home_apis/hass_ws/handlers/Auth.md create mode 100644 docs/home_apis/hass_ws/handlers/Integration.md create mode 100644 docs/index.md create mode 100644 docs/package.json create mode 100644 docs/pnpm-lock.yaml create mode 100644 docs/public/logo-dark.png create mode 100644 docs/public/logo-light.png create mode 100644 docs/reference/CallbackMap.md create mode 100644 docs/reference/EntityFactory.md create mode 100644 docs/reference/Event.md create mode 100644 docs/reference/EventAction.md create mode 100644 docs/reference/EventBubble.md create mode 100644 docs/reference/EventFocus.md create mode 100644 docs/reference/EventKey.md create mode 100644 docs/reference/EventNotify.md create mode 100644 docs/reference/EventPointer.md create mode 100644 docs/reference/EventTouch.md create mode 100644 docs/reference/EventWithModifiers.md create mode 100644 docs/reference/Proxy.md create mode 100644 docs/reference/ProxyGroup.md create mode 100644 docs/reference/State.md create mode 100644 docs/reference/StateMachine.md create mode 100644 docs/reference/generator/index.ts create mode 100644 docs/reference/lib--globals--audio_player.md create mode 100644 docs/reference/lib--globals--event_system.md create mode 100644 docs/reference/lib--globals--home_api.md create mode 100644 docs/reference/lib--globals--house_body.md create mode 100644 docs/reference/lib--globals--main_store.md create mode 100644 docs/reference/lib--globals--request.md create mode 100644 docs/reference/lib--home_apis--hass--hass.md create mode 100644 docs/reference/lib--home_apis--hass_ws--handlers--assist.md create mode 100644 docs/reference/lib--home_apis--hass_ws--handlers--auth.md create mode 100644 docs/reference/lib--home_apis--hass_ws--handlers--integration.md create mode 100644 docs/reference/lib--home_apis--hass_ws--hass.md create mode 100644 docs/reference/lib--stores--devices.md create mode 100644 docs/reference/lib--stores--house.md create mode 100644 docs/reference/lib--stores--settings.md create mode 100644 docs/reference/lib--stores--store.md create mode 100644 docs/reference/lib--utils--font_tools.md create mode 100644 docs/reference/lib--utils--gesture--gesture.md create mode 100644 docs/reference/lib--utils--pointer--initiator.md create mode 100644 docs/reference/lib--utils--pointer--pointer.md create mode 100644 docs/reference/lib--utils--sample_hold.md create mode 100644 docs/reference/lib--utils--touch--collide.md create mode 100644 docs/reference/lib--utils--touch--finger.md create mode 100644 docs/reference/lib--utils--touch--touch.md create mode 100644 docs/reference/lib--utils--variant_serializer.md create mode 100644 docs/stores/Devices.md create mode 100644 docs/stores/House.md create mode 100644 docs/stores/Settings.md create mode 100644 docs/stores/Store.md create mode 100644 docs/tsconfig.json create mode 100644 docs/utils/Fonttools.md create mode 100644 docs/utils/Samplehold.md create mode 100644 docs/utils/Variantserializer.md create mode 100644 docs/utils/gesture/Gesture.md create mode 100644 docs/utils/pointer/Initiator.md create mode 100644 docs/utils/pointer/Pointer.md create mode 100644 docs/utils/touch/Collide.md create mode 100644 docs/utils/touch/Finger.md create mode 100644 docs/utils/touch/Touch.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..600d2d3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore index e6dcc6f..4f9264f 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -2,6 +2,7 @@ .godot/ android/build/ builds/ +reference/ # Godot-specific ignores .import/ diff --git a/app/lib/home_apis/hass_ws/callback_map.gd b/app/lib/home_apis/hass_ws/callback_map.gd index 6979927..3b1f49d 100644 --- a/app/lib/home_apis/hass_ws/callback_map.gd +++ b/app/lib/home_apis/hass_ws/callback_map.gd @@ -1,7 +1,9 @@ extends Node +## A simple class to manage callbacks for different keys class_name CallbackMap +## Map of callbacks var callbacks := {} var single_callbacks: Array = [] diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..4e7bb84 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,3 @@ +reference/raw/ +node_modules/ +.vitepress/cache/ \ No newline at end of file diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts new file mode 100644 index 0000000..87ca6f4 --- /dev/null +++ b/docs/.vitepress/config.mts @@ -0,0 +1,31 @@ +import { defineConfig } from 'vitepress' +import sidebar from './data/sidebar' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + title: "Immersive Home", + description: "A VitePress Site", + themeConfig: { + siteTitle: false, + logo: { + light: '/logo-dark.png', + dark: '/logo-light.png' + }, + // https://vitepress.dev/reference/default-theme-config + nav: [ + { text: 'Usage', link: '/' }, + { text: 'Development', link: '/development/' }, + { text: 'Reference', link: sidebar['/reference/'][0].items[0].link } + ], + search: { + provider: 'local' + }, + sidebar, + + socialLinks: [ + { icon: 'github', link: 'https://github.com/nitwel/immersive-home' }, + { icon: 'twitter', link: 'https://twitter.com/immersive_home' }, + { icon: 'discord', link: 'https://discord.gg/QgUnAzNVTx' } + ] + } +}) diff --git a/docs/.vitepress/data/sidebar.ts b/docs/.vitepress/data/sidebar.ts new file mode 100644 index 0000000..844b985 --- /dev/null +++ b/docs/.vitepress/data/sidebar.ts @@ -0,0 +1,93 @@ +import fs from 'fs' +import { camelCase } from 'lodash-es' + +export default { + '/': [ + { + text: 'Getting Started', + items: [ + { + text: 'Quick Start', + link: '/' + }, + { + text: 'Introduction', + link: '/getting-started/introduction' + }, + { + text: 'Installation', + link: '/getting-started/installation' + } + ] + } + ], + '/development/': [ + { + text: 'Development', + items: [ + { + text: 'General', + link: '/development/' + } + ] + } + ], + '/reference/': getReferenceSidebar() + +} + +function getReferenceSidebar() { + const files: Record[] = [] + + for (const file of fs.readdirSync('./reference')) { + if (!file.endsWith('.md')) continue + + let path_parts = file.split('--').filter(part => part !== 'lib').map(part => capitalize(part)) + + if (path_parts[0].startsWith('Event')) { + path_parts = ['Events', ...path_parts] + } + + insert_file(files, path_parts, file) + } + + function insert_file(tree: Record[], path_parts: string[], full_path: string) { + if (path_parts.length === 1) { + tree.push({ + text: getTitle(path_parts[0]), + link: `/reference/${full_path}` + }) + return + } + + const part = path_parts.shift()! + + let node = tree.find(node => node.text === part) + + if (!node) { + node = { text: part, items: [] } + tree.push(node) + } + + insert_file(node.items, path_parts, full_path) + } + + + return [ + { + text: 'Reference', + items: files + } + ] +} + +function getTitle(name: string): string { + name = name.split('--').at(-1)! + name = name.split('.').at(0)! + + return capitalize(camelCase(name)) +} + +function capitalize(string: string): string { + return string.charAt(0).toUpperCase() + string.slice(1); +} \ No newline at end of file diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 0000000..def4cfc --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,17 @@ +// https://vitepress.dev/guide/custom-theme +import { h } from 'vue' +import type { Theme } from 'vitepress' +import DefaultTheme from 'vitepress/theme' +import './style.css' + +export default { + extends: DefaultTheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + // https://vitepress.dev/guide/extending-default-theme#layout-slots + }) + }, + enhanceApp({ app, router, siteData }) { + // ... + } +} satisfies Theme diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css new file mode 100644 index 0000000..feaeb18 --- /dev/null +++ b/docs/.vitepress/theme/style.css @@ -0,0 +1,140 @@ +/** + * Customize default theme styling by overriding CSS variables: + * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css + */ + +/** + * Colors + * + * Each colors have exact same color scale system with 3 levels of solid + * colors with different brightness, and 1 soft color. + * + * - `XXX-1`: The most solid color used mainly for colored text. It must + * satisfy the contrast ratio against when used on top of `XXX-soft`. + * + * - `XXX-2`: The color used mainly for hover state of the button. + * + * - `XXX-3`: The color for solid background, such as bg color of the button. + * It must satisfy the contrast ratio with pure white (#ffffff) text on + * top of it. + * + * - `XXX-soft`: The color used for subtle background such as custom container + * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors + * on top of it. + * + * The soft color must be semi transparent alpha channel. This is crucial + * because it allows adding multiple "soft" colors on top of each other + * to create a accent, such as when having inline code block inside + * custom containers. + * + * - `default`: The color used purely for subtle indication without any + * special meanings attched to it such as bg color for menu hover state. + * + * - `brand`: Used for primary brand colors, such as link text, button with + * brand theme, etc. + * + * - `tip`: Used to indicate useful information. The default theme uses the + * brand color for this by default. + * + * - `warning`: Used to indicate warning to the users. Used in custom + * container, badges, etc. + * + * - `danger`: Used to show error, or dangerous message to the users. Used + * in custom container, badges, etc. + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-default-1: var(--vp-c-gray-1); + --vp-c-default-2: var(--vp-c-gray-2); + --vp-c-default-3: var(--vp-c-gray-3); + --vp-c-default-soft: var(--vp-c-gray-soft); + + --vp-c-brand-1: var(--vp-c-indigo-1); + --vp-c-brand-2: var(--vp-c-indigo-2); + --vp-c-brand-3: var(--vp-c-indigo-3); + --vp-c-brand-soft: var(--vp-c-indigo-soft); + + --vp-c-tip-1: var(--vp-c-brand-1); + --vp-c-tip-2: var(--vp-c-brand-2); + --vp-c-tip-3: var(--vp-c-brand-3); + --vp-c-tip-soft: var(--vp-c-brand-soft); + + --vp-c-warning-1: var(--vp-c-yellow-1); + --vp-c-warning-2: var(--vp-c-yellow-2); + --vp-c-warning-3: var(--vp-c-yellow-3); + --vp-c-warning-soft: var(--vp-c-yellow-soft); + + --vp-c-danger-1: var(--vp-c-red-1); + --vp-c-danger-2: var(--vp-c-red-2); + --vp-c-danger-3: var(--vp-c-red-3); + --vp-c-danger-soft: var(--vp-c-red-soft); + --vp-nav-logo-height: 36px; +} + +/** + * Component: Button + * -------------------------------------------------------------------------- */ + +:root { + --vp-button-brand-border: transparent; + --vp-button-brand-text: var(--vp-c-white); + --vp-button-brand-bg: var(--vp-c-brand-3); + --vp-button-brand-hover-border: transparent; + --vp-button-brand-hover-text: var(--vp-c-white); + --vp-button-brand-hover-bg: var(--vp-c-brand-2); + --vp-button-brand-active-border: transparent; + --vp-button-brand-active-text: var(--vp-c-white); + --vp-button-brand-active-bg: var(--vp-c-brand-1); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #bd34fe 30%, + #41d1ff + ); + + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #bd34fe 50%, + #47caff 50% + ); + --vp-home-hero-image-filter: blur(44px); +} + +@media (min-width: 640px) { + :root { + --vp-home-hero-image-filter: blur(56px); + } +} + +@media (min-width: 960px) { + :root { + --vp-home-hero-image-filter: blur(68px); + } +} + +/** + * Component: Custom Block + * -------------------------------------------------------------------------- */ + +:root { + --vp-custom-block-tip-border: transparent; + --vp-custom-block-tip-text: var(--vp-c-text-1); + --vp-custom-block-tip-bg: var(--vp-c-brand-soft); + --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); +} + +/** + * Component: Algolia + * -------------------------------------------------------------------------- */ + +.DocSearch { + --docsearch-primary-color: var(--vp-c-brand-1) !important; +} + diff --git a/docs/development/index.md b/docs/development/index.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/getting-started/introduction.md b/docs/getting-started/introduction.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/globals/Audioplayer.md b/docs/globals/Audioplayer.md new file mode 100644 index 0000000..1cbb33f --- /dev/null +++ b/docs/globals/Audioplayer.md @@ -0,0 +1,7 @@ + +# Libglobalsaudioplayer + + + + + \ No newline at end of file diff --git a/docs/globals/Eventsystem.md b/docs/globals/Eventsystem.md new file mode 100644 index 0000000..19ee6e1 --- /dev/null +++ b/docs/globals/Eventsystem.md @@ -0,0 +1,7 @@ + +# Libglobalseventsystem + + + + + \ No newline at end of file diff --git a/docs/globals/Homeapi.md b/docs/globals/Homeapi.md new file mode 100644 index 0000000..f7f35d2 --- /dev/null +++ b/docs/globals/Homeapi.md @@ -0,0 +1,7 @@ + +# Libglobalshomeapi + + + + + \ No newline at end of file diff --git a/docs/globals/Housebody.md b/docs/globals/Housebody.md new file mode 100644 index 0000000..7cee26f --- /dev/null +++ b/docs/globals/Housebody.md @@ -0,0 +1,7 @@ + +# Libglobalshousebody + + + + + \ No newline at end of file diff --git a/docs/globals/Mainstore.md b/docs/globals/Mainstore.md new file mode 100644 index 0000000..15642ab --- /dev/null +++ b/docs/globals/Mainstore.md @@ -0,0 +1,7 @@ + +# Libglobalsmainstore + + + + + \ No newline at end of file diff --git a/docs/globals/Request.md b/docs/globals/Request.md new file mode 100644 index 0000000..b57489a --- /dev/null +++ b/docs/globals/Request.md @@ -0,0 +1,7 @@ + +# Libglobalsrequest + + + + + \ No newline at end of file diff --git a/docs/home_apis/hass/Hass.md b/docs/home_apis/hass/Hass.md new file mode 100644 index 0000000..cdb8b5d --- /dev/null +++ b/docs/home_apis/hass/Hass.md @@ -0,0 +1,7 @@ + +# Libhomeapishasshass + + + + + \ No newline at end of file diff --git a/docs/home_apis/hass_ws/Hass.md b/docs/home_apis/hass_ws/Hass.md new file mode 100644 index 0000000..1dfc286 --- /dev/null +++ b/docs/home_apis/hass_ws/Hass.md @@ -0,0 +1,7 @@ + +# Libhomeapishasswshass + + + + + \ No newline at end of file diff --git a/docs/home_apis/hass_ws/handlers/Assist.md b/docs/home_apis/hass_ws/handlers/Assist.md new file mode 100644 index 0000000..79cc78e --- /dev/null +++ b/docs/home_apis/hass_ws/handlers/Assist.md @@ -0,0 +1,7 @@ + +# Libhomeapishasswshandlersassist + + + + + \ No newline at end of file diff --git a/docs/home_apis/hass_ws/handlers/Auth.md b/docs/home_apis/hass_ws/handlers/Auth.md new file mode 100644 index 0000000..1bd8f9d --- /dev/null +++ b/docs/home_apis/hass_ws/handlers/Auth.md @@ -0,0 +1,7 @@ + +# Libhomeapishasswshandlersauth + + + + + \ No newline at end of file diff --git a/docs/home_apis/hass_ws/handlers/Integration.md b/docs/home_apis/hass_ws/handlers/Integration.md new file mode 100644 index 0000000..7ea3615 --- /dev/null +++ b/docs/home_apis/hass_ws/handlers/Integration.md @@ -0,0 +1,7 @@ + +# Libhomeapishasswshandlersintegration + + + + + \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..b1100c4 --- /dev/null +++ b/docs/index.md @@ -0,0 +1 @@ +# Quick Start Guide \ No newline at end of file diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000..9ef3a9d --- /dev/null +++ b/docs/package.json @@ -0,0 +1,26 @@ +{ + "name": "docs", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "generate": "tsx reference/generator/index.ts", + "dev": "vitepress dev", + "build": "vitepress build", + "preview": "vitepress preview" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@types/lodash-es": "^4.17.12", + "@types/node": "^20.11.28", + "endent": "^2.1.0", + "fast-xml-parser": "^4.3.6", + "lodash-es": "^4.17.21", + "markdown-table": "^3.0.3", + "tsx": "^4.7.1", + "vitepress": "1.0.0-rc.45", + "vue": "^3.4.21" + } +} \ No newline at end of file diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml new file mode 100644 index 0000000..188c1c5 --- /dev/null +++ b/docs/pnpm-lock.yaml @@ -0,0 +1,1158 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +devDependencies: + '@types/lodash-es': + specifier: ^4.17.12 + version: 4.17.12 + '@types/node': + specifier: ^20.11.28 + version: 20.11.28 + endent: + specifier: ^2.1.0 + version: 2.1.0 + fast-xml-parser: + specifier: ^4.3.6 + version: 4.3.6 + lodash-es: + specifier: ^4.17.21 + version: 4.17.21 + markdown-table: + specifier: ^3.0.3 + version: 3.0.3 + tsx: + specifier: ^4.7.1 + version: 4.7.1 + vitepress: + specifier: 1.0.0-rc.45 + version: 1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.28)(search-insights@2.13.0) + vue: + specifier: ^3.4.21 + version: 3.4.21 + +packages: + + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + dev: true + + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} + peerDependencies: + search-insights: '>= 1 < 3' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + dev: true + + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1): + resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + '@algolia/client-search': 4.22.1 + algoliasearch: 4.22.1 + dev: true + + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1): + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + dependencies: + '@algolia/client-search': 4.22.1 + algoliasearch: 4.22.1 + dev: true + + /@algolia/cache-browser-local-storage@4.22.1: + resolution: {integrity: sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==} + dependencies: + '@algolia/cache-common': 4.22.1 + dev: true + + /@algolia/cache-common@4.22.1: + resolution: {integrity: sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==} + dev: true + + /@algolia/cache-in-memory@4.22.1: + resolution: {integrity: sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==} + dependencies: + '@algolia/cache-common': 4.22.1 + dev: true + + /@algolia/client-account@4.22.1: + resolution: {integrity: sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-analytics@4.22.1: + resolution: {integrity: sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-common@4.22.1: + resolution: {integrity: sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==} + dependencies: + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-personalization@4.22.1: + resolution: {integrity: sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/client-search@4.22.1: + resolution: {integrity: sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==} + dependencies: + '@algolia/client-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /@algolia/logger-common@4.22.1: + resolution: {integrity: sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==} + dev: true + + /@algolia/logger-console@4.22.1: + resolution: {integrity: sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==} + dependencies: + '@algolia/logger-common': 4.22.1 + dev: true + + /@algolia/requester-browser-xhr@4.22.1: + resolution: {integrity: sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==} + dependencies: + '@algolia/requester-common': 4.22.1 + dev: true + + /@algolia/requester-common@4.22.1: + resolution: {integrity: sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==} + dev: true + + /@algolia/requester-node-http@4.22.1: + resolution: {integrity: sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==} + dependencies: + '@algolia/requester-common': 4.22.1 + dev: true + + /@algolia/transporter@4.22.1: + resolution: {integrity: sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==} + dependencies: + '@algolia/cache-common': 4.22.1 + '@algolia/logger-common': 4.22.1 + '@algolia/requester-common': 4.22.1 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/parser@7.24.0: + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@docsearch/css@3.6.0: + resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} + dev: true + + /@docsearch/js@3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} + dependencies: + '@docsearch/react': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0) + preact: 10.19.6 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + dev: true + + /@docsearch/react@3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0): + resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) + '@docsearch/css': 3.6.0 + algoliasearch: 4.22.1 + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@rollup/rollup-android-arm-eabi@4.13.0: + resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.13.0: + resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.13.0: + resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.13.0: + resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.13.0: + resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.13.0: + resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.13.0: + resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.13.0: + resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.13.0: + resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.13.0: + resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.13.0: + resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.13.0: + resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.13.0: + resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@shikijs/core@1.2.0: + resolution: {integrity: sha512-OlFvx+nyr5C8zpcMBnSGir0YPD6K11uYhouqhNmm1qLiis4GA7SsGtu07r9gKS9omks8RtQqHrJL4S+lqWK01A==} + dev: true + + /@shikijs/transformers@1.2.0: + resolution: {integrity: sha512-xKn7DtA65DQV4FOfYsrvqM80xOy2xuXnxWWKsZmHv1VII/IOuDUDsWDu3KnpeLH6wqNJWp1GRoNUsHR1aw/VhQ==} + dependencies: + shiki: 1.2.0 + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + dev: true + + /@types/lodash-es@4.17.12: + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + dependencies: + '@types/lodash': 4.17.0 + dev: true + + /@types/lodash@4.17.0: + resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} + dev: true + + /@types/markdown-it@13.0.7: + resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + dev: true + + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + dev: true + + /@types/node@20.11.28: + resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + dev: true + + /@vitejs/plugin-vue@5.0.4(vite@5.1.6)(vue@3.4.21): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.1.6(@types/node@20.11.28) + vue: 3.4.21 + dev: true + + /@vue/compiler-core@3.4.21: + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + dependencies: + '@babel/parser': 7.24.0 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-dom@3.4.21: + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + dev: true + + /@vue/compiler-sfc@3.4.21: + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + dependencies: + '@babel/parser': 7.24.0 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.8 + postcss: 8.4.35 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-ssr@3.4.21: + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + dev: true + + /@vue/devtools-api@7.0.17(vue@3.4.21): + resolution: {integrity: sha512-UWU9tqzUBv+ttUxYLaQcL5IxSSdF+i6yheFiEtz7mh88YZUYkxpEmT43iKBs3YsC54ROwPD2iZIndnju6PWfOQ==} + dependencies: + '@vue/devtools-kit': 7.0.17(vue@3.4.21) + transitivePeerDependencies: + - vue + dev: true + + /@vue/devtools-kit@7.0.17(vue@3.4.21): + resolution: {integrity: sha512-znPLSOoTP3RnR9fvkq5M+nnpEA+WocybzOo5ID73vYkE0/n0VcfU8Ld0j4AHQjV/omTdAzh6QLpPlUYdIHXg+w==} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@vue/devtools-shared': 7.0.17 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + vue: 3.4.21 + dev: true + + /@vue/devtools-shared@7.0.17: + resolution: {integrity: sha512-QNg2TMQBFFffRbTKE9NjytXBywGR77p2UMi/gJ0ow58S+1jkAvL8ikU/JnSs9ePvsVtspHX32m2cdfe4DJ4ygw==} + dependencies: + rfdc: 1.3.1 + dev: true + + /@vue/reactivity@3.4.21: + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + dependencies: + '@vue/shared': 3.4.21 + dev: true + + /@vue/runtime-core@3.4.21: + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + dependencies: + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 + dev: true + + /@vue/runtime-dom@3.4.21: + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + dependencies: + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 + dev: true + + /@vue/server-renderer@3.4.21(vue@3.4.21): + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + peerDependencies: + vue: 3.4.21 + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21 + dev: true + + /@vue/shared@3.4.21: + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + dev: true + + /@vueuse/core@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21): + resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.21) + focus-trap: 7.5.4 + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/metadata@10.9.0: + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} + dev: true + + /@vueuse/shared@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + dependencies: + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /algoliasearch@4.22.1: + resolution: {integrity: sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==} + dependencies: + '@algolia/cache-browser-local-storage': 4.22.1 + '@algolia/cache-common': 4.22.1 + '@algolia/cache-in-memory': 4.22.1 + '@algolia/client-account': 4.22.1 + '@algolia/client-analytics': 4.22.1 + '@algolia/client-common': 4.22.1 + '@algolia/client-personalization': 4.22.1 + '@algolia/client-search': 4.22.1 + '@algolia/logger-common': 4.22.1 + '@algolia/logger-console': 4.22.1 + '@algolia/requester-browser-xhr': 4.22.1 + '@algolia/requester-common': 4.22.1 + '@algolia/requester-node-http': 4.22.1 + '@algolia/transporter': 4.22.1 + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + dev: true + + /dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: true + + /endent@2.1.0: + resolution: {integrity: sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==} + dependencies: + dedent: 0.7.0 + fast-json-parse: 1.0.3 + objectorarray: 1.0.5 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + + /fast-json-parse@1.0.3: + resolution: {integrity: sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==} + dev: true + + /fast-xml-parser@4.3.6: + resolution: {integrity: sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: true + + /focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + dependencies: + tabbable: 6.2.0 + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + dev: true + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: true + + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + dev: true + + /markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + dev: true + + /minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} + dev: true + + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /objectorarray@1.0.5: + resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==} + dev: true + + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /preact@10.19.6: + resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true + + /rollup@4.13.0: + resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.13.0 + '@rollup/rollup-android-arm64': 4.13.0 + '@rollup/rollup-darwin-arm64': 4.13.0 + '@rollup/rollup-darwin-x64': 4.13.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 + '@rollup/rollup-linux-arm64-gnu': 4.13.0 + '@rollup/rollup-linux-arm64-musl': 4.13.0 + '@rollup/rollup-linux-riscv64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-musl': 4.13.0 + '@rollup/rollup-win32-arm64-msvc': 4.13.0 + '@rollup/rollup-win32-ia32-msvc': 4.13.0 + '@rollup/rollup-win32-x64-msvc': 4.13.0 + fsevents: 2.3.3 + dev: true + + /search-insights@2.13.0: + resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} + dev: true + + /shiki@1.2.0: + resolution: {integrity: sha512-xLhiTMOIUXCv5DqJ4I70GgQCtdlzsTqFLZWcMHHG3TAieBUbvEGthdrlPDlX4mL/Wszx9C6rEcxU6kMlg4YlxA==} + dependencies: + '@shikijs/core': 1.2.0 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: true + + /strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: true + + /tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.3 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /vite@5.1.6(@types/node@20.11.28): + resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.28 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.13.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitepress@1.0.0-rc.45(@algolia/client-search@4.22.1)(@types/node@20.11.28)(search-insights@2.13.0): + resolution: {integrity: sha512-/OiYsu5UKpQKA2c0BAZkfyywjfauDjvXyv6Mo4Ra57m5n4Bxg1HgUGoth1CLH2vwUbR/BHvDA9zOM0RDvgeSVQ==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4.3.2 + postcss: ^8.4.35 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + dependencies: + '@docsearch/css': 3.6.0 + '@docsearch/js': 3.6.0(@algolia/client-search@4.22.1)(search-insights@2.13.0) + '@shikijs/core': 1.2.0 + '@shikijs/transformers': 1.2.0 + '@types/markdown-it': 13.0.7 + '@vitejs/plugin-vue': 5.0.4(vite@5.1.6)(vue@3.4.21) + '@vue/devtools-api': 7.0.17(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) + focus-trap: 7.5.4 + mark.js: 8.11.1 + minisearch: 6.3.0 + shiki: 1.2.0 + vite: 5.1.6(@types/node@20.11.28) + vue: 3.4.21 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - nprogress + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie + dev: true + + /vue-demi@0.14.7(vue@3.4.21): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.21 + dev: true + + /vue@3.4.21: + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 + dev: true diff --git a/docs/public/logo-dark.png b/docs/public/logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..863f447abd0aa659a712f1017f82f9413c70d71a GIT binary patch literal 14712 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 literal 0 HcmV?d00001 diff --git a/docs/public/logo-light.png b/docs/public/logo-light.png new file mode 100644 index 0000000000000000000000000000000000000000..0f5b44f019dd5eb038f9389d991d197caea0b0f0 GIT binary patch literal 12372 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 g|Nl1&GZ$dcU$fY}_L2L<&U6rI0RR91 literal 0 HcmV?d00001 diff --git a/docs/reference/CallbackMap.md b/docs/reference/CallbackMap.md new file mode 100644 index 0000000..785fcd9 --- /dev/null +++ b/docs/reference/CallbackMap.md @@ -0,0 +1,54 @@ +# CallbackMap + +## Description + +A simple class to manage callbacks for different keys + +## Properties + +| Name | Type | Default | +| ------------------------------------- | ------------------------------------------------------------------------------- | ------- | +| [callbacks](#callbacks) | [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) | | +| [single_callbacks](#single-callbacks) | [Array](https://docs.godotengine.org/de/4.x/classes/class_array.html) | | + +## Methods + +| Returns | Name | +| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| void | [_validate_key](#-validate-key) ( key: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| void | [add](#add) ( key: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) | +| void | [add_once](#add-once) ( key: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) | +| void | [call_key](#call-key) ( key: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), args: [Array](https://docs.godotengine.org/de/4.x/classes/class_array.html) ) | +| void | [remove](#remove) ( key: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) | + +## Property Descriptions + +### callbacks: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) {#callbacks} + +No description provided yet. + +### single_callbacks: [Array](https://docs.godotengine.org/de/4.x/classes/class_array.html) {#single-callbacks} + +No description provided yet. + +## Method Descriptions + +### _validate_key ( key: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-validate-key} + +No description provided yet. + +### add ( key: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) -> void {#add} + +No description provided yet. + +### add_once ( key: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) -> void {#add-once} + +No description provided yet. + +### call_key ( key: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), args: [Array](https://docs.godotengine.org/de/4.x/classes/class_array.html) ) -> void {#call-key} + +No description provided yet. + +### remove ( key: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) -> void {#remove} + +No description provided yet. diff --git a/docs/reference/EntityFactory.md b/docs/reference/EntityFactory.md new file mode 100644 index 0000000..1677ce1 --- /dev/null +++ b/docs/reference/EntityFactory.md @@ -0,0 +1,19 @@ +# EntityFactory + + + + + +## 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) ) | + + + +## Method Descriptions + +### 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} + +No description provided yet. diff --git a/docs/reference/Event.md b/docs/reference/Event.md new file mode 100644 index 0000000..0ffd94c --- /dev/null +++ b/docs/reference/Event.md @@ -0,0 +1,19 @@ +# Event + + + + + +## Methods + +| Returns | Name | +| ------- | ------------------------------------------------------------------------------------------------ | +| void | [merge](#merge) ( event: [Event](https://docs.godotengine.org/de/4.x/classes/class_event.html) ) | + + + +## Method Descriptions + +### merge ( event: [Event](https://docs.godotengine.org/de/4.x/classes/class_event.html) ) -> void {#merge} + +No description provided yet. diff --git a/docs/reference/EventAction.md b/docs/reference/EventAction.md new file mode 100644 index 0000000..cf7f40d --- /dev/null +++ b/docs/reference/EventAction.md @@ -0,0 +1,27 @@ +# EventAction + + + +## Properties + +| Name | Type | Default | +| ------------------------------------- | ------------------------------------------------------------------------- | ------- | +| [name](#name) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | | +| [right_controller](#right-controller) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | | +| [value](#value) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | + + + +## Property Descriptions + +### name: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#name} + +No description provided yet. + +### right_controller: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#right-controller} + +No description provided yet. + +### value: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#value} + +No description provided yet. diff --git a/docs/reference/EventBubble.md b/docs/reference/EventBubble.md new file mode 100644 index 0000000..40e1658 --- /dev/null +++ b/docs/reference/EventBubble.md @@ -0,0 +1,22 @@ +# EventBubble + + + +## Properties + +| Name | Type | Default | +| --------------------- | ------------------------------------------------------------------- | ------- | +| [bubbling](#bubbling) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `true` | +| [target](#target) | [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | | + + + +## Property Descriptions + +### bubbling: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#bubbling} + +No description provided yet. + +### target: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) {#target} + +No description provided yet. diff --git a/docs/reference/EventFocus.md b/docs/reference/EventFocus.md new file mode 100644 index 0000000..57af48c --- /dev/null +++ b/docs/reference/EventFocus.md @@ -0,0 +1,22 @@ +# EventFocus + + + +## Properties + +| Name | Type | Default | +| ----------------------------------- | ------------------------------------------------------------------- | ------- | +| [previous_target](#previous-target) | [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | | +| [target](#target) | [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | | + + + +## Property Descriptions + +### previous_target: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) {#previous-target} + +No description provided yet. + +### target: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) {#target} + +No description provided yet. diff --git a/docs/reference/EventKey.md b/docs/reference/EventKey.md new file mode 100644 index 0000000..97e125e --- /dev/null +++ b/docs/reference/EventKey.md @@ -0,0 +1,32 @@ +# EventKey + + + +## Properties + +| Name | Type | Default | +| ------------- | ------------------------------------------------------------------- | ------- | +| [echo](#echo) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | | +| [key](#key) | [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) | | + +## Methods + +| Returns | Name | +| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | [key_to_string](#key-to-string) ( key: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html), caps: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html), apply_to: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) | + +## Property Descriptions + +### echo: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#echo} + +No description provided yet. + +### key: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) {#key} + +No description provided yet. + +## Method Descriptions + +### key_to_string ( key: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html), caps: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html), apply_to: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#key-to-string} + +No description provided yet. diff --git a/docs/reference/EventNotify.md b/docs/reference/EventNotify.md new file mode 100644 index 0000000..23191a5 --- /dev/null +++ b/docs/reference/EventNotify.md @@ -0,0 +1,22 @@ +# EventNotify + + + +## Properties + +| Name | Type | Default | +| ------------------- | ----------------------------------------------------------------------- | ------- | +| [message](#message) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | | +| [type](#type) | [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) | | + + + +## Property Descriptions + +### message: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#message} + +No description provided yet. + +### type: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) {#type} + +No description provided yet. diff --git a/docs/reference/EventPointer.md b/docs/reference/EventPointer.md new file mode 100644 index 0000000..8329a82 --- /dev/null +++ b/docs/reference/EventPointer.md @@ -0,0 +1,22 @@ +# EventPointer + + + +## Properties + +| Name | Type | Default | +| ----------------------- | ----------------------------------------------------------------------------- | ------- | +| [initiator](#initiator) | [Initiator](/reference/lib--utils--pointer--initiator.html) | | +| [ray](#ray) | [RayCast3D](https://docs.godotengine.org/de/4.x/classes/class_raycast3d.html) | | + + + +## Property Descriptions + +### initiator: [Initiator](/reference/lib--utils--pointer--initiator.html) {#initiator} + +No description provided yet. + +### ray: [RayCast3D](https://docs.godotengine.org/de/4.x/classes/class_raycast3d.html) {#ray} + +No description provided yet. diff --git a/docs/reference/EventTouch.md b/docs/reference/EventTouch.md new file mode 100644 index 0000000..d808965 --- /dev/null +++ b/docs/reference/EventTouch.md @@ -0,0 +1,27 @@ +# EventTouch + + + +## Properties + +| Name | Type | Default | +| ------------------- | ----------------------------------------------------- | ------- | +| [fingers](#fingers) | [Finger](/reference/lib--utils--touch--finger.html)[] | | + +## Methods + +| Returns | Name | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [has_finger](#has-finger) ( finger: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) ) | + +## Property Descriptions + +### fingers: [Finger](/reference/lib--utils--touch--finger.html)[] {#fingers} + +No description provided yet. + +## Method Descriptions + +### has_finger ( finger: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#has-finger} + +No description provided yet. diff --git a/docs/reference/EventWithModifiers.md b/docs/reference/EventWithModifiers.md new file mode 100644 index 0000000..d4e3982 --- /dev/null +++ b/docs/reference/EventWithModifiers.md @@ -0,0 +1,32 @@ +# EventWithModifiers + + + +## Properties + +| Name | Type | Default | +| ----------------------------------- | ------------------------------------------------------------------- | ------- | +| [alt_pressed](#alt-pressed) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | +| [control_pressed](#control-pressed) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | +| [meta_pressed](#meta-pressed) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | +| [shift_pressed](#shift-pressed) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | + + + +## Property Descriptions + +### alt_pressed: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#alt-pressed} + +No description provided yet. + +### control_pressed: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#control-pressed} + +No description provided yet. + +### meta_pressed: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#meta-pressed} + +No description provided yet. + +### shift_pressed: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#shift-pressed} + +No description provided yet. diff --git a/docs/reference/Proxy.md b/docs/reference/Proxy.md new file mode 100644 index 0000000..5d15225 --- /dev/null +++ b/docs/reference/Proxy.md @@ -0,0 +1,37 @@ +# Proxy + + + +## Properties + +| Name | Type | Default | +| --------------------- | --------------------------------------------------------------------------- | ------- | +| [gettable](#gettable) | [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) | | +| [settable](#settable) | [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) | | +| [value](#value) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | + +## Methods + +| Returns | Name | +| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| void | [_init](#-init) ( gettable: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html), settable: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) | + +## Property Descriptions + +### gettable: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) {#gettable} + +No description provided yet. + +### settable: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) {#settable} + +No description provided yet. + +### value: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#value} + +No description provided yet. + +## Method Descriptions + +### _init ( gettable: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html), settable: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) -> void {#-init} + +No description provided yet. diff --git a/docs/reference/ProxyGroup.md b/docs/reference/ProxyGroup.md new file mode 100644 index 0000000..3f42b90 --- /dev/null +++ b/docs/reference/ProxyGroup.md @@ -0,0 +1,27 @@ +# ProxyGroup + + + +## Properties + +| Name | Type | Default | +| ------------------- | ------------------------------------------------------------------------- | ------- | +| [proxies](#proxies) | [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) | [proxy](#proxy) ( _get: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html), _set: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) | + +## Property Descriptions + +### proxies: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#proxies} + +No description provided yet. + +## Method Descriptions + +### proxy ( _get: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html), _set: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#proxy} + +No description provided yet. diff --git a/docs/reference/State.md b/docs/reference/State.md new file mode 100644 index 0000000..4c8d2a4 --- /dev/null +++ b/docs/reference/State.md @@ -0,0 +1,37 @@ +# State + + + +## Properties + +| Name | Type | Default | +| ------------------------------- | ----------------------------------------------------------------------------------- | ------- | +| [state_machine](#state-machine) | [StateMachine](https://docs.godotengine.org/de/4.x/classes/class_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](https://docs.godotengine.org/de/4.x/classes/class_statemachine.html) {#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. diff --git a/docs/reference/StateMachine.md b/docs/reference/StateMachine.md new file mode 100644 index 0000000..8a7ab3f --- /dev/null +++ b/docs/reference/StateMachine.md @@ -0,0 +1,42 @@ +# StateMachine + + + +## Properties + +| Name | Type | Default | +| ------------------------------- | ------------------------------------------------------------------------------- | ------- | +| [current_state](#current-state) | [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | | +| [states](#states) | [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) | | + +## Methods + +| Returns | Name | +| ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| void | [_ready](#-ready) ( ) | +| void | [change_to](#change-to) ( new_state: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) | +| [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | [get_state](#get-state) ( state_name: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) | + +## Property Descriptions + +### current_state: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) {#current-state} + +No description provided yet. + +### states: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) {#states} + +No description provided yet. + +## Method Descriptions + +### _ready ( ) -> void {#-ready} + +No description provided yet. + +### change_to ( new_state: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> void {#change-to} + +No description provided yet. + +### get_state ( state_name: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) {#get-state} + +No description provided yet. diff --git a/docs/reference/generator/index.ts b/docs/reference/generator/index.ts new file mode 100644 index 0000000..84dc91e --- /dev/null +++ b/docs/reference/generator/index.ts @@ -0,0 +1,215 @@ +import { execSync } from 'child_process'; +import { join } from 'path'; +import { readdir, unlink, readFile, writeFile, mkdir } from 'fs/promises'; +import { XMLParser } from 'fast-xml-parser' +import { camelCase } from 'lodash-es' +import { markdownTable } from 'markdown-table' +import endent from "endent"; + +const REFERENCE_PATH = './reference/raw' + +// export_from_godot() +translate() + +async function export_from_godot() { + + try { + execSync('godot --doctool ../docs/reference/raw --gdscript-docs res://lib ', { + cwd: join(process.cwd(), '../app/'), + }); + } catch (error) { + console.log('⚠️ Ignoring error exporting from Godot: ', error) + } + + console.log('✅ Exported from Godot'); +} + +async function translate() { + for (const file of await readdir(REFERENCE_PATH)) { + const contents = await parse_reference(join(REFERENCE_PATH, file)) + const markdown = translate_reference(contents) + await save_markdown(join('./reference', file.replace('.gd', '').replace('.xml', '.md')), markdown) + } + + console.log('✅ Translated references to markdown'); +} + +async function parse_reference(path: string): Promise { + return readFile(path, 'utf-8') +} + +function translate_reference(contents: string): string { + const parser = new XMLParser({ + ignoreAttributes: false, + attributeNamePrefix: '_' + }) + const json = parser.parse(contents) + + let description = '' + + if (json.class.brief_description) { + description = endent` + ## Description + + ${json.class.brief_description} + ` + } + + if (json.class.description) { + description = endent` + ## Description + + ${json.class.description} + ` + } + + let members = '' + let member_descriptions = '' + let members_list = to_array(json.class.members?.member) + + if (members_list.length > 0) { + members = endent` + ## Properties + + ${markdownTable([ + ['Name', 'Type', 'Default'], + ...members_list.map(member => { + const name = member._name + + return [ + `[${name}](#${name_to_anchor(name)})`, + link_godot_type(member._type), + handle_default(member._default) + ] + }) + ])} + ` + + member_descriptions = '## Property Descriptions\n\n' + + members_list.map(member => { + const name = member._name + + return endent` + ### ${name}: ${link_godot_type(member._type)} ${'{#' + name_to_anchor(name) + '}'} + + ${member.description || 'No description provided yet.'} + ` + }).join('\n\n') + } + + let methods = '' + let method_descriptions = '' + let methods_list = to_array(json.class.methods?.method) + + if (methods_list.length > 0) { + + + methods = endent` + ## Methods + + ${markdownTable([ + ['Returns', 'Name'], + ...methods_list.map(method => { + const name = method._name + + let params = to_array(method?.param).map(param => { + return `${param._name}: ${link_godot_type(param._type)}` + }).join(', ') + + return [ + link_godot_type(method.return._type), + `[${name}](#${name_to_anchor(name)}) ( ${params} )` + ] + }) + ])} + ` + + method_descriptions = '## Method Descriptions\n\n' + + methods_list.map(method => { + const name = method._name + + let params = to_array(method?.param).map(param => { + return `${param._name}: ${link_godot_type(param._type)}` + }).join(', ') + + return endent` + ### ${name} ( ${params} ) -> ${link_godot_type(method.return._type)} ${'{#' + name_to_anchor(name) + '}'} + + ${method.description || 'No description provided yet.'} + ` + }).join('\n\n') + } + + let markdown = endent` + # ${getTitle(json.class._name)} + + ${description} + + ${members} + + ${methods} + + ${member_descriptions} + + ${method_descriptions} + + ` + '\n' + + return markdown +} + +async function save_markdown(path: string, markdown: string) { + return writeFile(path, markdown) +} + +function getTitle(name: string): string { + name = name.split(/(?:--|\\|\/)/g).at(-1) + name = name.split('.').at(0) + + return capitalize(camelCase(name)) +} + +function capitalize(string: string): string { + return string.charAt(0).toUpperCase() + string.slice(1); +} + +function name_to_anchor(name: string): string { + return name.replace(/_/g, '-') +} + +function link_godot_type(type: string): string { + if (!type || type === 'void') { + return 'void' + } + + if (/"lib\/.*?\.gd"/g.test(type)) { + return type.replace(/"lib\/.*?\.gd"/, (match) => { + match = match.replace(/"/g, '') + + const link = match.replace('.gd', '').replace(/\//g, '--') + return `[${getTitle(match)}](/reference/${link}.html)` + }) + } + + return `[${type}](https://docs.godotengine.org/de/4.x/classes/class_${type.toLowerCase()}.html)` +} + +function to_array(object: any): any[] { + if (!object) { + return [] + } + + if (Array.isArray(object)) { + return object + } else { + return [object] + } +} + +function handle_default(value: string): string { + if (!value || value === '') { + return '' + } + + return `\`${value}\`` +} \ No newline at end of file diff --git a/docs/reference/lib--globals--audio_player.md b/docs/reference/lib--globals--audio_player.md new file mode 100644 index 0000000..997f6f6 --- /dev/null +++ b/docs/reference/lib--globals--audio_player.md @@ -0,0 +1,47 @@ +# AudioPlayer + + + +## Properties + +| Name | Type | Default | +| --------------------------- | ------------------------------------------------------------------------- | ---------- | +| [click_sound](#click-sound) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `` | +| [close_menu](#close-menu) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `` | +| [open_menu](#open-menu) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `` | +| [spawn_sound](#spawn-sound) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `` | + +## Methods + +| Returns | Name | +| ------- | ---------------------------------------------------------------------------------------------------------------- | +| void | [_ready](#-ready) ( ) | +| void | [play_effect](#play-effect) ( sound: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | + +## Property Descriptions + +### click_sound: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#click-sound} + +No description provided yet. + +### close_menu: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#close-menu} + +No description provided yet. + +### open_menu: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#open-menu} + +No description provided yet. + +### spawn_sound: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#spawn-sound} + +No description provided yet. + +## Method Descriptions + +### _ready ( ) -> void {#-ready} + +No description provided yet. + +### play_effect ( sound: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#play-effect} + +No description provided yet. diff --git a/docs/reference/lib--globals--event_system.md b/docs/reference/lib--globals--event_system.md new file mode 100644 index 0000000..f3947c7 --- /dev/null +++ b/docs/reference/lib--globals--event_system.md @@ -0,0 +1,62 @@ +# EventSystem + + + +## Properties + +| Name | Type | Default | +| ----------------------------- | --------------------------------------------------------------------- | ------- | +| [_active_node](#-active-node) | [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | `null` | +| [_slow_tick](#-slow-tick) | [float](https://docs.godotengine.org/de/4.x/classes/class_float.html) | `0.0` | + +## Methods + +| Returns | Name | +| ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [_bubble_call](#-bubble-call) ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), target: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), event: [EventBubble](https://docs.godotengine.org/de/4.x/classes/class_eventbubble.html), focused: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [_handle_focus](#-handle-focus) ( target: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), event: [EventBubble](https://docs.godotengine.org/de/4.x/classes/class_eventbubble.html) ) | +| void | [_physics_process](#-physics-process) ( delta: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| void | [_root_call](#-root-call) ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), event: [Event](https://docs.godotengine.org/de/4.x/classes/class_event.html) ) | +| void | [emit](#emit) ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), event: [Event](https://docs.godotengine.org/de/4.x/classes/class_event.html) ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [is_focused](#is-focused) ( node: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) ) | +| void | [notify](#notify) ( message: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), type: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) ) | + +## Property Descriptions + +### _active_node: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) {#-active-node} + +No description provided yet. + +### _slow_tick: [float](https://docs.godotengine.org/de/4.x/classes/class_float.html) {#-slow-tick} + +No description provided yet. + +## Method Descriptions + +### _bubble_call ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), target: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), event: [EventBubble](https://docs.godotengine.org/de/4.x/classes/class_eventbubble.html), focused: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#-bubble-call} + +No description provided yet. + +### _handle_focus ( target: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), event: [EventBubble](https://docs.godotengine.org/de/4.x/classes/class_eventbubble.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#-handle-focus} + +No description provided yet. + +### _physics_process ( delta: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-physics-process} + +No description provided yet. + +### _root_call ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), event: [Event](https://docs.godotengine.org/de/4.x/classes/class_event.html) ) -> void {#-root-call} + +No description provided yet. + +### emit ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), event: [Event](https://docs.godotengine.org/de/4.x/classes/class_event.html) ) -> void {#emit} + +No description provided yet. + +### is_focused ( node: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#is-focused} + +No description provided yet. + +### notify ( message: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), type: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) ) -> void {#notify} + +No description provided yet. diff --git a/docs/reference/lib--globals--home_api.md b/docs/reference/lib--globals--home_api.md new file mode 100644 index 0000000..4c433bb --- /dev/null +++ b/docs/reference/lib--globals--home_api.md @@ -0,0 +1,77 @@ +# HomeApi + + + +## Properties + +| Name | Type | Default | +| ----------- | ------------------------------------------------------------------- | ------- | +| [api](#api) | [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) | | + +## Methods + +| Returns | Name | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| void | [_notification](#-notification) ( what: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| void | [_on_connect](#-on-connect) ( ) | +| void | [_on_disconnect](#-on-disconnect) ( ) | +| 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_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) | [has_connected](#has-connected) ( ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [set_state](#set-state) ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), state: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), attributes: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) | +| void | [start_adapter](#start-adapter) ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [watch_state](#watch-state) ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) | + +## Property Descriptions + +### api: [Node](https://docs.godotengine.org/de/4.x/classes/class_node.html) {#api} + +No description provided yet. + +## Method Descriptions + +### _notification ( what: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-notification} + +No description provided yet. + +### _on_connect ( ) -> void {#-on-connect} + +No description provided yet. + +### _on_disconnect ( ) -> void {#-on-disconnect} + +No description provided yet. + +### _ready ( ) -> void {#-ready} + +No description provided yet. + +### 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-device} + +Get a single device by id + +### get_devices ( ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#get-devices} + +Get a list of all devices + +### 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 + +### has_connected ( ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#has-connected} + +No description provided yet. + +### set_state ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), state: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), attributes: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#set-state} + +Updates the state of the entity and returns the resulting state + +### start_adapter ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> void {#start-adapter} + +No description provided yet. + +### watch_state ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#watch-state} + +Watches the state and each time it changes, calls the callback with the changed state, returns a function to stop watching the state diff --git a/docs/reference/lib--globals--house_body.md b/docs/reference/lib--globals--house_body.md new file mode 100644 index 0000000..3939f0f --- /dev/null +++ b/docs/reference/lib--globals--house_body.md @@ -0,0 +1,17 @@ +# HouseBody + + + +## Properties + +| Name | Type | Default | +| ------------- | ------------------------------------------------------------------------- | ------- | +| [body](#body) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | + + + +## Property Descriptions + +### body: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#body} + +No description provided yet. diff --git a/docs/reference/lib--globals--main_store.md b/docs/reference/lib--globals--main_store.md new file mode 100644 index 0000000..0360e30 --- /dev/null +++ b/docs/reference/lib--globals--main_store.md @@ -0,0 +1,27 @@ +# MainStore + + + +## Properties + +| Name | Type | Default | +| --------------------- | ------------------------------------------------------------------------- | ------- | +| [devices](#devices) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | +| [house](#house) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | +| [settings](#settings) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | + + + +## Property Descriptions + +### devices: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#devices} + +No description provided yet. + +### house: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#house} + +No description provided yet. + +### settings: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#settings} + +No description provided yet. diff --git a/docs/reference/lib--globals--request.md b/docs/reference/lib--globals--request.md new file mode 100644 index 0000000..0d92e9f --- /dev/null +++ b/docs/reference/lib--globals--request.md @@ -0,0 +1 @@ +# Request diff --git a/docs/reference/lib--home_apis--hass--hass.md b/docs/reference/lib--home_apis--hass--hass.md new file mode 100644 index 0000000..547d814 --- /dev/null +++ b/docs/reference/lib--home_apis--hass--hass.md @@ -0,0 +1,57 @@ +# Hass + + + +## Properties + +| Name | Type | Default | +| ------------------------------------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [devices_template](#devices-template) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | +| [headers](#headers) | [PackedStringArray](https://docs.godotengine.org/de/4.x/classes/class_packedstringarray.html) | | +| [token](#token) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | `"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIzZjQ0ZGM2N2Y3YzY0MDc1OGZlMWI2ZjJlNmIxZjRkNSIsImlhdCI6MTY5ODAxMDcyOCwiZXhwIjoyMDEzMzcwNzI4fQ.K6ydLUC-4Q7BNIRCU1nWlI2s6sg9UCiOu-Lpedw2zJc"` | +| [url](#url) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | `"http://192.168.33.33:8123"` | + +## Methods + +| Returns | Name | +| ------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| void | [_init](#-init) ( url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), token: [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_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) | [set_state](#set-state) ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), state: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), attributes: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) | + +## Property Descriptions + +### devices_template: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#devices-template} + +No description provided yet. + +### headers: [PackedStringArray](https://docs.godotengine.org/de/4.x/classes/class_packedstringarray.html) {#headers} + +No description provided yet. + +### token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#token} + +No description provided yet. + +### url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#url} + +No description provided yet. + +## Method Descriptions + +### _init ( url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> void {#-init} + +No description provided yet. + +### get_devices ( ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#get-devices} + +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. + +### set_state ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), state: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), attributes: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#set-state} + +No description provided yet. diff --git a/docs/reference/lib--home_apis--hass_ws--handlers--assist.md b/docs/reference/lib--home_apis--hass_ws--handlers--assist.md new file mode 100644 index 0000000..fd5bc7d --- /dev/null +++ b/docs/reference/lib--home_apis--hass_ws--handlers--assist.md @@ -0,0 +1,77 @@ +# Assist + + + +## Properties + +| Name | Type | Default | +| ----------------------------- | ------------------------------------------------------------------------- | ------- | +| [api](#api) | [Hass](/reference/lib--home_apis--hass_ws--hass.html) | | +| [handler_id](#handler-id) | [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) | `0` | +| [pipe_running](#pipe-running) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | +| [stt_message](#stt-message) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `null` | +| [tts_message](#tts-message) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `null` | +| [tts_sound](#tts-sound) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `null` | +| [wake_word](#wake-word) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `null` | + +## Methods + +| Returns | Name | +| ------- | ------------------------------------------------------------------------------------------------------------------------------ | +| void | [_init](#-init) ( hass: [Hass](/reference/lib--home_apis--hass_ws--hass.html) ) | +| void | [handle_message](#handle-message) ( message: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) | +| void | [on_connect](#on-connect) ( ) | +| void | [send_data](#send-data) ( data: [PackedByteArray](https://docs.godotengine.org/de/4.x/classes/class_packedbytearray.html) ) | +| void | [start_wakeword](#start-wakeword) ( ) | + +## Property Descriptions + +### api: [Hass](/reference/lib--home_apis--hass_ws--hass.html) {#api} + +No description provided yet. + +### handler_id: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) {#handler-id} + +No description provided yet. + +### pipe_running: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#pipe-running} + +No description provided yet. + +### stt_message: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#stt-message} + +No description provided yet. + +### tts_message: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#tts-message} + +No description provided yet. + +### tts_sound: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#tts-sound} + +No description provided yet. + +### wake_word: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#wake-word} + +No description provided yet. + +## Method Descriptions + +### _init ( hass: [Hass](/reference/lib--home_apis--hass_ws--hass.html) ) -> void {#-init} + +No description provided yet. + +### handle_message ( message: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) -> void {#handle-message} + +No description provided yet. + +### on_connect ( ) -> void {#on-connect} + +No description provided yet. + +### send_data ( data: [PackedByteArray](https://docs.godotengine.org/de/4.x/classes/class_packedbytearray.html) ) -> void {#send-data} + +No description provided yet. + +### start_wakeword ( ) -> void {#start-wakeword} + +No description provided yet. diff --git a/docs/reference/lib--home_apis--hass_ws--handlers--auth.md b/docs/reference/lib--home_apis--hass_ws--handlers--auth.md new file mode 100644 index 0000000..961c8fb --- /dev/null +++ b/docs/reference/lib--home_apis--hass_ws--handlers--auth.md @@ -0,0 +1,52 @@ +# Auth + + + +## Properties + +| Name | Type | Default | +| ------------------------------- | ----------------------------------------------------------------------- | ------- | +| [api](#api) | [Hass](/reference/lib--home_apis--hass_ws--hass.html) | | +| [authenticated](#authenticated) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | +| [token](#token) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | | +| [url](#url) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | | + +## Methods + +| Returns | Name | +| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| void | [_init](#-init) ( hass: [Hass](/reference/lib--home_apis--hass_ws--hass.html), url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) | +| void | [handle_message](#handle-message) ( message: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| void | [on_disconnect](#on-disconnect) ( ) | + +## Property Descriptions + +### api: [Hass](/reference/lib--home_apis--hass_ws--hass.html) {#api} + +No description provided yet. + +### authenticated: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#authenticated} + +No description provided yet. + +### token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#token} + +No description provided yet. + +### url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#url} + +No description provided yet. + +## Method Descriptions + +### _init ( hass: [Hass](/reference/lib--home_apis--hass_ws--hass.html), url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> void {#-init} + +No description provided yet. + +### handle_message ( message: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#handle-message} + +No description provided yet. + +### on_disconnect ( ) -> void {#on-disconnect} + +No description provided yet. diff --git a/docs/reference/lib--home_apis--hass_ws--handlers--integration.md b/docs/reference/lib--home_apis--hass_ws--handlers--integration.md new file mode 100644 index 0000000..5aee6b6 --- /dev/null +++ b/docs/reference/lib--home_apis--hass_ws--handlers--integration.md @@ -0,0 +1,37 @@ +# Integration + + + +## Properties + +| Name | Type | Default | +| ----------------------------------------- | ------------------------------------------------------------------- | ------- | +| [api](#api) | [Hass](/reference/lib--home_apis--hass_ws--hass.html) | | +| [integration_exists](#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) ) | +| void | [on_connect](#on-connect) ( ) | + +## Property Descriptions + +### api: [Hass](/reference/lib--home_apis--hass_ws--hass.html) {#api} + +No description provided yet. + +### integration_exists: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#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. + +### on_connect ( ) -> void {#on-connect} + +No description provided yet. diff --git a/docs/reference/lib--home_apis--hass_ws--hass.md b/docs/reference/lib--home_apis--hass_ws--hass.md new file mode 100644 index 0000000..122905e --- /dev/null +++ b/docs/reference/lib--home_apis--hass_ws--hass.md @@ -0,0 +1,192 @@ +# Hass + + + +## Properties + +| Name | Type | Default | +| ------------------------------------------- | ------------------------------------------------------------------------------------- | ------- | +| [LOG_MESSAGES](#LOG-MESSAGES) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | +| [assist_handler](#assist-handler) | [Assist](/reference/lib--home_apis--hass_ws--handlers--assist.html) | | +| [auth_handler](#auth-handler) | [Auth](/reference/lib--home_apis--hass_ws--handlers--auth.html) | | +| [connected](#connected) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | +| [devices_template](#devices-template) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | | +| [entities](#entities) | [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) | | +| [entitiy_callbacks](#entitiy-callbacks) | [CallbackMap](https://docs.godotengine.org/de/4.x/classes/class_callbackmap.html) | | +| [id](#id) | [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) | `1` | +| [integration_handler](#integration-handler) | [Integration](/reference/lib--home_apis--hass_ws--handlers--integration.html) | | +| [packet_callbacks](#packet-callbacks) | [CallbackMap](https://docs.godotengine.org/de/4.x/classes/class_callbackmap.html) | | +| [request_timeout](#request-timeout) | [float](https://docs.godotengine.org/de/4.x/classes/class_float.html) | `10.0` | +| [socket](#socket) | [WebSocketPeer](https://docs.godotengine.org/de/4.x/classes/class_websocketpeer.html) | | +| [token](#token) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | `""` | +| [url](#url) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | `""` | + +## Methods + +| Returns | Name | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| void | [_init](#-init) ( url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) | +| void | [_process](#-process) ( delta: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| void | [connect_ws](#connect-ws) ( ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [decode_packet](#decode-packet) ( packet: [PackedByteArray](https://docs.godotengine.org/de/4.x/classes/class_packedbytearray.html) ) | +| [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_state](#get-state) ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) | +| void | [handle_connect](#handle-connect) ( ) | +| void | [handle_disconnect](#handle-disconnect) ( ) | +| void | [handle_packet](#handle-packet) ( packet: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [has_connected](#has-connected) ( ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [has_integration](#has-integration) ( ) | +| void | [send_packet](#send-packet) ( packet: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html), with_id: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) ) | +| void | [send_raw](#send-raw) ( packet: [PackedByteArray](https://docs.godotengine.org/de/4.x/classes/class_packedbytearray.html) ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [send_request_packet](#send-request-packet) ( packet: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html), ignore_initial: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [send_subscribe_packet](#send-subscribe-packet) ( packet: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [set_state](#set-state) ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), state: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), attributes: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) | +| void | [start_subscriptions](#start-subscriptions) ( ) | +| void | [update_room](#update-room) ( room: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [watch_state](#watch-state) ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) | + +## Property Descriptions + +### LOG_MESSAGES: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#LOG-MESSAGES} + +No description provided yet. + +### assist_handler: [Assist](/reference/lib--home_apis--hass_ws--handlers--assist.html) {#assist-handler} + +No description provided yet. + +### auth_handler: [Auth](/reference/lib--home_apis--hass_ws--handlers--auth.html) {#auth-handler} + +No description provided yet. + +### connected: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#connected} + +No description provided yet. + +### devices_template: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#devices-template} + +No description provided yet. + +### entities: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) {#entities} + +No description provided yet. + +### entitiy_callbacks: [CallbackMap](https://docs.godotengine.org/de/4.x/classes/class_callbackmap.html) {#entitiy-callbacks} + +No description provided yet. + +### id: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) {#id} + +No description provided yet. + +### integration_handler: [Integration](/reference/lib--home_apis--hass_ws--handlers--integration.html) {#integration-handler} + +No description provided yet. + +### packet_callbacks: [CallbackMap](https://docs.godotengine.org/de/4.x/classes/class_callbackmap.html) {#packet-callbacks} + +No description provided yet. + +### request_timeout: [float](https://docs.godotengine.org/de/4.x/classes/class_float.html) {#request-timeout} + +No description provided yet. + +### socket: [WebSocketPeer](https://docs.godotengine.org/de/4.x/classes/class_websocketpeer.html) {#socket} + +No description provided yet. + +### token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#token} + +No description provided yet. + +### url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#url} + +No description provided yet. + +## Method Descriptions + +### _init ( url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> void {#-init} + +No description provided yet. + +### _process ( delta: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-process} + +No description provided yet. + +### connect_ws ( ) -> void {#connect-ws} + +No description provided yet. + +### decode_packet ( packet: [PackedByteArray](https://docs.godotengine.org/de/4.x/classes/class_packedbytearray.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#decode-packet} + +No description provided yet. + +### encode_packet ( packet: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#encode-packet} + +No description provided yet. + +### get_device ( id: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> void {#get-device} + +No description provided yet. + +### get_devices ( ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#get-devices} + +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. + +### handle_connect ( ) -> void {#handle-connect} + +No description provided yet. + +### handle_disconnect ( ) -> void {#handle-disconnect} + +No description provided yet. + +### handle_packet ( packet: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) -> void {#handle-packet} + +No description provided yet. + +### has_connected ( ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#has-connected} + +No description provided yet. + +### has_integration ( ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#has-integration} + +No description provided yet. + +### send_packet ( packet: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html), with_id: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) ) -> void {#send-packet} + +No description provided yet. + +### send_raw ( packet: [PackedByteArray](https://docs.godotengine.org/de/4.x/classes/class_packedbytearray.html) ) -> void {#send-raw} + +No description provided yet. + +### send_request_packet ( packet: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html), ignore_initial: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#send-request-packet} + +No description provided yet. + +### send_subscribe_packet ( packet: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#send-subscribe-packet} + +No description provided yet. + +### set_state ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), state: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), attributes: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#set-state} + +No description provided yet. + +### start_subscriptions ( ) -> void {#start-subscriptions} + +No description provided yet. + +### update_room ( room: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) ) -> void {#update-room} + +No description provided yet. + +### watch_state ( entity: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), callback: [Callable](https://docs.godotengine.org/de/4.x/classes/class_callable.html) ) -> [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#watch-state} + +No description provided yet. diff --git a/docs/reference/lib--stores--devices.md b/docs/reference/lib--stores--devices.md new file mode 100644 index 0000000..1b77017 --- /dev/null +++ b/docs/reference/lib--stores--devices.md @@ -0,0 +1,19 @@ +# Devices + + + + + +## Methods + +| Returns | Name | +| ------- | -------------------- | +| void | [clear](#clear) ( ) | + + + +## Method Descriptions + +### clear ( ) -> void {#clear} + +No description provided yet. diff --git a/docs/reference/lib--stores--house.md b/docs/reference/lib--stores--house.md new file mode 100644 index 0000000..bddda19 --- /dev/null +++ b/docs/reference/lib--stores--house.md @@ -0,0 +1,52 @@ +# House + + + +## Properties + +| Name | Type | Default | +| ----------------------------------- | ------------------------------------------------------------------------- | ------- | +| [align_position1](#align-position1) | [Vector3](https://docs.godotengine.org/de/4.x/classes/class_vector3.html) | | +| [align_position2](#align-position2) | [Vector3](https://docs.godotengine.org/de/4.x/classes/class_vector3.html) | | +| [entities](#entities) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | +| [rooms](#rooms) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | + +## Methods + +| Returns | Name | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| void | [_init](#-init) ( ) | +| void | [clear](#clear) ( ) | +| [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | [get_room](#get-room) ( name: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | + +## Property Descriptions + +### align_position1: [Vector3](https://docs.godotengine.org/de/4.x/classes/class_vector3.html) {#align-position1} + +No description provided yet. + +### align_position2: [Vector3](https://docs.godotengine.org/de/4.x/classes/class_vector3.html) {#align-position2} + +No description provided yet. + +### entities: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#entities} + +No description provided yet. + +### rooms: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#rooms} + +No description provided yet. + +## Method Descriptions + +### _init ( ) -> void {#-init} + +No description provided yet. + +### clear ( ) -> void {#clear} + +No description provided yet. + +### get_room ( name: [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-room} + +No description provided yet. diff --git a/docs/reference/lib--stores--settings.md b/docs/reference/lib--stores--settings.md new file mode 100644 index 0000000..6774fd5 --- /dev/null +++ b/docs/reference/lib--stores--settings.md @@ -0,0 +1,47 @@ +# Settings + + + +## Properties + +| Name | Type | Default | +| ----------------------------------- | ----------------------------------------------------------------------- | ----------- | +| [token](#token) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | `""` | +| [type](#type) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | `"HASS_WS"` | +| [url](#url) | [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) | `""` | +| [voice_assistant](#voice-assistant) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | + +## Methods + +| Returns | Name | +| ------- | -------------------- | +| void | [_init](#-init) ( ) | +| void | [clear](#clear) ( ) | + +## Property Descriptions + +### token: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#token} + +No description provided yet. + +### type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#type} + +No description provided yet. + +### url: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html) {#url} + +No description provided yet. + +### voice_assistant: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#voice-assistant} + +No description provided yet. + +## Method Descriptions + +### _init ( ) -> void {#-init} + +No description provided yet. + +### clear ( ) -> void {#clear} + +No description provided yet. diff --git a/docs/reference/lib--stores--store.md b/docs/reference/lib--stores--store.md new file mode 100644 index 0000000..212f197 --- /dev/null +++ b/docs/reference/lib--stores--store.md @@ -0,0 +1,57 @@ +# Store + + + +## Properties + +| Name | Type | Default | +| ------------------------- | ------------------------------------------------------------------------- | ------- | +| [_loaded](#-loaded) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `false` | +| [_save_path](#-save-path) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `null` | + +## 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) ) | + +## Property Descriptions + +### _loaded: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#-loaded} + +No description provided yet. + +### _save_path: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#-save-path} + +No description provided yet. + +## Method Descriptions + +### clear ( ) -> void {#clear} + +No description provided yet. + +### 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} + +No description provided yet. + +### 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) {#load-local} + +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} + +No description provided yet. diff --git a/docs/reference/lib--utils--font_tools.md b/docs/reference/lib--utils--font_tools.md new file mode 100644 index 0000000..025a7cb --- /dev/null +++ b/docs/reference/lib--utils--font_tools.md @@ -0,0 +1,19 @@ +# FontTools + + + + + +## Methods + +| 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) ) | + + + +## Method Descriptions + +### 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} + +No description provided yet. diff --git a/docs/reference/lib--utils--gesture--gesture.md b/docs/reference/lib--utils--gesture--gesture.md new file mode 100644 index 0000000..e8af430 --- /dev/null +++ b/docs/reference/lib--utils--gesture--gesture.md @@ -0,0 +1 @@ +# Gesture diff --git a/docs/reference/lib--utils--pointer--initiator.md b/docs/reference/lib--utils--pointer--initiator.md new file mode 100644 index 0000000..bf5458b --- /dev/null +++ b/docs/reference/lib--utils--pointer--initiator.md @@ -0,0 +1,32 @@ +# Initiator + + + +## Properties + +| Name | Type | Default | +| ------------- | ----------------------------------------------------------------------- | ------- | +| [node](#node) | [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) | | +| [type](#type) | [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) | | + +## Methods + +| Returns | Name | +| ------------------------------------------------------------------- | -------------------------- | +| [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | [is_right](#is-right) ( ) | + +## Property Descriptions + +### node: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) {#node} + +No description provided yet. + +### type: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) {#type} + +No description provided yet. + +## Method Descriptions + +### is_right ( ) -> [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#is-right} + +No description provided yet. diff --git a/docs/reference/lib--utils--pointer--pointer.md b/docs/reference/lib--utils--pointer--pointer.md new file mode 100644 index 0000000..dc399ea --- /dev/null +++ b/docs/reference/lib--utils--pointer--pointer.md @@ -0,0 +1,102 @@ +# Pointer + + + +## Properties + +| Name | Type | Default | +| --------------------------------- | ----------------------------------------------------------------------------- | ------------------ | +| [click_point](#click-point) | [Vector3](https://docs.godotengine.org/de/4.x/classes/class_vector3.html) | `Vector3(0, 0, 0)` | +| [initiator](#initiator) | [Initiator](/reference/lib--utils--pointer--initiator.html) | | +| [is_grabbed](#is-grabbed) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | +| [is_pressed](#is-pressed) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | +| [last_collided](#last-collided) | [Object](https://docs.godotengine.org/de/4.x/classes/class_object.html) | `null` | +| [moved](#moved) | [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) | `false` | +| [ray](#ray) | [RayCast3D](https://docs.godotengine.org/de/4.x/classes/class_raycast3d.html) | | +| [time_pressed](#time-pressed) | [float](https://docs.godotengine.org/de/4.x/classes/class_float.html) | `0.0` | +| [timespan_click](#timespan-click) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | `400.0` | + +## Methods + +| Returns | Name | +| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| void | [_emit_event](#-emit-event) ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), target: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| void | [_handle_enter_leave](#-handle-enter-leave) ( ) | +| void | [_handle_move](#-handle-move) ( ) | +| void | [_init](#-init) ( initiator: [Initiator](/reference/lib--utils--pointer--initiator.html), ray: [RayCast3D](https://docs.godotengine.org/de/4.x/classes/class_raycast3d.html) ) | +| void | [_on_pressed](#-on-pressed) ( type: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) ) | +| void | [_on_released](#-on-released) ( type: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) ) | +| void | [_physics_process](#-physics-process) ( _delta: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| void | [_ready](#-ready) ( ) | + +## Property Descriptions + +### click_point: [Vector3](https://docs.godotengine.org/de/4.x/classes/class_vector3.html) {#click-point} + +No description provided yet. + +### initiator: [Initiator](/reference/lib--utils--pointer--initiator.html) {#initiator} + +No description provided yet. + +### is_grabbed: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#is-grabbed} + +No description provided yet. + +### is_pressed: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#is-pressed} + +No description provided yet. + +### last_collided: [Object](https://docs.godotengine.org/de/4.x/classes/class_object.html) {#last-collided} + +No description provided yet. + +### moved: [bool](https://docs.godotengine.org/de/4.x/classes/class_bool.html) {#moved} + +No description provided yet. + +### ray: [RayCast3D](https://docs.godotengine.org/de/4.x/classes/class_raycast3d.html) {#ray} + +No description provided yet. + +### time_pressed: [float](https://docs.godotengine.org/de/4.x/classes/class_float.html) {#time-pressed} + +No description provided yet. + +### timespan_click: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#timespan-click} + +No description provided yet. + +## Method Descriptions + +### _emit_event ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), target: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-emit-event} + +No description provided yet. + +### _handle_enter_leave ( ) -> void {#-handle-enter-leave} + +No description provided yet. + +### _handle_move ( ) -> void {#-handle-move} + +No description provided yet. + +### _init ( initiator: [Initiator](/reference/lib--utils--pointer--initiator.html), ray: [RayCast3D](https://docs.godotengine.org/de/4.x/classes/class_raycast3d.html) ) -> void {#-init} + +No description provided yet. + +### _on_pressed ( type: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) ) -> void {#-on-pressed} + +No description provided yet. + +### _on_released ( type: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) ) -> void {#-on-released} + +No description provided yet. + +### _physics_process ( _delta: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-physics-process} + +No description provided yet. + +### _ready ( ) -> void {#-ready} + +No description provided yet. diff --git a/docs/reference/lib--utils--sample_hold.md b/docs/reference/lib--utils--sample_hold.md new file mode 100644 index 0000000..8643e51 --- /dev/null +++ b/docs/reference/lib--utils--sample_hold.md @@ -0,0 +1,19 @@ +# SampleHold + + + + + +## Methods + +| Returns | Name | +| ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [PackedFloat32Array](https://docs.godotengine.org/de/4.x/classes/class_packedfloat32array.html) | [sample_and_hold](#sample-and-hold) ( data: [PackedVector2Array](https://docs.godotengine.org/de/4.x/classes/class_packedvector2array.html), sample_rate: [float](https://docs.godotengine.org/de/4.x/classes/class_float.html) ) | + + + +## Method Descriptions + +### sample_and_hold ( data: [PackedVector2Array](https://docs.godotengine.org/de/4.x/classes/class_packedvector2array.html), sample_rate: [float](https://docs.godotengine.org/de/4.x/classes/class_float.html) ) -> [PackedFloat32Array](https://docs.godotengine.org/de/4.x/classes/class_packedfloat32array.html) {#sample-and-hold} + +No description provided yet. diff --git a/docs/reference/lib--utils--touch--collide.md b/docs/reference/lib--utils--touch--collide.md new file mode 100644 index 0000000..c6f3bed --- /dev/null +++ b/docs/reference/lib--utils--touch--collide.md @@ -0,0 +1,62 @@ +# Collide + + + +## Properties + +| Name | Type | Default | +| --------------------------------- | ------------------------------------------------------------------------------- | ------- | +| [bodies_entered](#bodies-entered) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | +| [finger_areas](#finger-areas) | [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) | | +| [hand_left](#hand-left) | [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) | | +| [hand_right](#hand-right) | [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.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) ( ) | + +## Property Descriptions + +### bodies_entered: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#bodies-entered} + +No description provided yet. + +### finger_areas: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) {#finger-areas} + +No description provided yet. + +### hand_left: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) {#hand-left} + +No description provided yet. + +### hand_right: [Node3D](https://docs.godotengine.org/de/4.x/classes/class_node3d.html) {#hand-right} + +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} + +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} + +No description provided yet. + +### _physics_process ( _delta: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-physics-process} + +No description provided yet. + +### _ready ( ) -> void {#-ready} + +No description provided yet. diff --git a/docs/reference/lib--utils--touch--finger.md b/docs/reference/lib--utils--touch--finger.md new file mode 100644 index 0000000..51ab052 --- /dev/null +++ b/docs/reference/lib--utils--touch--finger.md @@ -0,0 +1,22 @@ +# Finger + + + +## Properties + +| Name | Type | Default | +| ------------- | ----------------------------------------------------------------------- | ------- | +| [area](#area) | [Area3D](https://docs.godotengine.org/de/4.x/classes/class_area3d.html) | | +| [type](#type) | [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) | | + + + +## Property Descriptions + +### area: [Area3D](https://docs.godotengine.org/de/4.x/classes/class_area3d.html) {#area} + +No description provided yet. + +### type: [int](https://docs.godotengine.org/de/4.x/classes/class_int.html) {#type} + +No description provided yet. diff --git a/docs/reference/lib--utils--touch--touch.md b/docs/reference/lib--utils--touch--touch.md new file mode 100644 index 0000000..41b4f75 --- /dev/null +++ b/docs/reference/lib--utils--touch--touch.md @@ -0,0 +1,57 @@ +# Touch + + + +## Properties + +| Name | Type | Default | +| ------------------------------- | ------------------------------------------------------------------------------- | ------- | +| [areas_entered](#areas-entered) | [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) | | +| [finger_areas](#finger-areas) | [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) | | + +## Methods + +| Returns | Name | +| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| void | [_emit_event](#-emit-event) ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), target: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| void | [_init](#-init) ( finger_areas: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) | +| void | [_on_area_entered](#-on-area-entered) ( finger_type: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), area: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| void | [_on_area_exited](#-on-area-exited) ( finger_type: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), area: [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) ( ) | + +## Property Descriptions + +### areas_entered: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) {#areas-entered} + +No description provided yet. + +### finger_areas: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) {#finger-areas} + +No description provided yet. + +## Method Descriptions + +### _emit_event ( type: [String](https://docs.godotengine.org/de/4.x/classes/class_string.html), target: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-emit-event} + +No description provided yet. + +### _init ( finger_areas: [Dictionary](https://docs.godotengine.org/de/4.x/classes/class_dictionary.html) ) -> void {#-init} + +No description provided yet. + +### _on_area_entered ( finger_type: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), area: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-on-area-entered} + +No description provided yet. + +### _on_area_exited ( finger_type: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html), area: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-on-area-exited} + +No description provided yet. + +### _physics_process ( _delta: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#-physics-process} + +No description provided yet. + +### _ready ( ) -> void {#-ready} + +No description provided yet. diff --git a/docs/reference/lib--utils--variant_serializer.md b/docs/reference/lib--utils--variant_serializer.md new file mode 100644 index 0000000..2eb3e2b --- /dev/null +++ b/docs/reference/lib--utils--variant_serializer.md @@ -0,0 +1,24 @@ +# VariantSerializer + + + + + +## Methods + +| Returns | Name | +| ------- | ------------------------------------------------------------------------------------------------------------------------ | +| void | [parse_value](#parse-value) ( value: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | +| void | [stringify_value](#stringify-value) ( value: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) | + + + +## Method Descriptions + +### parse_value ( value: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#parse-value} + +No description provided yet. + +### stringify_value ( value: [Variant](https://docs.godotengine.org/de/4.x/classes/class_variant.html) ) -> void {#stringify-value} + +No description provided yet. diff --git a/docs/stores/Devices.md b/docs/stores/Devices.md new file mode 100644 index 0000000..267d257 --- /dev/null +++ b/docs/stores/Devices.md @@ -0,0 +1,7 @@ + +# Libstoresdevices + + + + + \ No newline at end of file diff --git a/docs/stores/House.md b/docs/stores/House.md new file mode 100644 index 0000000..9ffb40b --- /dev/null +++ b/docs/stores/House.md @@ -0,0 +1,7 @@ + +# Libstoreshouse + + + + + \ No newline at end of file diff --git a/docs/stores/Settings.md b/docs/stores/Settings.md new file mode 100644 index 0000000..4c3fc4a --- /dev/null +++ b/docs/stores/Settings.md @@ -0,0 +1,7 @@ + +# Libstoressettings + + + + + \ No newline at end of file diff --git a/docs/stores/Store.md b/docs/stores/Store.md new file mode 100644 index 0000000..cbb3e0d --- /dev/null +++ b/docs/stores/Store.md @@ -0,0 +1,7 @@ + +# Libstoresstore + + + + + \ No newline at end of file diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 0000000..bcabc74 --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "types": [ + "node" + ] + } +} \ No newline at end of file diff --git a/docs/utils/Fonttools.md b/docs/utils/Fonttools.md new file mode 100644 index 0000000..61ff8ce --- /dev/null +++ b/docs/utils/Fonttools.md @@ -0,0 +1,7 @@ + +# Libutilsfonttools + + + + + \ No newline at end of file diff --git a/docs/utils/Samplehold.md b/docs/utils/Samplehold.md new file mode 100644 index 0000000..8f66c2f --- /dev/null +++ b/docs/utils/Samplehold.md @@ -0,0 +1,7 @@ + +# Libutilssamplehold + + + + + \ No newline at end of file diff --git a/docs/utils/Variantserializer.md b/docs/utils/Variantserializer.md new file mode 100644 index 0000000..ceae06f --- /dev/null +++ b/docs/utils/Variantserializer.md @@ -0,0 +1,7 @@ + +# Libutilsvariantserializer + + + + + \ No newline at end of file diff --git a/docs/utils/gesture/Gesture.md b/docs/utils/gesture/Gesture.md new file mode 100644 index 0000000..cfd8121 --- /dev/null +++ b/docs/utils/gesture/Gesture.md @@ -0,0 +1,7 @@ + +# Libutilsgesturegesture + + + + + \ No newline at end of file diff --git a/docs/utils/pointer/Initiator.md b/docs/utils/pointer/Initiator.md new file mode 100644 index 0000000..0b4c109 --- /dev/null +++ b/docs/utils/pointer/Initiator.md @@ -0,0 +1,7 @@ + +# Libutilspointerinitiator + + + + + \ No newline at end of file diff --git a/docs/utils/pointer/Pointer.md b/docs/utils/pointer/Pointer.md new file mode 100644 index 0000000..0353738 --- /dev/null +++ b/docs/utils/pointer/Pointer.md @@ -0,0 +1,7 @@ + +# Libutilspointerpointer + + + + + \ No newline at end of file diff --git a/docs/utils/touch/Collide.md b/docs/utils/touch/Collide.md new file mode 100644 index 0000000..d6790dc --- /dev/null +++ b/docs/utils/touch/Collide.md @@ -0,0 +1,7 @@ + +# Libutilstouchcollide + + + + + \ No newline at end of file diff --git a/docs/utils/touch/Finger.md b/docs/utils/touch/Finger.md new file mode 100644 index 0000000..c69ae14 --- /dev/null +++ b/docs/utils/touch/Finger.md @@ -0,0 +1,7 @@ + +# Libutilstouchfinger + + + + + \ No newline at end of file diff --git a/docs/utils/touch/Touch.md b/docs/utils/touch/Touch.md new file mode 100644 index 0000000..99e21e0 --- /dev/null +++ b/docs/utils/touch/Touch.md @@ -0,0 +1,7 @@ + +# Libutilstouchtouch + + + + + \ No newline at end of file