diff --git a/docs/src/content/docs/high-level-design/cryptography.md b/docs/src/content/docs/high-level-design/cryptography.md new file mode 100644 index 0000000..98c0b8e --- /dev/null +++ b/docs/src/content/docs/high-level-design/cryptography.md @@ -0,0 +1,5 @@ +--- +title: Cryptography +--- + +lol \ No newline at end of file diff --git a/docs/src/content/docs/high-level-design/indexing.md b/docs/src/content/docs/high-level-design/indexing.md index 1f9312b..3c2101a 100644 --- a/docs/src/content/docs/high-level-design/indexing.md +++ b/docs/src/content/docs/high-level-design/indexing.md @@ -7,4 +7,12 @@ Some are the database kind that updates immediately. Others are the search kind that updates asynchronously. Custom app authors can specify how their attributes should be indexed. -Then, whenever \ No newline at end of file +Then, whenever any node has that particular attribute touched, a hook is run. + +## Implementation + +In the initial version of panorama, the daemon is thought of as having exclusive +control over the database. It should not be run as multiple copies of itself either. + +This way, the daemon can separately control indexes if it wishes, allowing it to +call custom functions for indexing. \ No newline at end of file diff --git a/docs/src/content/docs/high-level-design/onboarding.md b/docs/src/content/docs/high-level-design/onboarding.md new file mode 100644 index 0000000..e9bbaec --- /dev/null +++ b/docs/src/content/docs/high-level-design/onboarding.md @@ -0,0 +1,13 @@ +--- +title: Onboarding +--- + +## Creating a new database + +1. Download the software +2. It should automatically boot into a new database + - Automatically connect to the hosted panorama bridge service +3. Give the user the option to log into an existing database, and then allow them to merge + +## Adding another device + diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index 0e1341a..ab84f99 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -8,7 +8,7 @@ hero: file: ../../assets/houston.webp actions: - text: Read the docs - link: /dream + link: ./dream icon: right-arrow variant: primary --- \ No newline at end of file diff --git a/docs/src/content/docs/technical-docs/custom_app_hooks.md b/docs/src/content/docs/technical-docs/custom_app_hooks.md new file mode 100644 index 0000000..d3eb26f --- /dev/null +++ b/docs/src/content/docs/technical-docs/custom_app_hooks.md @@ -0,0 +1,25 @@ +--- +title: Custom app API +--- + +## Registration + +The following types of things can be registered by the app: + +- Named types +- Hooks (described below) +- Background services +- Frontend + +## Hooks + +Custom apps are allowed to hook into the following events: + +- `install`: When the app is first being installed. + +- `insert`, `update`, `delete`: CRUD hooks for nodes with a type that the app manages + +- `attr-new`, `attr-update`, `attr-remove`: CRUD hooks for attributes with types that the app manages + +Each hook is handled by a function, which must return with a success. If this +doesn't happen, the daemon will re-call the function with exponential backoff for a specific number of retries. \ No newline at end of file diff --git a/docs/src/content/docs/technical-docs/custom_app_sandboxing.md b/docs/src/content/docs/technical-docs/custom_app_sandboxing.md index a7b8f59..0a50c34 100644 --- a/docs/src/content/docs/technical-docs/custom_app_sandboxing.md +++ b/docs/src/content/docs/technical-docs/custom_app_sandboxing.md @@ -1,5 +1,5 @@ --- -title: Custom App Sandboxing +title: Custom app sandboxing --- :::caution @@ -20,4 +20,8 @@ Each part needs to be sandboxed individually. ## Backend sandboxing -This will be done via a WASM runtime. The custom app's backend software will \ No newline at end of file +This will be done via a WASM runtime. The custom app's backend software will + +## Frontend sandboxing + +lmao not sure if this is possible with a web-based host at all, looking into flutter... \ No newline at end of file diff --git a/docs/src/content/docs/technical-docs/formal_verification.md b/docs/src/content/docs/technical-docs/formal_verification.md new file mode 100644 index 0000000..1107c07 --- /dev/null +++ b/docs/src/content/docs/technical-docs/formal_verification.md @@ -0,0 +1,5 @@ +--- +title: Formal verification +--- + +lol \ No newline at end of file diff --git a/docs/src/content/docs/technical-docs/protected_namespace.md b/docs/src/content/docs/technical-docs/protected_namespace.md index 5d8fa82..4c1c5c4 100644 --- a/docs/src/content/docs/technical-docs/protected_namespace.md +++ b/docs/src/content/docs/technical-docs/protected_namespace.md @@ -1,5 +1,5 @@ --- -title: Protected Namespaces +title: Protected namespaces --- There's some protected namespace of nodes that's used to keep track of the