diff --git a/Home.md b/Home.md index 16d32db..47b4842 100644 --- a/Home.md +++ b/Home.md @@ -1,4 +1,23 @@ ![Getiyo Logo](https://getiyo.com/static/getiyobanner.png) # Introduction -Introducing Getiyo - your cutting-edge, virtual convergence hub for dynamic, interactive content delivery. Unleash the power of live streams, immersive gatherings, precision narrowcasting, seamless automations, displays, theatrical experiences and next-level show control. Effortlessly craft scenes with modules in our sleek, intuitive editor and publish them to multiple display endpoints with lightning-fast synchronization. Sit back as Getiyo orchestrates fluid transitions and generates visually-striking animations between scene metamorphoses. Embrace the future of digital interactivity with Getiyo! \ No newline at end of file + +Introducing **Getiyo**—built by Morphix Productions—as your cutting-edge, virtual convergence hub for dynamic, interactive content delivery. Unleash the power of live streams, immersive gatherings, precision narrowcasting, seamless automations, theatrical experiences, and next-level show control. Effortlessly craft scenes with modules in our sleek, intuitive editor and publish them to multiple display endpoints with lightning-fast synchronization. Sit back as Getiyo orchestrates fluid transitions and generates visually striking animations between scene metamorphoses. Embrace the future of digital interactivity with Getiyo! + +## Key Principles + +Modules in Getiyo are structured with a clear separation of concerns: + +- **Server Side**
+ The backbone of each module—handling data processing, business logic, and secure configuration. Server-side scripts leverage the `ModuleServerAPI` to: + + - **Module Properties:** which store sensitive or persistent data (API keys, authentication tokens, settings etc...). Defined in `module.json`, these properties remain hidden from clients and are accessed or updated exclusively via server-side code, ensuring integrity and confidentiality. + - Orchestrate show control, file management, and communication with external services, powering the real-time behavior of your module. + +- **User**
+ The interactive front end of each module, where visual presentation and dynamic behavior come to life: + + - **User Page:** Every module must provide a user page (HTML, TS/JS, and CSS/SCSS) that defines its core UI. This page communicates with the server via the `ModuleClientAPI`, driving live interactivity and synchronized displays. + - **Reference Properties:** For real-time, client-side customization, reference properties control styling (colors, fonts, layouts), animations, and on-the-fly content updates. Declared in `module.json`, they push live changes from the editor or during broadcast sessions directly into the client via `api.onPropertyUpdate()`, eliminating the need for redeployment. + +Most modules will rely solely on these two layers—server-side logic with secure module properties, and a user-facing interface enriched by live-updatable reference properties. Control or external pages are available for advanced use cases (custom moderation UIs or standalone module views) but are optional and should be added only when necessary. diff --git a/_Sidebar.md b/_Sidebar.md index 28522c1..1bed2f6 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -4,6 +4,9 @@ - [Config](./Config) - Module Development - [Module Structure](./ModuleStructure) + - Important Principals + - [ModuleClientAPI Principals](./ModuleClientAPIPrincipals) + - [ModuleServerAPI Principals](./ModuleServerAPIPrincipals) - [Module.json](./ModuleJSON) - [Property](./ModuleJSONProperty) - [Trigger](./ModuleTrigger)