start fleshing out documentation sections

This commit is contained in:
Joel Wetzell
2025-12-03 22:58:40 -06:00
parent d5664c7e84
commit 07a45776da
18 changed files with 264 additions and 21 deletions
+9
View File
@@ -0,0 +1,9 @@
---
title: Config
sidebar:
order: 1
---
The showbridge router's config is entirely controlled by a YAML/JSON config file. This file must be made by hand for now. I do provide some starter/example configs to look at to get a general idea of what one entails.
Resources
- good idea to start with [config.yaml](https://github.com/jwetzell/showbridge-go/blob/main/config.yaml)
+14
View File
@@ -0,0 +1,14 @@
---
title: Modules
sidebar:
order: 2
---
Modules are anything that can produce input and/or handle output. They are configured in the `modules` property of the [router config file](/reference/config).
## YAML Definition
A module YAML block has the following properties
- **id**: user assigned unique identifier that will be used to reference a module instance in a [route](/reference/routes)
- **type**: the module type
- **params**: optional map for module configuration values. The valid values will depend on the module type
+13
View File
@@ -0,0 +1,13 @@
---
title: Processors
sidebar:
order: 4
---
Processors are anything that create or manipulate messages. They are configured in the `processors` property of an individual [route](/reference/routes). Processors have the ability to change the type of the message flowing through the system so a byte array can come into a `osc.message.decode` processor and a OSC message type will come out of the processor.
## YAML Definition
A processor YAML block has the following properties
- **type**: the processor type
- **params**: optional map for processor configuration values. The valid values will depend on the processor type
+14
View File
@@ -0,0 +1,14 @@
---
title: Routes
sidebar:
order: 3
---
Routes take the messages coming from a module and push them out another module. The message can be optionally "processed" with any number of processor steps.
## YAML Definition
- **input**: the id of the [module](/reference/modules) that will provide messages to this route
- **processors**: (optional) array of [processors](/reference/processors) that will be called in order and the result of the previous will be fed to the next processor.
- if at any point the output of a processor is `null` the entire route will be terminated (subject to change to support output `null` values?)
- an error in a processor step will also result in the route being terminated
- **output**: the id of the [module](/reference/modules) that will consume messages from the route