From 07cffc94eebefb8d1e95c889e5a6d94eac472cb5 Mon Sep 17 00:00:00 2001 From: Igor Chernakov Date: Fri, 2 Oct 2026 22:22:44 +0200 Subject: [PATCH 1/3] Fix 3D scene, animation and tooling bugs found by the cluster demo Getting an exported 3D scene to render and animate in a real app exposed a run of engine bugs. Each is fixed where it lives: SceneKit - Viewport3D crashed on a Screen parent (Screen has no Node2D). - Model3D discarded Material.BlendMode: an unset node override read back as -1 through an unsigned parameter and replaced the material's mode. - Camera projection: drop the 1.05 FOV fudge and convert horizontal FOV correctly (same fix as b45c771f); give Fov/ZNear/ZFar usable defaults. - PrefabView3D loaded its prefab twice at startup. - TextBlock3D gets a Color property instead of always drawing white. Core / renderer - AnimationPlayer stalled after its first frame, and the frame clock never advanced on app-loop paints, so clips could not play in a running app. - Setting AnimationPlayer.CurrentTime while stopped now applies the clip, so a clip can be scrubbed from an input value. - vec2/vec3/vec4 uniforms fell through into the int case and were corrupted. - Shader BlendMode/DepthTestFunction/DepthWriteEnabled became uniforms and never reached the draw call. - Render-pass tags were never registered. - CDATA text content in XML was dropped. - Texture_Create crashed without a GL context (headless tests). Tools and docs - orca-fbx: honour arguments, create the output directory, write vertex colours, compile against current headers and FBX SDK 2020.2; add a `make orca-fbx` target and fix the premake project. - create-app.py generates package.lua (package.xml is no longer loaded). - QUICKSTART and docs/animations.md match what the loader accepts. Adds a headless test for AnimationPlayer scrubbing. Co-Authored-By: Claude Fable 5.1 --- Makefile | 9 +- QUICKSTART.md | 200 +++++++++++++---------- docs/animations.md | 66 ++++---- include/module.h | 1 + plugins/SceneKit/Model3D.c | 6 +- plugins/SceneKit/PlaneMeshNode.c | 2 +- plugins/SceneKit/PrefabView3D.c | 3 + plugins/SceneKit/RenderPass.c | 6 +- plugins/SceneKit/SceneKit.cgen | 12 +- plugins/SceneKit/TextBlock3D.c | 2 +- plugins/SceneKit/Viewport3D.c | 4 +- plugins/UIKit/Screen.c | 2 + premake5.lua | 10 +- source/core/components/AnimationPlayer.c | 91 ++++++----- source/core/core.cgen | 3 +- source/core/core_main.c | 2 +- source/core/object/object_core.c | 6 +- source/core/object/object_properties.c | 3 + source/filesystem/fs_xml.c | 2 +- source/renderer/r_shader.c | 14 ++ source/renderer/texture/r_texture.c | 6 +- tests/test_animations.lua | 32 ++++ tools/create-app.py | 112 +++++++------ tools/fbx-import.cpp | 52 +++--- 24 files changed, 401 insertions(+), 245 deletions(-) diff --git a/Makefile b/Makefile index 49ac90b4..cdadf880 100644 --- a/Makefile +++ b/Makefile @@ -80,7 +80,7 @@ else Q = @ endif -.PHONY: default all CLEAN directories unite buildlib buildplugins app platform example weather install codegen-host codegen-clean codegen-sample modules modules-c-preview modules-c-diff test test-headless test-properties test-styles test-filesystem test-message-registry test-trigger-actions test-editor test-xml-serialization test-text-layout test-stack-layout test-grid-layout test-interaction test-adventure-header-hit test-node test-state-manager test-animations test-timers test-styles-lua test-body test-console-view test-widget test-router test-application test-geometry test-parsers test-object-hierarchy test-object-retention test-async test-tabbar test-tab-interaction test-layout test-listbox +.PHONY: default all CLEAN directories unite orca-fbx buildlib buildplugins app platform example weather install codegen-host codegen-clean codegen-sample modules modules-c-preview modules-c-diff test test-headless test-properties test-styles test-filesystem test-message-registry test-trigger-actions test-editor test-xml-serialization test-text-layout test-stack-layout test-grid-layout test-interaction test-adventure-header-hit test-node test-state-manager test-animations test-timers test-styles-lua test-body test-console-view test-widget test-router test-application test-geometry test-parsers test-object-hierarchy test-object-retention test-async test-tabbar test-tab-interaction test-layout test-listbox default: directories modules unite all: default @@ -128,6 +128,13 @@ app: modules platform unite: directories buildunite buildlib buildplugins app copyshare +# FBX -> .mesh converter used by tools/blender-export.py. Optional: needs the Autodesk FBX SDK. +FBX_SDK ?= /Applications/Autodesk/FBX SDK/2020.2 +orca-fbx: directories + $(CXX) -std=c++17 -O2 -w -I. -Igenerated -I"$(FBX_SDK)/include" tools/fbx-import.cpp \ + "$(FBX_SDK)/lib/clang/release/libfbxsdk.a" -framework CoreFoundation -liconv -lxml2 -lz \ + -o $(BINDIR)/orca-fbx + %.o: %.c $(HEADERS) | modules $(Q)$(CC) $(CFLAGS) -c $< -o $(addprefix $(OBJECTDIR)/,$(notdir $@)) diff --git a/QUICKSTART.md b/QUICKSTART.md index 66a3500c..0af2cbe0 100644 --- a/QUICKSTART.md +++ b/QUICKSTART.md @@ -7,7 +7,7 @@ This guide will help you get started with the ORCA Framework by creating your fi 1. [Prerequisites](#prerequisites) 2. [Creating a New Project](#creating-a-new-project) 3. [Scene File Formats](#scene-file-formats) -4. [Package.xml Specification](#packagexml-specification) +4. [Package.lua Specification](#packagelua-specification) 5. [Building and Running](#building-and-running) 6. [Examples](#examples) @@ -26,7 +26,7 @@ To create a new ORCA project, you'll need to set up the following basic structur ``` MyProject/ -├── package.xml # Project configuration file +├── package.lua # Project configuration file ├── Screens/ # Directory for screen definitions │ └── Application.xml # Main application screen └── Images/ # Directory for images (optional) @@ -40,7 +40,7 @@ mkdir MyProject cd MyProject ``` -2. Create a `package.xml` file (see [Package.xml Specification](#packagexml-specification)) +2. Create a `package.lua` file (see [Package.lua Specification](#packagelua-specification)) 3. Create a `Screens` directory for your UI definitions: ```sh @@ -182,116 +182,140 @@ class HomePage extends ui.StackView - Define routes with pattern matching - Apply CSS classes with `apply` method -## Package.xml Specification +## Package.lua Specification -The `package.xml` file is the entry point for your ORCA project. It defines project metadata, libraries, and system messages. +The `package.lua` file is the entry point for your ORCA project. It defines project metadata, libraries, and system messages. It is the only project manifest the runtime reads; `package.xml` is no longer loaded. ### Basic Structure -```xml - - - - +`package.lua` is a Lua file in which each global assignment sets a property of the project: + +```lua +Name = "ProjectName" +StartupScreen = "ProjectName/Screens/ScreenName" +-- Project configuration ``` -### Required Attributes +### Required Properties - `Name`: The name of your project -- `StartupScreen`: The path to the initial screen to load (format: `ProjectName/Path/To/Screen`) +- `StartupScreen`: The path to the initial screen to load (format: `ProjectName/Path/To/Screen`). Script-driven applications set `StartupViewController` (and optionally `StartupRoute`) instead, as `samples/Weather` and `samples/Banking` do. + +### Optional Properties -### Optional Elements +#### WindowWidth / WindowHeight -#### ProjectReferenceLibrary +Initial window size in pixels: + +```lua +WindowWidth = 1024 +WindowHeight = 768 +``` + +#### ProjectReferences Define external project references and library paths: -```xml - - applications - assets - lib/routing - +```lua +ProjectReferences = { + { Name = "views", Path = "views" }, + { Name = "assets", Path = "assets" }, + { Name = "model", Path = "model" }, +} ``` #### ScreenLibrary Define screen libraries (can be external): -```xml - +```lua +ScreenLibrary = { IsExternal = true } ``` #### ImageLibrary Define image libraries: -```xml - +```lua +ImageLibrary = { IsExternal = true } ``` -#### PropertyTypeLibrary +#### PropertyTypes Define custom property types: -```xml - - - +```lua +PropertyTypes = { + { Name = "Title", Category = "NavigationBar", DataType = "String" }, +} ``` -#### MessageLibrary +#### SystemMessages Define system message handlers: -```xml - - return - return - window:refresh() - +```lua +SystemMessages = { + { Message = "KeyDown", Key = "q", Command = "return" }, + { Message = "WindowClosed", Command = "return" }, + { Message = "RequestReload", Command = "window:refresh()" }, +} ``` -**Note**: The attribute names are case-insensitive in ORCA. You may see both `Message`/`Key` (capital) and `message`/`key` (lowercase) in different samples. Both work correctly. +**Note**: Field names are case-sensitive. A `SystemMessage` has the fields `Message`, `Key`, and `Command`. + +#### EnginePlugins + +Load engine plugins so their classes are available: + +```lua +EnginePlugins = { + { Name = "orca.UIKit" }, +} +``` ### Complete Examples #### Example 1: Minimal Project -```xml - - - - - - return - return - - +```lua +Name = "Example" +StartupScreen = "Example/Screens/Application" +WindowWidth = 1024 +WindowHeight = 768 +ScreenLibrary = { IsExternal = true } +ImageLibrary = { IsExternal = true } +SystemMessages = { + { Message = "KeyDown", Key = "q", Command = "return" }, + { Message = "WindowClosed", Command = "return" }, +} +EnginePlugins = { + { Name = "orca.UIKit" }, +} ``` -#### Example 2: Complex Project with Libraries +#### Example 2: Script Project with Project References -```xml - - - - applications - assets - lib/appwrite - lib/html - lib/routing - model - root - config - tailwind - - - return - return - window:refresh() - - +This is `samples/Banking/package.lua`: + +```lua +Name = "Banking" +StartupViewController = "Banking/App" +StartupRoute = "/" +WindowWidth = 375 +WindowHeight = 812 +ProjectReferences = { + { Name = "views", Path = "views" }, + { Name = "assets", Path = "assets" }, + { Name = "model", Path = "model" }, + { Name = "appwrite", Path = "lib/appwrite" }, + { Name = "config", Path = "config" }, +} +SystemMessages = { + { Message = "KeyDown", Key = "q", Command = "return" }, + { Message = "WindowClosed", Command = "return" }, + { Message = "RequestReload", Command = "window:refresh()" }, +} ``` ## Building and Running @@ -308,14 +332,14 @@ git submodule update --init --recursive make ``` -3. **Run your project**: +3. **Run your project** by passing the project directory (the one containing `package.lua`): ```sh -make run PROJECT=/path/to/your/project/package.xml +build/bin/orca /path/to/your/project ``` -Or for a quick clean build and run: +For example, to run the bundled sample: ```sh -make andrun PROJECT=/path/to/your/project/package.xml +build/bin/orca samples/Example ``` ## Examples @@ -325,21 +349,25 @@ make andrun PROJECT=/path/to/your/project/package.xml **Directory structure:** ``` HelloWorld/ -├── package.xml +├── package.lua └── Screens/ └── Main.xml ``` -**package.xml:** -```xml - - - - - return - return - - +**package.lua:** +```lua +Name = "HelloWorld" +StartupScreen = "HelloWorld/Screens/Main" +WindowWidth = 1024 +WindowHeight = 768 +ScreenLibrary = { IsExternal = true } +SystemMessages = { + { Message = "KeyDown", Key = "q", Command = "return" }, + { Message = "WindowClosed", Command = "return" }, +} +EnginePlugins = { + { Name = "orca.UIKit" }, +} ``` **Screens/Main.xml:** @@ -425,12 +453,12 @@ class MyApp extends Application - **Lua** is ideal for programmatic UI construction and complex logic - **MoonScript** offers a cleaner syntax for Lua and is great for application-level code - You can mix and match formats in the same project -- Use the MessageLibrary to handle system events like key presses and window closing -- External libraries can be referenced via ProjectReferenceLibrary for code organization +- Use `SystemMessages` in `package.lua` to handle system events like key presses and window closing +- External libraries can be referenced via `ProjectReferences` for code organization ## Common Issues -- **Startup screen not found**: Ensure the StartupScreen path in package.xml matches your actual file structure +- **Startup screen not found**: Ensure the `StartupScreen` path in `package.lua` matches your actual file structure - **Images not loading**: Check that image paths are relative to the project root (e.g., `ProjectName/Images/filename`) - **Build errors**: Make sure all dependencies are installed (see README.md) diff --git a/docs/animations.md b/docs/animations.md index fa94890e..374d4153 100644 --- a/docs/animations.md +++ b/docs/animations.md @@ -39,8 +39,8 @@ An `AnimationClip` is an object loaded from an XML file (just like an `Image` or - - + + @@ -76,50 +76,56 @@ Each `AnimationCurve` is a child object of an `AnimationClip`. It targets exactl | Property | Type | Description | |---|---|---| | `Property` | string | Short property name to animate, e.g. `"Opacity"`, `"Position"` | -| `Path` | string | Relative path from the player's host object to the target object. Empty means the host itself | +| `Path` | string | Relative path from the object that carries the `AnimationPlayer` to the target object (`..` is supported). Empty means that object itself | | `Keyframes` | `Keyframe[]` | The keyframe array (see format below) | | `NumKeyframes` | int | Number of keyframes in the array (auto-generated from `array="true"`) | ### `Keyframe` struct -Each keyframe is a `Keyframe` struct serialised as space-separated numbers. The `value`, `inSlope`, `outSlope`, `inWeight`, and `outWeight` fields are each a `Vector4D` (`x y z w`). +Each keyframe is a `Keyframe` struct serialised as space-separated numbers. The `Value`, `InSlope`, `OutSlope`, `InWeight`, and `OutWeight` fields are each a `Vector4D` (`x y z w`). | Field | Type | Description | |---|---|---| -| `time` | float | Time position in seconds | -| `value` | vec4 | Animated value (only the components used by the target property are read) | -| `inSlope` | vec4 | Incoming tangent slope for cubic bezier interpolation | -| `outSlope` | vec4 | Outgoing tangent slope | -| `inWeight` | vec4 | Incoming tangent weight | -| `outWeight` | vec4 | Outgoing tangent weight | -| `tangentMode` | int | `0` = cubic bezier (default); any other value = linear | -| `weightedMode` | int | Whether tangent weights are active for this keyframe | +| `Time` | float | Time position in seconds | +| `Value` | vec4 | Animated value (only the components used by the target property are read) | +| `InSlope` | vec4 | Incoming tangent slope for cubic bezier interpolation | +| `OutSlope` | vec4 | Outgoing tangent slope | +| `InWeight` | vec4 | Incoming tangent weight | +| `OutWeight` | vec4 | Outgoing tangent weight | +| `TangentMode` | int | `0` = cubic bezier (default); any other value = linear | +| `WeightedMode` | int | Whether tangent weights are active for this keyframe | -**Compact XML syntax** — keyframe values are written as a space-separated sequence in the order: `time value.x value.y value.z value.w`: +> **Note — field names are case-sensitive in XML.** Write the attributes exactly as listed above. Lowercase names are rejected by the loader, e.g. `Could not set field 'time' on struct 'Keyframe'`. + +**Compact XML syntax** — each keyframe is a `` element with `Time` and `Value` attributes; `Value` is a space-separated sequence in the order `x y z w`: ```xml - - + + + + + + ``` -For scalar properties (e.g. `Opacity`, `FontSize`) only `value.x` is used. For two-component properties (e.g. `Position`) `value.x` and `value.y` are used, and so on. +For scalar properties (e.g. `Opacity`, `FontSize`) only `Value.x` is used. For two-component properties (e.g. `Position`) `Value.x` and `Value.y` are used, and so on. #### Tangent mode -| `tangentMode` | Interpolation | +| `TangentMode` | Interpolation | |---|---| | `0` | Cubic bezier (Unity-compatible, default) | | `1` | Linear | -When `tangentMode == 0` the cubic bezier control points are derived from the slopes and weights: +When `TangentMode == 0` the cubic bezier control points are derived from the slopes and weights: ``` -h0 = v0 + outSlope * outWeight * dt -h1 = v1 - inSlope * inWeight * dt +h0 = v0 + OutSlope * OutWeight * dt +h1 = v1 - InSlope * InWeight * dt ``` -where `dt = kf[j].time - kf[i].time`. +where `dt = kf[j].Time - kf[i].Time`. #### Bool properties @@ -144,6 +150,8 @@ local player = obj:addComponent("AnimationPlayer") obj.Clip = require("MyApp/Animations/FadeOut") ``` +> **Note — XML placement.** An `` XML element is an object of its own: it is a child of the element it is written in. `AnimationCurve.Path` is resolved relative to that player object, and `..` is supported, so `Path=".."` targets the element the player is written in. + ### Properties | Property | Type | Default | Description | @@ -160,6 +168,8 @@ obj.Clip = require("MyApp/Animations/FadeOut") | `DurationScale` | float | `0` | Additional speed multiplier applied on top of `Speed` (0 = no scaling) | | `RepeatCount` | int | `0` | How many times to repeat (`-1` = infinite, `0` = use clip's own mode) | +> **Note — scrubbing.** Setting `CurrentTime` while the player is not playing applies the clip at that time. This lets a clip be bound to an input value (for example a slider or a data value) instead of the clock. + ### `PlaybackMode` enum | Value | Behaviour | @@ -267,9 +277,9 @@ This internally creates a `PropertyAnimation` component component that removes i - - - + + + @@ -277,8 +287,8 @@ This internally creates a `PropertyAnimation` component component that removes i - - + + @@ -316,5 +326,5 @@ end) - **`StopTime = 0` means no automatic stop.** The player will advance `CurrentTime` indefinitely. Always set `StopTime` to a positive value when you want the clip to end. - **`DurationScale = 0` means no extra scaling.** The effective speed is `Speed * (DurationScale > 0 ? DurationScale : 1)`. Setting `DurationScale = 0` does *not* freeze playback. - **`AnimationClip.Mode` overrides player-level looping.** If you set `Mode="Loop"` on the clip, the player's `Looping` property and `PlaybackMode` are ignored. -- **Multi-component properties** (e.g. `Position` is a `vec2`). Write all relevant components in the keyframe's `value` field: `value="100 200 0 0"` for `x=100, y=200`. -- **Path targeting.** If `AnimationCurve.Path` is non-empty, the engine calls `OBJ_FindByPath` relative to the player's host object each frame. Keep paths short; use the empty string to target the host object itself. +- **Multi-component properties** (e.g. `Position` is a `vec2`). Write all relevant components in the keyframe's `Value` field: `Value="100 200 0 0"` for `x=100, y=200`. +- **Path targeting.** If `AnimationCurve.Path` is non-empty, the engine calls `OBJ_FindByPath` relative to the object that carries the `AnimationPlayer` each frame (for an `` XML element that is the player object itself, so use `..` to reach the enclosing element). Keep paths short; an empty path targets the object that carries the player. diff --git a/include/module.h b/include/module.h index 321bd96c..b5c42f2a 100644 --- a/include/module.h +++ b/include/module.h @@ -211,6 +211,7 @@ ORCA_API BOOL UI_GetObjectProperty(struct Object *, lpcString_t, LPPROPDEF); ORCA_API BOOL UI_GetProperty(DWORD, LPPROPDEF); ORCA_API void UI_RefreshProperty(DWORD); ORCA_API TIME UI_GetTime(void); +ORCA_API void core_AdvanceFrame(void); ORCA_API lpcString_t UI_LocalizeString(lpcString_t, LOCALE_TYPE); ORCA_API HRESULT UI_Save(lpcString_t); ORCA_API BOOL UI_GetObjectItem(struct Object *, LPOBJDEF); diff --git a/plugins/SceneKit/Model3D.c b/plugins/SceneKit/Model3D.c index 8af4ab77..ff37bf06 100644 --- a/plugins/SceneKit/Model3D.c +++ b/plugins/SceneKit/Model3D.c @@ -8,7 +8,7 @@ _CollectUniforms(struct Object *hObject, struct Material* mat, struct ViewEntity* ent, struct uniform* u, - uint32_t blendMode) + int blendMode) { ent->material.blendMode = (enum blend_mode)kBlendModeAlphaAutomatic; ent->material.uniforms = u; @@ -23,7 +23,9 @@ _CollectUniforms(struct Object *hObject, OBJ_GetUniforms(CMP_GetObject(mat), u + ent->material.numUniforms); } - if (blendMode != kBlendModeMixedAlpha) { + // The node's own Material.BlendMode only overrides when it names a real mode: + // unset reads back as -1 or AlphaAutomatic, which used to wipe out the material's. + if (blendMode > kBlendModeAlphaAutomatic && blendMode != kBlendModeMixedAlpha) { ent->material.blendMode = (enum blend_mode)blendMode; } } diff --git a/plugins/SceneKit/PlaneMeshNode.c b/plugins/SceneKit/PlaneMeshNode.c index 75ab6c92..0f0c8e8b 100644 --- a/plugins/SceneKit/PlaneMeshNode.c +++ b/plugins/SceneKit/PlaneMeshNode.c @@ -9,7 +9,7 @@ _CollectUniforms(struct Object *, struct Material*, struct ViewEntity*, struct uniform*, - uint32_t); + int); HANDLER(PlaneMeshNode, Node3D, Render) { diff --git a/plugins/SceneKit/PrefabView3D.c b/plugins/SceneKit/PrefabView3D.c index f6b76113..66f2a256 100644 --- a/plugins/SceneKit/PrefabView3D.c +++ b/plugins/SceneKit/PrefabView3D.c @@ -25,9 +25,12 @@ HANDLER(PrefabView3D, Object, PropertyChanged) HANDLER(PrefabView3D, Node, LoadView) { if (pPrefabView3D->Prefab && *pPrefabView3D->Prefab) { + uint32_t const prefab = fnv1a32(pPrefabView3D->Prefab); + if (pPrefabView3D->_loaded == prefab) return TRUE; OBJ_Clear(hObject); struct Object *loaded = FS_LoadObject(pPrefabView3D->Prefab); if (loaded) { + pPrefabView3D->_loaded = prefab; OBJ_AddChild(hObject, loaded); } else { Con_Error("Failed to load prefab '%s'", pPrefabView3D->Prefab); diff --git a/plugins/SceneKit/RenderPass.c b/plugins/SceneKit/RenderPass.c index fe7f65ce..cecc99b7 100644 --- a/plugins/SceneKit/RenderPass.c +++ b/plugins/SceneKit/RenderPass.c @@ -94,7 +94,7 @@ MAT4_Stereoperspective(float eyeOffset, float far) { struct mat4 out = MAT4_Identity(); - float radians = fov * 3.14159f / 360.0f; + float radians = fov * (float)M_PI / 360.0f; float f = 1.0f / tanf(radians); float width = f / aspectRatio; float height = f; @@ -124,11 +124,11 @@ static struct mat4 _GetProjectionMatrix(struct view_camera* c, struct ViewDef* vd) { float aspect = vd->viewSize.x / vd->viewSize.y; - float fov = (c->verticalFOV ? c->fov : (c->fov / aspect)) * 1.05f; + float fov = c->verticalFOV ? c->fov + : atanf(tanf(c->fov * (float)M_PI / 360.0f) / aspect) * 360.0f / (float)M_PI; float eye = 0.175f * vd->stereoSeparation; float dist = 50; struct mat4 out = MAT4_Stereoperspective(eye, dist, fov, aspect, c->zNear, c->zFar); - // out = MAT4_Perspective(fov * 1.05f, aspect, data->zNear, data->zFar); if (c->zPositive) { out.v[10] = -out.v[10]; diff --git a/plugins/SceneKit/SceneKit.cgen b/plugins/SceneKit/SceneKit.cgen index 38aa03ed..8f1b1c9c 100644 --- a/plugins/SceneKit/SceneKit.cgen +++ b/plugins/SceneKit/SceneKit.cgen @@ -131,11 +131,11 @@ 3D camera for scene viewing and projection configuration
Defines the viewpoint and projection parameters for rendering 3D scenes. Supports both perspective and orthographic projections with configurable field of view, clipping planes, and stereo rendering.
- Field of view angle in degrees (60-90 typical for perspective cameras) + Field of view angle in degrees (60-90 typical for perspective cameras) Whether field of view is measured horizontally or vertically Perspective or orthographic projection mode - Near clipping plane distance (objects closer than this are not rendered) - Far clipping plane distance (objects farther than this are not rendered) + Near clipping plane distance (objects closer than this are not rendered) + Far clipping plane distance (objects farther than this are not rendered) Distance between left and right eyes for stereoscopic rendering Focus distance for depth of field and stereo convergence Height of viewing volume for orthographic projection @@ -182,6 +182,9 @@ Path to prefab asset file to instantiate + + Hash of the prefab path currently instantiated + Base class for render pass components in the rendering pipeline @@ -246,6 +249,9 @@ + + Text colour (white when unset) + diff --git a/plugins/SceneKit/TextBlock3D.c b/plugins/SceneKit/TextBlock3D.c index 97014f3c..eb5c6aab 100644 --- a/plugins/SceneKit/TextBlock3D.c +++ b/plugins/SceneKit/TextBlock3D.c @@ -19,7 +19,7 @@ HANDLER(TextBlock3D, Node3D, Render) .bbox = BOX3_FromRect(((struct rect){-w/2,-h/2,w,h})), .material = (struct ViewMaterial) { .opacity = GetNode3D(hObject)->_opacity, - .color = {1,1,1,1}, + .color = pTextBlock3D->Color, // all zero (unset) draws white .texture = (struct Texture*)_SendMessage(hObject, TextBlockConcept, GetTexture), .blendMode = BLEND_MODE_PREMULTIPLIED_ALPHA, }, diff --git a/plugins/SceneKit/Viewport3D.c b/plugins/SceneKit/Viewport3D.c index 0d645067..860ac6a3 100644 --- a/plugins/SceneKit/Viewport3D.c +++ b/plugins/SceneKit/Viewport3D.c @@ -87,7 +87,9 @@ HANDLER(Viewport3D, Node2D, ForegroundContent) lpcString_t camera = Viewport3D_camera(hObject); bool_t camalias = camera && *camera == '#'; struct rect viewrect = _Node2D_GetRect(GetNode2D(hObject)); - struct rect scrnrect = _Node2D_GetRect(GetNode2D(screen)); + // Screen is a host object without a Node2D; fall back to the viewport's own rect. + struct Node2D *screen2D = screen ? GetNode2D(screen) : NULL; + struct rect scrnrect = screen2D ? _Node2D_GetRect(screen2D) : viewrect; // struct ViewEntity entity = { // .type = ET_VIEWPORT, diff --git a/plugins/UIKit/Screen.c b/plugins/UIKit/Screen.c index fcdfe154..fa55bbc6 100644 --- a/plugins/UIKit/Screen.c +++ b/plugins/UIKit/Screen.c @@ -261,6 +261,8 @@ draw_screen(struct Object* hObject, // Screen_Paint HANDLER(Screen, Window, Paint) { + // Every painted frame moves the engine clock; time-based animation reads it. + core_AdvanceFrame(); PROP_RunAllPrograms(hObject); R_BeginFrame(pScreen->ClearColor); diff --git a/premake5.lua b/premake5.lua index ad1a6a7e..09a2918e 100644 --- a/premake5.lua +++ b/premake5.lua @@ -376,9 +376,11 @@ project "orca-fbx" targetdir "build/bin" language "C++" files { - "source/tools/fbx-import.cpp" + "tools/fbx-import.cpp" } includedirs { + ".", + "generated", "/Applications/Autodesk/FBX SDK/2020.2/include" } libdirs { @@ -387,7 +389,11 @@ project "orca-fbx" links { "fbxsdk" } - + -- The static FBX SDK depends on these system libraries. + filter "system:macosx" + links { "CoreFoundation.framework", "iconv", "xml2", "z" } + filter {} + -- Helper targets newaction { trigger = "run", diff --git a/source/core/components/AnimationPlayer.c b/source/core/components/AnimationPlayer.c index 78b7ed13..e7e85e86 100644 --- a/source/core/components/AnimationPlayer.c +++ b/source/core/components/AnimationPlayer.c @@ -66,6 +66,43 @@ static float keyframe_evaluate(struct Keyframe const *kf, int n, float time, int return vec4_get(&kf[0].value, xyzw); } +// Apply every AnimationCurve of the clip to its target at the given time. +static void apply_clip(struct Object *hObject, struct AnimationClip *clip, float time) { + struct Object *clipObj = CMP_GetObject(clip); + if (!clipObj) return; + FOR_EACH_OBJECT(child, clipObj) { + struct AnimationCurve *curve = GetAnimationCurve(child); + if (!curve) continue; + if (!curve->Keyframes || curve->NumKeyframes == 0) continue; + if (!curve->Property || !curve->Property[0]) continue; + + struct Object *target = (curve->Path && curve->Path[0]) + ? OBJ_FindByPath(hObject, curve->Path) + : hObject; + if (!target) continue; + + struct Property *property = OBJ_FindShortProperty(target, fnv1a32(curve->Property)); + if (!property) continue; + + float value[4]; + for (int i = 0; i < 4; i++) { + value[i] = keyframe_evaluate(curve->Keyframes, curve->NumKeyframes, time, i); + } + + if (PROP_GetType(property) == kDataTypeBool) { + float prev = keyframe_evaluate( + curve->Keyframes, curve->NumKeyframes, time - BOOL_EDGE_DELTA, 0); + // Treat a rising edge (prev < current) differently from steady/falling. + if (prev < value[0]) { + value[0] = (value[0] >= 1.0f) ? 1.0f : 0.0f; + } else { + value[0] = (value[0] > 0.0f) ? 1.0f : 0.0f; + } + } + PROP_SetValue(property, value); + } +} + // AnimationPlayer_Start HANDLER(AnimationPlayer, Object, Start) { struct AnimationClip *clip = pAnimationPlayer->Clip; @@ -99,7 +136,8 @@ HANDLER(AnimationPlayer, Object, Animate) { // Initialise timing on the first frame after playback starts if (pAnimationPlayer->_prevRealtime == 0) { pAnimationPlayer->_prevRealtime = core.realtime; - return FALSE; + OBJ_RequestAnimate(hObject); // keep the loop alive: this frame only primes the clock + return TRUE; } float dt = (float)(core.realtime - pAnimationPlayer->_prevRealtime) / 1000.0f; @@ -107,44 +145,7 @@ HANDLER(AnimationPlayer, Object, Animate) { float scale = pAnimationPlayer->DurationScale > 0.0f ? pAnimationPlayer->DurationScale : 1.0f; pAnimationPlayer->CurrentTime += dt * pAnimationPlayer->Speed * scale; - // Evaluate all AnimationCurve child objects of the clip - struct Object *clipObj = CMP_GetObject(clip); - if (clipObj) { - FOR_EACH_OBJECT(child, clipObj) { - struct AnimationCurve *curve = GetAnimationCurve(child); - if (!curve) continue; - if (!curve->Keyframes || curve->NumKeyframes == 0) continue; - if (!curve->Property || !curve->Property[0]) continue; - - struct Object *target = (curve->Path && curve->Path[0]) - ? OBJ_FindByPath(hObject, curve->Path) - : hObject; - if (!target) continue; - - struct Property *property = OBJ_FindShortProperty(target, fnv1a32(curve->Property)); - if (!property) continue; - - float value[4]; - for (int i = 0; i < 4; i++) { - value[i] = keyframe_evaluate( - curve->Keyframes, curve->NumKeyframes, - pAnimationPlayer->CurrentTime, i); - } - - if (PROP_GetType(property) == kDataTypeBool) { - float prev = keyframe_evaluate( - curve->Keyframes, curve->NumKeyframes, - pAnimationPlayer->CurrentTime - BOOL_EDGE_DELTA, 0); - // Treat a rising edge (prev < current) differently from steady/falling. - if (prev < value[0]) { - value[0] = (value[0] >= 1.0f) ? 1.0f : 0.0f; - } else { - value[0] = (value[0] > 0.0f) ? 1.0f : 0.0f; - } - } - PROP_SetValue(property, value); - } - } + apply_clip(hObject, clip, pAnimationPlayer->CurrentTime); // Check for end of clip if (clip->StopTime > 0.0f) { @@ -192,6 +193,18 @@ HANDLER(AnimationPlayer, Object, Animate) { if (pAnimationPlayer->Playing) { OBJ_RequestAnimate(hObject); } + // Handled: the app loop answers with a paint, which is what advances core.realtime. + return TRUE; +} + +// AnimationPlayer_PropertyChanged +// Scrubbing: writing CurrentTime while the player is not playing poses the +// targets at that time, so a clip can be driven by a value instead of the clock. +HANDLER(AnimationPlayer, Object, PropertyChanged) { + if (!pPropertyChanged || !pPropertyChanged->Property) return FALSE; + if (PROP_GetLongIdentifier(pPropertyChanged->Property) != ID_AnimationPlayer_CurrentTime) return FALSE; + if (pAnimationPlayer->Playing || !pAnimationPlayer->Clip) return FALSE; + apply_clip(hObject, pAnimationPlayer->Clip, pAnimationPlayer->CurrentTime); return FALSE; } diff --git a/source/core/core.cgen b/source/core/core.cgen index 1c6948d5..9e1a553a 100644 --- a/source/core/core.cgen +++ b/source/core/core.cgen @@ -689,6 +689,7 @@ Do not query layout geometry or child tree in Create — hierarchy may be incomp + @@ -700,7 +701,7 @@ Do not query layout geometry or child tree in Create — hierarchy may be incomp Whether the animation is currently advancing each frame If true, the animation restarts from StartTime when it reaches StopTime Playback speed multiplier (1.0 = normal speed) - Current playback position within the animation in seconds + Current playback position within the animation in seconds. Setting it while the player is not playing applies the clip at that time (scrubbing) Enables or disables automatic playback on initialization. When true, playback is relative to the current state rather than starting from an absolute base state. Restores the original property values after the animation ends. diff --git a/source/core/core_main.c b/source/core/core_main.c index 825a9c47..09e85df3 100644 --- a/source/core/core_main.c +++ b/source/core/core_main.c @@ -540,7 +540,7 @@ static int f_parse_property(lua_State* L) { } } -void core_AdvanceFrame(void) { +ORCA_API void core_AdvanceFrame(void) { core.realtime = axGetMilliseconds(); core.frame++; } diff --git a/source/core/object/object_core.c b/source/core/object/object_core.c index 2c371898..2facf8eb 100644 --- a/source/core/object/object_core.c +++ b/source/core/object/object_core.c @@ -192,13 +192,13 @@ OBJ_AddComponentByName(lua_State* L, struct Object *pobj, lpcString_t className) static uint8_t find_tag(lpcString_t tag) { uint8_t i; - for (i = 0; i < MAX_TAGS; i++) { + for (i = 0; i < MAX_TAGS && *core.tags[i]; i++) { if (!strcmp(core.tags[i], tag)) { return i; } } if (i < MAX_TAGS) { - strcpy(core.tags[i], tag); + strncpy(core.tags[i], tag, sizeof(core.tags[i]) - 1); return i; } return 0xFF; @@ -210,7 +210,7 @@ ORCA_API objectTags_t GetTagsFromString(lpcString_t value) { for (lpcString_t tag = strtok(tmp, ","); tag; tag = strtok(NULL, ",")) { uint8_t tag_id = find_tag(tag); if (tag_id != 0xFF) { - tags |= (1 << tag_id); + tags |= ((objectTags_t)1 << tag_id); } } free(tmp); diff --git a/source/core/object/object_properties.c b/source/core/object/object_properties.c index e0a05769..9e4e3a15 100644 --- a/source/core/object/object_properties.c +++ b/source/core/object/object_properties.c @@ -58,7 +58,10 @@ OBJ_GetUniforms(struct Object *object, struct uniform* pUniforms) pUniforms->Type = UT_FLOAT_VEC4; PROP_CopyValue(property, pUniforms->Value); break; + default: + continue; } + break; case kDataTypeInt: case kDataTypeBool: case kDataTypeEnum: diff --git a/source/filesystem/fs_xml.c b/source/filesystem/fs_xml.c index 8693d485..db7c2fc4 100644 --- a/source/filesystem/fs_xml.c +++ b/source/filesystem/fs_xml.c @@ -609,7 +609,7 @@ node(struct _xmlNode* x, const struct ds_schema *schema, const char *entity_name } FOR_EACH_LIST(xmlNode, t, x->children) { - if (t->type == XML_TEXT_NODE && xmlStrlen(t->content) > 0) { + if ((t->type == XML_TEXT_NODE || t->type == XML_CDATA_SECTION_NODE) && xmlStrlen(t->content) > 0) { lpcString_t text = (lpcString_t)t->content; OBJ_SetTextContent(o, text); return o; diff --git a/source/renderer/r_shader.c b/source/renderer/r_shader.c index f75ffd19..37e9ad97 100644 --- a/source/renderer/r_shader.c +++ b/source/renderer/r_shader.c @@ -797,6 +797,20 @@ HANDLER(Shader, Object, Start) { for (struct Property *p=OBJ_GetProperties(hObject);p;p=PROP_GetNext(p)){ struct uniform_def ud = {0}; lpcString_t local = PROP_GetName(p); + switch (PROP_GetLongIdentifier(p)) { + case ID_Shader_BlendMode: + desc.UniversalTarget.HasBlendMode = TRUE; + desc.UniversalTarget.BlendMode = (enum blend_mode)pShader->BlendMode; + continue; + case ID_Shader_DepthTestFunction: + desc.UniversalTarget.HasDepthTestFunction = TRUE; + desc.UniversalTarget.DepthTestFunction = (enum compare_func)pShader->DepthTestFunction; + continue; + case ID_Shader_DepthWriteEnabled: + desc.UniversalTarget.HasDepthWriteEnabled = TRUE; + desc.UniversalTarget.DepthWriteEnabled = pShader->DepthWriteEnabled; + continue; + } if (strrchr(local, '.')) { local = strrchr(local, '.') + 1; } diff --git a/source/renderer/texture/r_texture.c b/source/renderer/texture/r_texture.c index 0e351d9d..ee5d7ed2 100644 --- a/source/renderer/texture/r_texture.c +++ b/source/renderer/texture/r_texture.c @@ -217,7 +217,9 @@ Texture_Create(PCREATEIMGSTRUCT _in, struct Texture** pImage) struct Texture* texture = ZeroAlloc(sizeof(struct Texture)); if (!texture) return E_OUTOFMEMORY; - if (_in->ImageData) { + // tr.buffer is 0 until the renderer has a GL context (headless tests never get one). + bool_t const has_gl = tr.buffer != 0; + if (_in->ImageData && has_gl) { R_Call(glGenTextures, 1, &texture->texnum); Texture_Reallocate(texture, _in); } @@ -225,7 +227,7 @@ Texture_Create(PCREATEIMGSTRUCT _in, struct Texture** pImage) texture->MagnificationFilter = _in->MagFilter; texture->WrapMode = _in->WrapMode; - R_ApplyImageParms(texture, GL_TEXTURE_2D, FALSE); + if (has_gl) R_ApplyImageParms(texture, GL_TEXTURE_2D, FALSE); *pImage = texture; diff --git a/tests/test_animations.lua b/tests/test_animations.lua index b15b3645..2aa795dd 100644 --- a/tests/test_animations.lua +++ b/tests/test_animations.lua @@ -315,6 +315,37 @@ local function test_animation_player_reverse_start() print("PASS: test_animation_player_reverse_start") end +-- --------------------------------------------------------------------------- +-- Test 15: Scrubbing: setting CurrentTime on a stopped player applies the clip +-- --------------------------------------------------------------------------- +local function test_animation_player_scrub() + local screen = ui.Screen { Width = 200, Height = 200, ResizeMode = "NoResize" } + local node = screen + ui.Node2D {} + + node:addComponentByName("AnimationPlayer") + + local clip = core.AnimationClip() + clip.StartTime = 0.0 + clip.StopTime = 1.0 + local curve = clip + core.AnimationCurve() + curve.Property = "Opacity" + -- Two keyframes with zeroed values: enough to tell "curve applied" (0) from + -- "untouched" (1) without depending on how keyframe values are filled in. + curve.Keyframes = { { Time = 0.0 }, { Time = 1.0 } } + node.Clip = clip + + node.Opacity = 1.0 + test.expect(not node.Playing, "player is stopped") + test.expect_near(node.Opacity, 1.0, 0.001, "assigning a clip does not touch the target") + + node.CurrentTime = 0.5 + test.expect_near(node.Opacity, 0.0, 0.001, "setting CurrentTime applies the clip") + test.expect(not node.Playing, "scrubbing does not start playback") + + node:removeFromParent() + print("PASS: test_animation_player_scrub") +end + -- --------------------------------------------------------------------------- -- Run all tests -- --------------------------------------------------------------------------- @@ -332,5 +363,6 @@ test_animation_player_and_dotween_coexist() test_animation_player_duration_scale() test_animation_player_playback_mode() test_animation_player_reverse_start() +test_animation_player_scrub() print("All animation tests passed.") diff --git a/tools/create-app.py b/tools/create-app.py index feef75de..f3d1753c 100644 --- a/tools/create-app.py +++ b/tools/create-app.py @@ -32,60 +32,72 @@ def ask_choice(q, choices, default=None): print(f" Please enter one of: {', '.join(choices)}") # --------------------------------------------------------------------------- -# package.xml generators +# package.lua generators +# +# The runtime loads only /package.lua. It is a declarative Lua chunk +# whose global assignments set properties of the Project object (see the +# Project class in source/filesystem/filesystem.cgen). # --------------------------------------------------------------------------- -def _system_messages(parent): - msgs = ET.SubElement(parent, "MessageLibrary", {"Name": "Messages"}) - for attrs, text in [ - ({"Message": "KeyDown", "Key": "q"}, "return"), - ({"Message": "WindowClosed"}, "return"), - ({"Message": "RequestReload"}, "window:refresh()"), - ]: - ET.SubElement(msgs, "SystemMessage", attrs).text = text - -def package_xml_script(name, flags, width, height): - """package.xml for moonscript/lua projects (ProjectReferenceLibrary style).""" - root = ET.Element("Project", { - "Name": name, - "StartupScreen": f"{name}/App", - "Width": str(width), - "Height": str(height), - }) - refs = ET.SubElement(root, "ProjectReferenceLibrary") - for k, v in { +SYSTEM_MESSAGES = [ + {"Message": "KeyDown", "Key": "q", "Command": "return"}, + {"Message": "WindowClosed", "Command": "return"}, + {"Message": "RequestReload", "Command": "window:refresh()"}, +] + +def _lua_value(v): + if isinstance(v, bool): + return "true" if v else "false" + if isinstance(v, int): + return str(v) + s = str(v).replace("\\", "\\\\").replace('"', '\\"').replace("\n", "\\n") + return f'"{s}"' + +def _lua_table(fields): + return "{ " + ", ".join(f"{k} = {_lua_value(v)}" for k, v in fields.items()) + " }" + +def _lua_array(name, items): + lines = [f"{name} = {{"] + lines += [f"\t{_lua_table(item)}," for item in items] + lines.append("}") + return lines + +def package_lua_script(name, flags, width, height): + """package.lua for moonscript/lua projects (ProjectReferences style).""" + refs = { "applications": "applications", "assets": "assets", "routing": "lib/routing", "model": "model", "config": "config", - }.items(): - ET.SubElement(refs, "ProjectReferenceItem", {"Name": k}).text = v + } for k in flags: if flags[k]: - ET.SubElement(refs, "ProjectReferenceItem", {"Name": k}).text = f"lib/{k}" - ET.SubElement(root, "FontLibrary", {"Name": "fonts"}) - _system_messages(root) - ET.indent(root, space=" ") - return ET.ElementTree(root) - -def package_xml_xml(name, width, height): - """package.xml for xml projects (ScreenLibrary style, like Example/Volcano).""" - root = ET.Element("Project", { - "Name": name, - "StartupScreen": f"{name}/Screens/App", - }) - ET.SubElement(root, "ScreenLibrary", {"Name": "Screens", "IsExternal": "true"}) - ET.SubElement(root, "FontLibrary", {"Name": "fonts"}) - sysmsg = ET.SubElement(root, "Project.SystemMessages") - for attrs in [ - {"Message": "KeyDown", "Key": "q", "Command": "return"}, - {"Message": "WindowClosed", "Command": "return"}, - {"Message": "RequestReload", "Command": "window:refresh()"}, - ]: - ET.SubElement(sysmsg, "SystemMessage", attrs) - ET.indent(root, space=" ") - return ET.ElementTree(root) + refs[k] = f"lib/{k}" + lines = [ + f"Name = {_lua_value(name)}", + f"StartupScreen = {_lua_value(f'{name}/App')}", + f"WindowWidth = {_lua_value(width)}", + f"WindowHeight = {_lua_value(height)}", + ] + lines += _lua_array("ProjectReferences", [{"Name": k, "Path": v} for k, v in refs.items()]) + lines.append(f"FontLibrary = {_lua_table({'Name': 'fonts'})}") + lines += _lua_array("SystemMessages", SYSTEM_MESSAGES) + return "\n".join(lines) + "\n" + +def package_lua_xml(name, width, height): + """package.lua for xml projects (ScreenLibrary style, like Example/Adventure).""" + lines = [ + f"Name = {_lua_value(name)}", + f"StartupScreen = {_lua_value(f'{name}/Screens/App')}", + f"WindowWidth = {_lua_value(width)}", + f"WindowHeight = {_lua_value(height)}", + f"ScreenLibrary = {_lua_table({'IsExternal': True})}", + f"FontLibrary = {_lua_table({'Name': 'fonts'})}", + ] + lines += _lua_array("SystemMessages", SYSTEM_MESSAGES) + lines += _lua_array("EnginePlugins", [{"Name": "orca.UIKit"}]) + return "\n".join(lines) + "\n" # --------------------------------------------------------------------------- # File generators: moonscript @@ -290,16 +302,14 @@ def main(): if language == "moonscript": create_moonscript(root_dir, name, flags) - package_xml_script(name, flags, width, height).write( - root_dir / "package.xml", encoding="utf-8", xml_declaration=True) + package = package_lua_script(name, flags, width, height) elif language == "lua": create_lua(root_dir, name, flags) - package_xml_script(name, flags, width, height).write( - root_dir / "package.xml", encoding="utf-8", xml_declaration=True) + package = package_lua_script(name, flags, width, height) elif language == "xml": create_xml(root_dir, name, width, height) - package_xml_xml(name, width, height).write( - root_dir / "package.xml", encoding="utf-8", xml_declaration=True) + package = package_lua_xml(name, width, height) + (root_dir / "package.lua").write_text(package, encoding="utf-8") active_libs = [k for k, v in flags.items() if v] summary = f"language={language}" diff --git a/tools/fbx-import.cpp b/tools/fbx-import.cpp index ebace2cc..ce6bc19c 100644 --- a/tools/fbx-import.cpp +++ b/tools/fbx-import.cpp @@ -9,13 +9,20 @@ extern "C" { #pragma GCC diagnostic ignored "-Wdocumentation-pedantic" #endif +// FBX SDK 2020.2 misspells this member inside a template that is never +// instantiated; recent clang rejects it anyway. +#define mLefttChild mLeftChild #include +#undef mLefttChild #if defined(__clang__) #pragma GCC diagnostic pop #endif #include +#include +#include +#include #include @@ -23,6 +30,9 @@ extern "C" { static int const IDMESHHEADER = MAKE_FOURCC('M', 'E', 'S', 'H'); +// Mirrors include/renderer.h, which this tool does not pull in. +struct color32 { unsigned char r, g, b, a; }; + typedef uint32_t DRAWINDEX, *PDRAWINDEX; typedef uint32_t DRAWSURFATTR, *PSURFATTR; @@ -120,7 +130,7 @@ static void API_Copy(const FbxColor &a, struct color32 &b) { color[0] = static_cast(a[0] * 255); color[1] = static_cast(a[1] * 255); color[2] = static_cast(a[2] * 255); - color[3] = 255; + color[3] = static_cast(a[3] * 255); memcpy(&b, color, 4); } @@ -364,8 +374,9 @@ static void API_SaveModel(FbxMesh *mesh, FbxScene *scene, PDRAWSURF model, lpcSt fwrite(&IDMESHHEADER, sizeof(IDMESHHEADER), 1, fp); int num_uv = std::min(3, mesh->GetElementUVCount()); - - uint32_t numAttributes = 4 + num_uv; + bool has_color = mesh->GetElementVertexColorCount() > 0; + + uint32_t numAttributes = 4 + num_uv + (has_color ? 1 : 0); fwrite(&model->numVertices, sizeof(model->numVertices), 1, fp); fwrite(&model->numIndices, sizeof(model->numIndices), 1, fp); @@ -397,6 +408,12 @@ static void API_SaveModel(FbxMesh *mesh, FbxScene *scene, PDRAWSURF model, lpcSt writeint(VERTEX_ATTR_DATATYPE_FLOAT32, fp); for (int i = 0; i < model->numVertices; writevec3(&model->vertices[i++].tangent, fp, 1, axis)); + if (has_color) { + writeint(VERTEX_SEMANTIC_COLOR, fp); + writeint(VERTEX_ATTR_DATATYPE_UINT8 | VERTEX_ATTR_DATATYPE_NORMALIZED, fp); + for (int i = 0; i < model->numVertices; fwrite(&model->vertices[i++].color, sizeof(struct color32), 1, fp)); + } + for (int j = 0; j < num_uv; j++) { writeint(VERTEX_SEMANTIC_TEXCOORD0+j, fp); writeint(VERTEX_ATTR_DATATYPE_FLOAT32, fp); @@ -440,7 +457,7 @@ static void ExportMesh(FbxMesh *mesh, lpcString_t directory) { FbxAMatrix rotationMatrix; rotationMatrix.SetR(geomTrans.GetR()); // Extract just rotation - for (int i = 0, v = 0; i < numPolygons; i++, v += mesh->GetPolygonSize(i)) { + for (int i = 0, v = 0; i < numPolygons; v += mesh->GetPolygonSize(i), i++) { std::vector *ptrIndices = &outIndices; if (materials) { auto k = materials->GetIndexArray().GetAt(i); @@ -460,6 +477,7 @@ static void ExportMesh(FbxMesh *mesh, lpcString_t directory) { for (int k = 0; k < 3; k++) { DRAWVERT vtx; uint32_t index; + memset(&vtx, 0, sizeof(vtx)); auto index0 = v + k; auto index1 = mesh->GetPolygonVertex(i, k); @@ -549,25 +567,19 @@ void ConvertCollada(lpcString_t input, lpcString_t output) {} int main(int argc, lpcString_t argv[]) { if (argc < 3) { - Con_Error("fbxtool usage:"); - Con_Error("fbxtool [-options] [input] [output]"); - return 0; + fprintf(stderr, "usage: orca-fbx \n" + "Writes one .mesh per mesh node into the directory.\n"); + return 1; } lpcString_t input = argv[1]; lpcString_t output = argv[2]; - -// input = "/Users/igor/Developer/titanium-ui/Titanium/MB/03_Contexts/01_Classic/00_Resources/Views/ArtRing/3D/230616_MB_CC_ART_Ring_+_Marker v2.fbx"; -// output = "/Users/igor/Developer/titanium-ui-orca/Titanium/MB/03_Contexts/01_Classic/00_Resources/Views/ArtRing/3D/230616_MB_CC_ART_Ring_+_Marker v2"; - -// input = "/Users/igor/Developer/titanium-ui/Titanium/MB/03_Contexts/01_Classic/00_Resources/Views/Tube/3D/MB_CC_Tube_Shine.fbx"; -// output = "/Users/igor/Developer/titanium-ui-orca/Titanium/MB/03_Contexts/01_Classic/00_Resources/Views/Tube/3D/MB_CC_Tube_Shine"; + int status = 0; -// input = "/Users/igor/Developer/titanium-ui/Titanium/MB/02_GlobalElements/MB_Startup/3D/MB_Star.fbx"; -// output = "/Users/igor/Developer/titanium-ui-orca/Titanium/MB/02_GlobalElements/MB_Startup/3D/MB_Star"; + if (mkdir(output, 0755) != 0 && errno != EEXIST) { + Con_Error("Can not create directory %s", output); + return 1; + } - input = "/Users/igor/Developer/titanium-ui/Titanium/MB/02_GlobalElements/MB_Startup/3D/light_shadow.fbx"; - output = "/Users/igor/Developer/titanium-ui-orca/Titanium/MB/02_GlobalElements/MB_Startup/3D/light_shadow"; - FbxManager *manager = FbxManager::Create(); FbxImporter *importer = FbxImporter::Create(manager, ""); FbxIOSettings *iosettings = FbxIOSettings::Create(manager, IOSROOT); @@ -590,16 +602,18 @@ int main(int argc, lpcString_t argv[]) { } else { FbxString error = importer->GetStatus().GetErrorString(); FBXSDK_printf("FbxImporter::Import(): %s\n\n", error.Buffer()); + status = 1; } scene->Destroy(); } else { FbxString error = importer->GetStatus().GetErrorString(); FBXSDK_printf("FbxImporter::Initialize(): %s\n\n", error.Buffer()); + status = 1; } iosettings->Destroy(); importer->Destroy(); manager->Destroy(); - return 0; + return status; } From 47c2a8083835ace2da4729107325963622550916 Mon Sep 17 00:00:00 2001 From: Igor Chernakov Date: Fri, 2 Oct 2026 22:22:53 +0200 Subject: [PATCH 2/3] Add Blender exporter and the cluster-demo app tools/blender-export.py runs inside Blender and writes an ORCA project's 3D assets from the open file: meshes (FBX through orca-fbx), one Shader per shader node group with a ".frag" text block, one Material per Blender material (uniforms read from the group node's inputs), AnimationClips from actions, a scene prefab with one AnimationPlayer per clip, and a first-time package.lua and screen. apps/cluster-demo is its first output: a 1920x720 digital instrument cluster built procedurally in Blender (blender/build_cluster.py, blender/cluster.blend). Every gauge has a linear fill-up clip; the app drives a gauge by setting its player's CurrentTime, and Animations.lua names each clip's signal and range. Demo/FillAll.xml scrubs all gauges together as a stand-in for real inputs. .mesh files are ignored by .gitignore, so Meshes/ only carries the declarations; run the exporter to regenerate the binary meshes. Co-Authored-By: Claude Fable 5.1 --- apps/cluster-demo/Animations.lua | 9 + apps/cluster-demo/Animations/Gauge_Boost.xml | 9 + apps/cluster-demo/Animations/Gauge_Oil.xml | 9 + apps/cluster-demo/Animations/Gauge_Range.xml | 9 + apps/cluster-demo/Animations/Gauge_Rev.xml | 15 + apps/cluster-demo/Animations/Gauge_Water.xml | 9 + apps/cluster-demo/Demo/DriveCycle.xml | 54 ++ apps/cluster-demo/Demo/FillAll.xml | 50 ++ .../cluster-demo/Materials/IC_AmbientCool.xml | 2 + .../cluster-demo/Materials/IC_AmbientDial.xml | 2 + apps/cluster-demo/Materials/IC_AmbientRed.xml | 2 + apps/cluster-demo/Materials/IC_BarTrack.xml | 2 + apps/cluster-demo/Materials/IC_Bar_Boost.xml | 2 + apps/cluster-demo/Materials/IC_Bar_Oil.xml | 2 + apps/cluster-demo/Materials/IC_Bar_Water.xml | 2 + apps/cluster-demo/Materials/IC_BezelGlow.xml | 2 + apps/cluster-demo/Materials/IC_Card.xml | 2 + apps/cluster-demo/Materials/IC_CardEdge.xml | 2 + apps/cluster-demo/Materials/IC_Chevron.xml | 2 + .../cluster-demo/Materials/IC_ChevronGlow.xml | 2 + apps/cluster-demo/Materials/IC_ChipEdge.xml | 2 + apps/cluster-demo/Materials/IC_DialBezel.xml | 2 + apps/cluster-demo/Materials/IC_DialFace.xml | 2 + apps/cluster-demo/Materials/IC_Green.xml | 2 + apps/cluster-demo/Materials/IC_GreenDim.xml | 2 + apps/cluster-demo/Materials/IC_Grey.xml | 2 + apps/cluster-demo/Materials/IC_Hub.xml | 2 + apps/cluster-demo/Materials/IC_HubGroove.xml | 2 + apps/cluster-demo/Materials/IC_HubRing.xml | 2 + apps/cluster-demo/Materials/IC_Needle.xml | 2 + apps/cluster-demo/Materials/IC_NeedleGlow.xml | 2 + apps/cluster-demo/Materials/IC_PanelPlate.xml | 2 + apps/cluster-demo/Materials/IC_RangeFill.xml | 2 + apps/cluster-demo/Materials/IC_Red.xml | 2 + apps/cluster-demo/Materials/IC_RedDim.xml | 2 + apps/cluster-demo/Materials/IC_RevRim.xml | 2 + apps/cluster-demo/Materials/IC_RevRimGlow.xml | 2 + apps/cluster-demo/Materials/IC_RevSweep.xml | 2 + apps/cluster-demo/Materials/IC_TickMinor.xml | 2 + apps/cluster-demo/Materials/IC_White.xml | 2 + apps/cluster-demo/Meshes/Ambient_DialCool.xml | 2 + apps/cluster-demo/Meshes/Ambient_DialRed.xml | 2 + apps/cluster-demo/Meshes/Ambient_LeftRed.xml | 2 + apps/cluster-demo/Meshes/Ambient_RightRed.xml | 2 + apps/cluster-demo/Meshes/Gear_Mode.xml | 2 + apps/cluster-demo/Meshes/Gear_Number.xml | 2 + apps/cluster-demo/Meshes/Lap_Best.xml | 2 + apps/cluster-demo/Meshes/Lap_BestLabel.xml | 2 + apps/cluster-demo/Meshes/Lap_Car.xml | 2 + apps/cluster-demo/Meshes/Lap_Chevron.xml | 2 + apps/cluster-demo/Meshes/Lap_ChevronGlow.xml | 2 + apps/cluster-demo/Meshes/Lap_Circuit.xml | 2 + apps/cluster-demo/Meshes/Lap_CircuitDone.xml | 2 + apps/cluster-demo/Meshes/Lap_Count.xml | 2 + apps/cluster-demo/Meshes/Lap_Delta.xml | 2 + apps/cluster-demo/Meshes/Lap_Last.xml | 2 + apps/cluster-demo/Meshes/Lap_LastLabel.xml | 2 + apps/cluster-demo/Meshes/Lap_MapCard.xml | 2 + apps/cluster-demo/Meshes/Lap_MapCard_Edge.xml | 2 + apps/cluster-demo/Meshes/Lap_Plate.xml | 2 + apps/cluster-demo/Meshes/Lap_Time.xml | 2 + apps/cluster-demo/Meshes/Lap_TimesCard.xml | 2 + .../Meshes/Lap_TimesCard_Edge.xml | 2 + apps/cluster-demo/Meshes/Rev_Bezel.xml | 2 + apps/cluster-demo/Meshes/Rev_BezelGlow.xml | 2 + apps/cluster-demo/Meshes/Rev_Face.xml | 2 + apps/cluster-demo/Meshes/Rev_Hub.xml | 2 + apps/cluster-demo/Meshes/Rev_HubGroove.xml | 2 + apps/cluster-demo/Meshes/Rev_HubRing.xml | 2 + apps/cluster-demo/Meshes/Rev_Needle.xml | 2 + apps/cluster-demo/Meshes/Rev_NeedleGlow.xml | 2 + apps/cluster-demo/Meshes/Rev_Num0.xml | 2 + apps/cluster-demo/Meshes/Rev_Num1.xml | 2 + apps/cluster-demo/Meshes/Rev_Num2.xml | 2 + apps/cluster-demo/Meshes/Rev_Num3.xml | 2 + apps/cluster-demo/Meshes/Rev_Num4.xml | 2 + apps/cluster-demo/Meshes/Rev_Num5.xml | 2 + apps/cluster-demo/Meshes/Rev_Num6.xml | 2 + apps/cluster-demo/Meshes/Rev_Num7.xml | 2 + apps/cluster-demo/Meshes/Rev_Num8.xml | 2 + apps/cluster-demo/Meshes/Rev_RedZone.xml | 2 + apps/cluster-demo/Meshes/Rev_Rim.xml | 2 + apps/cluster-demo/Meshes/Rev_RimGlow.xml | 2 + apps/cluster-demo/Meshes/Rev_Scale.xml | 2 + apps/cluster-demo/Meshes/Rev_Speed.xml | 2 + apps/cluster-demo/Meshes/Rev_SpeedUnit.xml | 2 + apps/cluster-demo/Meshes/Rev_Sweep.xml | 2 + apps/cluster-demo/Meshes/Rev_TicksFine.xml | 2 + apps/cluster-demo/Meshes/Rev_TicksMajor.xml | 2 + .../cluster-demo/Meshes/Rev_TicksMajorRed.xml | 2 + apps/cluster-demo/Meshes/Rev_TicksMinor.xml | 2 + apps/cluster-demo/Meshes/Turn_Left.xml | 2 + apps/cluster-demo/Meshes/Turn_Right.xml | 2 + apps/cluster-demo/Meshes/Vitals_BOOST_Bar.xml | 2 + .../Meshes/Vitals_BOOST_Caption.xml | 2 + .../Meshes/Vitals_BOOST_Label.xml | 2 + .../Meshes/Vitals_BOOST_Value.xml | 2 + apps/cluster-demo/Meshes/Vitals_Chevron.xml | 2 + .../Meshes/Vitals_ChevronGlow.xml | 2 + apps/cluster-demo/Meshes/Vitals_ModeA.xml | 2 + apps/cluster-demo/Meshes/Vitals_ModeB.xml | 2 + apps/cluster-demo/Meshes/Vitals_ModeCard.xml | 2 + .../Meshes/Vitals_ModeCard_Edge.xml | 2 + apps/cluster-demo/Meshes/Vitals_OIL_Bar.xml | 2 + .../Meshes/Vitals_OIL_Caption.xml | 2 + apps/cluster-demo/Meshes/Vitals_OIL_Label.xml | 2 + apps/cluster-demo/Meshes/Vitals_OIL_Value.xml | 2 + apps/cluster-demo/Meshes/Vitals_Plate.xml | 2 + apps/cluster-demo/Meshes/Vitals_Range.xml | 2 + .../cluster-demo/Meshes/Vitals_RangeLabel.xml | 2 + .../cluster-demo/Meshes/Vitals_RangeLevel.xml | 2 + .../cluster-demo/Meshes/Vitals_RangeTrack.xml | 2 + apps/cluster-demo/Meshes/Vitals_Selection.xml | 2 + .../Meshes/Vitals_Selection_Edge.xml | 2 + apps/cluster-demo/Meshes/Vitals_WATER_Bar.xml | 2 + .../Meshes/Vitals_WATER_Caption.xml | 2 + .../Meshes/Vitals_WATER_Label.xml | 2 + .../Meshes/Vitals_WATER_Value.xml | 2 + apps/cluster-demo/Scenes/Cluster.xml | 97 +++ apps/cluster-demo/Screens/Cluster.xml | 14 + apps/cluster-demo/Shaders/IC_Flat.xml | 24 + apps/cluster-demo/Shaders/IC_Gradient.xml | 30 + apps/cluster-demo/Shaders/IC_RadialGlow.xml | 25 + apps/cluster-demo/Shaders/IC_Segments.xml | 25 + apps/cluster-demo/Shaders/IC_SpunMetal.xml | 30 + apps/cluster-demo/Shaders/IC_Sweep.xml | 28 + apps/cluster-demo/blender/build_cluster.py | 771 ++++++++++++++++++ apps/cluster-demo/blender/cluster.blend | Bin 0 -> 647186 bytes apps/cluster-demo/package.lua | 42 + tools/blender-export.py | 541 ++++++++++++ 130 files changed, 2011 insertions(+) create mode 100644 apps/cluster-demo/Animations.lua create mode 100644 apps/cluster-demo/Animations/Gauge_Boost.xml create mode 100644 apps/cluster-demo/Animations/Gauge_Oil.xml create mode 100644 apps/cluster-demo/Animations/Gauge_Range.xml create mode 100644 apps/cluster-demo/Animations/Gauge_Rev.xml create mode 100644 apps/cluster-demo/Animations/Gauge_Water.xml create mode 100644 apps/cluster-demo/Demo/DriveCycle.xml create mode 100644 apps/cluster-demo/Demo/FillAll.xml create mode 100644 apps/cluster-demo/Materials/IC_AmbientCool.xml create mode 100644 apps/cluster-demo/Materials/IC_AmbientDial.xml create mode 100644 apps/cluster-demo/Materials/IC_AmbientRed.xml create mode 100644 apps/cluster-demo/Materials/IC_BarTrack.xml create mode 100644 apps/cluster-demo/Materials/IC_Bar_Boost.xml create mode 100644 apps/cluster-demo/Materials/IC_Bar_Oil.xml create mode 100644 apps/cluster-demo/Materials/IC_Bar_Water.xml create mode 100644 apps/cluster-demo/Materials/IC_BezelGlow.xml create mode 100644 apps/cluster-demo/Materials/IC_Card.xml create mode 100644 apps/cluster-demo/Materials/IC_CardEdge.xml create mode 100644 apps/cluster-demo/Materials/IC_Chevron.xml create mode 100644 apps/cluster-demo/Materials/IC_ChevronGlow.xml create mode 100644 apps/cluster-demo/Materials/IC_ChipEdge.xml create mode 100644 apps/cluster-demo/Materials/IC_DialBezel.xml create mode 100644 apps/cluster-demo/Materials/IC_DialFace.xml create mode 100644 apps/cluster-demo/Materials/IC_Green.xml create mode 100644 apps/cluster-demo/Materials/IC_GreenDim.xml create mode 100644 apps/cluster-demo/Materials/IC_Grey.xml create mode 100644 apps/cluster-demo/Materials/IC_Hub.xml create mode 100644 apps/cluster-demo/Materials/IC_HubGroove.xml create mode 100644 apps/cluster-demo/Materials/IC_HubRing.xml create mode 100644 apps/cluster-demo/Materials/IC_Needle.xml create mode 100644 apps/cluster-demo/Materials/IC_NeedleGlow.xml create mode 100644 apps/cluster-demo/Materials/IC_PanelPlate.xml create mode 100644 apps/cluster-demo/Materials/IC_RangeFill.xml create mode 100644 apps/cluster-demo/Materials/IC_Red.xml create mode 100644 apps/cluster-demo/Materials/IC_RedDim.xml create mode 100644 apps/cluster-demo/Materials/IC_RevRim.xml create mode 100644 apps/cluster-demo/Materials/IC_RevRimGlow.xml create mode 100644 apps/cluster-demo/Materials/IC_RevSweep.xml create mode 100644 apps/cluster-demo/Materials/IC_TickMinor.xml create mode 100644 apps/cluster-demo/Materials/IC_White.xml create mode 100644 apps/cluster-demo/Meshes/Ambient_DialCool.xml create mode 100644 apps/cluster-demo/Meshes/Ambient_DialRed.xml create mode 100644 apps/cluster-demo/Meshes/Ambient_LeftRed.xml create mode 100644 apps/cluster-demo/Meshes/Ambient_RightRed.xml create mode 100644 apps/cluster-demo/Meshes/Gear_Mode.xml create mode 100644 apps/cluster-demo/Meshes/Gear_Number.xml create mode 100644 apps/cluster-demo/Meshes/Lap_Best.xml create mode 100644 apps/cluster-demo/Meshes/Lap_BestLabel.xml create mode 100644 apps/cluster-demo/Meshes/Lap_Car.xml create mode 100644 apps/cluster-demo/Meshes/Lap_Chevron.xml create mode 100644 apps/cluster-demo/Meshes/Lap_ChevronGlow.xml create mode 100644 apps/cluster-demo/Meshes/Lap_Circuit.xml create mode 100644 apps/cluster-demo/Meshes/Lap_CircuitDone.xml create mode 100644 apps/cluster-demo/Meshes/Lap_Count.xml create mode 100644 apps/cluster-demo/Meshes/Lap_Delta.xml create mode 100644 apps/cluster-demo/Meshes/Lap_Last.xml create mode 100644 apps/cluster-demo/Meshes/Lap_LastLabel.xml create mode 100644 apps/cluster-demo/Meshes/Lap_MapCard.xml create mode 100644 apps/cluster-demo/Meshes/Lap_MapCard_Edge.xml create mode 100644 apps/cluster-demo/Meshes/Lap_Plate.xml create mode 100644 apps/cluster-demo/Meshes/Lap_Time.xml create mode 100644 apps/cluster-demo/Meshes/Lap_TimesCard.xml create mode 100644 apps/cluster-demo/Meshes/Lap_TimesCard_Edge.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Bezel.xml create mode 100644 apps/cluster-demo/Meshes/Rev_BezelGlow.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Face.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Hub.xml create mode 100644 apps/cluster-demo/Meshes/Rev_HubGroove.xml create mode 100644 apps/cluster-demo/Meshes/Rev_HubRing.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Needle.xml create mode 100644 apps/cluster-demo/Meshes/Rev_NeedleGlow.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Num0.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Num1.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Num2.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Num3.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Num4.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Num5.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Num6.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Num7.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Num8.xml create mode 100644 apps/cluster-demo/Meshes/Rev_RedZone.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Rim.xml create mode 100644 apps/cluster-demo/Meshes/Rev_RimGlow.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Scale.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Speed.xml create mode 100644 apps/cluster-demo/Meshes/Rev_SpeedUnit.xml create mode 100644 apps/cluster-demo/Meshes/Rev_Sweep.xml create mode 100644 apps/cluster-demo/Meshes/Rev_TicksFine.xml create mode 100644 apps/cluster-demo/Meshes/Rev_TicksMajor.xml create mode 100644 apps/cluster-demo/Meshes/Rev_TicksMajorRed.xml create mode 100644 apps/cluster-demo/Meshes/Rev_TicksMinor.xml create mode 100644 apps/cluster-demo/Meshes/Turn_Left.xml create mode 100644 apps/cluster-demo/Meshes/Turn_Right.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_BOOST_Bar.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_BOOST_Caption.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_BOOST_Label.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_BOOST_Value.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_Chevron.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_ChevronGlow.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_ModeA.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_ModeB.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_ModeCard.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_ModeCard_Edge.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_OIL_Bar.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_OIL_Caption.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_OIL_Label.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_OIL_Value.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_Plate.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_Range.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_RangeLabel.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_RangeLevel.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_RangeTrack.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_Selection.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_Selection_Edge.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_WATER_Bar.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_WATER_Caption.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_WATER_Label.xml create mode 100644 apps/cluster-demo/Meshes/Vitals_WATER_Value.xml create mode 100644 apps/cluster-demo/Scenes/Cluster.xml create mode 100644 apps/cluster-demo/Screens/Cluster.xml create mode 100644 apps/cluster-demo/Shaders/IC_Flat.xml create mode 100644 apps/cluster-demo/Shaders/IC_Gradient.xml create mode 100644 apps/cluster-demo/Shaders/IC_RadialGlow.xml create mode 100644 apps/cluster-demo/Shaders/IC_Segments.xml create mode 100644 apps/cluster-demo/Shaders/IC_SpunMetal.xml create mode 100644 apps/cluster-demo/Shaders/IC_Sweep.xml create mode 100644 apps/cluster-demo/blender/build_cluster.py create mode 100644 apps/cluster-demo/blender/cluster.blend create mode 100644 apps/cluster-demo/package.lua create mode 100644 tools/blender-export.py diff --git a/apps/cluster-demo/Animations.lua b/apps/cluster-demo/Animations.lua new file mode 100644 index 00000000..9efba8c3 --- /dev/null +++ b/apps/cluster-demo/Animations.lua @@ -0,0 +1,9 @@ +-- Generated by tools/blender-export.py. One entry per exported animation clip. +-- Scrub a clip by setting CurrentTime on its player node: time = Duration * (value - Min) / (Max - Min). +return { + Gauge_Boost = { Player = "Animations/Gauge_Boost", Duration = 1, Signal = "boost_bar", Min = 0, Max = 2.5 }, + Gauge_Oil = { Player = "Animations/Gauge_Oil", Duration = 1, Signal = "oil_temp_c", Min = 50, Max = 150 }, + Gauge_Range = { Player = "Animations/Gauge_Range", Duration = 1, Signal = "fuel_level", Min = 0, Max = 1 }, + Gauge_Rev = { Player = "Animations/Gauge_Rev", Duration = 1, Signal = "rpm", Min = 0, Max = 8000 }, + Gauge_Water = { Player = "Animations/Gauge_Water", Duration = 1, Signal = "water_temp_c", Min = 50, Max = 130 }, +} diff --git a/apps/cluster-demo/Animations/Gauge_Boost.xml b/apps/cluster-demo/Animations/Gauge_Boost.xml new file mode 100644 index 00000000..1047a5ef --- /dev/null +++ b/apps/cluster-demo/Animations/Gauge_Boost.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/cluster-demo/Animations/Gauge_Oil.xml b/apps/cluster-demo/Animations/Gauge_Oil.xml new file mode 100644 index 00000000..870f9b25 --- /dev/null +++ b/apps/cluster-demo/Animations/Gauge_Oil.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/cluster-demo/Animations/Gauge_Range.xml b/apps/cluster-demo/Animations/Gauge_Range.xml new file mode 100644 index 00000000..9b997312 --- /dev/null +++ b/apps/cluster-demo/Animations/Gauge_Range.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/cluster-demo/Animations/Gauge_Rev.xml b/apps/cluster-demo/Animations/Gauge_Rev.xml new file mode 100644 index 00000000..6e8f063d --- /dev/null +++ b/apps/cluster-demo/Animations/Gauge_Rev.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/apps/cluster-demo/Animations/Gauge_Water.xml b/apps/cluster-demo/Animations/Gauge_Water.xml new file mode 100644 index 00000000..d6498a6e --- /dev/null +++ b/apps/cluster-demo/Animations/Gauge_Water.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/cluster-demo/Demo/DriveCycle.xml b/apps/cluster-demo/Demo/DriveCycle.xml new file mode 100644 index 00000000..aeacb27b --- /dev/null +++ b/apps/cluster-demo/Demo/DriveCycle.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/cluster-demo/Demo/FillAll.xml b/apps/cluster-demo/Demo/FillAll.xml new file mode 100644 index 00000000..f83cfa53 --- /dev/null +++ b/apps/cluster-demo/Demo/FillAll.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/cluster-demo/Materials/IC_AmbientCool.xml b/apps/cluster-demo/Materials/IC_AmbientCool.xml new file mode 100644 index 00000000..2541166e --- /dev/null +++ b/apps/cluster-demo/Materials/IC_AmbientCool.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_AmbientDial.xml b/apps/cluster-demo/Materials/IC_AmbientDial.xml new file mode 100644 index 00000000..40216ee3 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_AmbientDial.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_AmbientRed.xml b/apps/cluster-demo/Materials/IC_AmbientRed.xml new file mode 100644 index 00000000..db2a2cfb --- /dev/null +++ b/apps/cluster-demo/Materials/IC_AmbientRed.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_BarTrack.xml b/apps/cluster-demo/Materials/IC_BarTrack.xml new file mode 100644 index 00000000..453dc722 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_BarTrack.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_Bar_Boost.xml b/apps/cluster-demo/Materials/IC_Bar_Boost.xml new file mode 100644 index 00000000..18b56df5 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_Bar_Boost.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_Bar_Oil.xml b/apps/cluster-demo/Materials/IC_Bar_Oil.xml new file mode 100644 index 00000000..6caceb9c --- /dev/null +++ b/apps/cluster-demo/Materials/IC_Bar_Oil.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_Bar_Water.xml b/apps/cluster-demo/Materials/IC_Bar_Water.xml new file mode 100644 index 00000000..7fdf67d1 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_Bar_Water.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_BezelGlow.xml b/apps/cluster-demo/Materials/IC_BezelGlow.xml new file mode 100644 index 00000000..7808ddcb --- /dev/null +++ b/apps/cluster-demo/Materials/IC_BezelGlow.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_Card.xml b/apps/cluster-demo/Materials/IC_Card.xml new file mode 100644 index 00000000..699ef0ab --- /dev/null +++ b/apps/cluster-demo/Materials/IC_Card.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_CardEdge.xml b/apps/cluster-demo/Materials/IC_CardEdge.xml new file mode 100644 index 00000000..06127893 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_CardEdge.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_Chevron.xml b/apps/cluster-demo/Materials/IC_Chevron.xml new file mode 100644 index 00000000..1c3d4af4 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_Chevron.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_ChevronGlow.xml b/apps/cluster-demo/Materials/IC_ChevronGlow.xml new file mode 100644 index 00000000..7fde7f81 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_ChevronGlow.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_ChipEdge.xml b/apps/cluster-demo/Materials/IC_ChipEdge.xml new file mode 100644 index 00000000..1d56e3c4 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_ChipEdge.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_DialBezel.xml b/apps/cluster-demo/Materials/IC_DialBezel.xml new file mode 100644 index 00000000..d4c5868d --- /dev/null +++ b/apps/cluster-demo/Materials/IC_DialBezel.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_DialFace.xml b/apps/cluster-demo/Materials/IC_DialFace.xml new file mode 100644 index 00000000..54550ea5 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_DialFace.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_Green.xml b/apps/cluster-demo/Materials/IC_Green.xml new file mode 100644 index 00000000..c88022f7 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_Green.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_GreenDim.xml b/apps/cluster-demo/Materials/IC_GreenDim.xml new file mode 100644 index 00000000..defb09d7 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_GreenDim.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_Grey.xml b/apps/cluster-demo/Materials/IC_Grey.xml new file mode 100644 index 00000000..28ecc969 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_Grey.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_Hub.xml b/apps/cluster-demo/Materials/IC_Hub.xml new file mode 100644 index 00000000..29100bc9 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_Hub.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_HubGroove.xml b/apps/cluster-demo/Materials/IC_HubGroove.xml new file mode 100644 index 00000000..cdb72f77 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_HubGroove.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_HubRing.xml b/apps/cluster-demo/Materials/IC_HubRing.xml new file mode 100644 index 00000000..2de0f375 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_HubRing.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_Needle.xml b/apps/cluster-demo/Materials/IC_Needle.xml new file mode 100644 index 00000000..5382ec12 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_Needle.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_NeedleGlow.xml b/apps/cluster-demo/Materials/IC_NeedleGlow.xml new file mode 100644 index 00000000..f0c5a8f7 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_NeedleGlow.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_PanelPlate.xml b/apps/cluster-demo/Materials/IC_PanelPlate.xml new file mode 100644 index 00000000..5ca11b8e --- /dev/null +++ b/apps/cluster-demo/Materials/IC_PanelPlate.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_RangeFill.xml b/apps/cluster-demo/Materials/IC_RangeFill.xml new file mode 100644 index 00000000..02bccdaa --- /dev/null +++ b/apps/cluster-demo/Materials/IC_RangeFill.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_Red.xml b/apps/cluster-demo/Materials/IC_Red.xml new file mode 100644 index 00000000..567f4414 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_Red.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_RedDim.xml b/apps/cluster-demo/Materials/IC_RedDim.xml new file mode 100644 index 00000000..ec4b5b7c --- /dev/null +++ b/apps/cluster-demo/Materials/IC_RedDim.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_RevRim.xml b/apps/cluster-demo/Materials/IC_RevRim.xml new file mode 100644 index 00000000..71f923bd --- /dev/null +++ b/apps/cluster-demo/Materials/IC_RevRim.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_RevRimGlow.xml b/apps/cluster-demo/Materials/IC_RevRimGlow.xml new file mode 100644 index 00000000..64aa59dc --- /dev/null +++ b/apps/cluster-demo/Materials/IC_RevRimGlow.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_RevSweep.xml b/apps/cluster-demo/Materials/IC_RevSweep.xml new file mode 100644 index 00000000..9df73a5f --- /dev/null +++ b/apps/cluster-demo/Materials/IC_RevSweep.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_TickMinor.xml b/apps/cluster-demo/Materials/IC_TickMinor.xml new file mode 100644 index 00000000..6955e954 --- /dev/null +++ b/apps/cluster-demo/Materials/IC_TickMinor.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Materials/IC_White.xml b/apps/cluster-demo/Materials/IC_White.xml new file mode 100644 index 00000000..c3e5400e --- /dev/null +++ b/apps/cluster-demo/Materials/IC_White.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Ambient_DialCool.xml b/apps/cluster-demo/Meshes/Ambient_DialCool.xml new file mode 100644 index 00000000..f5870779 --- /dev/null +++ b/apps/cluster-demo/Meshes/Ambient_DialCool.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Ambient_DialRed.xml b/apps/cluster-demo/Meshes/Ambient_DialRed.xml new file mode 100644 index 00000000..78160a95 --- /dev/null +++ b/apps/cluster-demo/Meshes/Ambient_DialRed.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Ambient_LeftRed.xml b/apps/cluster-demo/Meshes/Ambient_LeftRed.xml new file mode 100644 index 00000000..8364b3ad --- /dev/null +++ b/apps/cluster-demo/Meshes/Ambient_LeftRed.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Ambient_RightRed.xml b/apps/cluster-demo/Meshes/Ambient_RightRed.xml new file mode 100644 index 00000000..053da4eb --- /dev/null +++ b/apps/cluster-demo/Meshes/Ambient_RightRed.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Gear_Mode.xml b/apps/cluster-demo/Meshes/Gear_Mode.xml new file mode 100644 index 00000000..b30c649f --- /dev/null +++ b/apps/cluster-demo/Meshes/Gear_Mode.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Gear_Number.xml b/apps/cluster-demo/Meshes/Gear_Number.xml new file mode 100644 index 00000000..8d00e857 --- /dev/null +++ b/apps/cluster-demo/Meshes/Gear_Number.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_Best.xml b/apps/cluster-demo/Meshes/Lap_Best.xml new file mode 100644 index 00000000..193e2b74 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_Best.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_BestLabel.xml b/apps/cluster-demo/Meshes/Lap_BestLabel.xml new file mode 100644 index 00000000..dce9d8e1 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_BestLabel.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_Car.xml b/apps/cluster-demo/Meshes/Lap_Car.xml new file mode 100644 index 00000000..2f350ed1 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_Car.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_Chevron.xml b/apps/cluster-demo/Meshes/Lap_Chevron.xml new file mode 100644 index 00000000..412e8351 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_Chevron.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_ChevronGlow.xml b/apps/cluster-demo/Meshes/Lap_ChevronGlow.xml new file mode 100644 index 00000000..82398ac8 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_ChevronGlow.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_Circuit.xml b/apps/cluster-demo/Meshes/Lap_Circuit.xml new file mode 100644 index 00000000..ec73e852 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_Circuit.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_CircuitDone.xml b/apps/cluster-demo/Meshes/Lap_CircuitDone.xml new file mode 100644 index 00000000..0d6ffac5 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_CircuitDone.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_Count.xml b/apps/cluster-demo/Meshes/Lap_Count.xml new file mode 100644 index 00000000..7537bb55 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_Count.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_Delta.xml b/apps/cluster-demo/Meshes/Lap_Delta.xml new file mode 100644 index 00000000..6bfef297 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_Delta.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_Last.xml b/apps/cluster-demo/Meshes/Lap_Last.xml new file mode 100644 index 00000000..9462fba3 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_Last.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_LastLabel.xml b/apps/cluster-demo/Meshes/Lap_LastLabel.xml new file mode 100644 index 00000000..42c24799 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_LastLabel.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_MapCard.xml b/apps/cluster-demo/Meshes/Lap_MapCard.xml new file mode 100644 index 00000000..9606cc4d --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_MapCard.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_MapCard_Edge.xml b/apps/cluster-demo/Meshes/Lap_MapCard_Edge.xml new file mode 100644 index 00000000..3749f7fd --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_MapCard_Edge.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_Plate.xml b/apps/cluster-demo/Meshes/Lap_Plate.xml new file mode 100644 index 00000000..b2d65256 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_Plate.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_Time.xml b/apps/cluster-demo/Meshes/Lap_Time.xml new file mode 100644 index 00000000..7825c84f --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_Time.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_TimesCard.xml b/apps/cluster-demo/Meshes/Lap_TimesCard.xml new file mode 100644 index 00000000..5536b30c --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_TimesCard.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Lap_TimesCard_Edge.xml b/apps/cluster-demo/Meshes/Lap_TimesCard_Edge.xml new file mode 100644 index 00000000..a0b16cb7 --- /dev/null +++ b/apps/cluster-demo/Meshes/Lap_TimesCard_Edge.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Bezel.xml b/apps/cluster-demo/Meshes/Rev_Bezel.xml new file mode 100644 index 00000000..90415d42 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Bezel.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_BezelGlow.xml b/apps/cluster-demo/Meshes/Rev_BezelGlow.xml new file mode 100644 index 00000000..87150d84 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_BezelGlow.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Face.xml b/apps/cluster-demo/Meshes/Rev_Face.xml new file mode 100644 index 00000000..3dfd46b3 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Face.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Hub.xml b/apps/cluster-demo/Meshes/Rev_Hub.xml new file mode 100644 index 00000000..27d620a3 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Hub.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_HubGroove.xml b/apps/cluster-demo/Meshes/Rev_HubGroove.xml new file mode 100644 index 00000000..dcbeef26 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_HubGroove.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_HubRing.xml b/apps/cluster-demo/Meshes/Rev_HubRing.xml new file mode 100644 index 00000000..294b07cd --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_HubRing.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Needle.xml b/apps/cluster-demo/Meshes/Rev_Needle.xml new file mode 100644 index 00000000..9b03947b --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Needle.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_NeedleGlow.xml b/apps/cluster-demo/Meshes/Rev_NeedleGlow.xml new file mode 100644 index 00000000..9d778c69 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_NeedleGlow.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Num0.xml b/apps/cluster-demo/Meshes/Rev_Num0.xml new file mode 100644 index 00000000..8a42af73 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Num0.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Num1.xml b/apps/cluster-demo/Meshes/Rev_Num1.xml new file mode 100644 index 00000000..6442dfd8 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Num1.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Num2.xml b/apps/cluster-demo/Meshes/Rev_Num2.xml new file mode 100644 index 00000000..b7e1f0a8 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Num2.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Num3.xml b/apps/cluster-demo/Meshes/Rev_Num3.xml new file mode 100644 index 00000000..d72f4a20 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Num3.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Num4.xml b/apps/cluster-demo/Meshes/Rev_Num4.xml new file mode 100644 index 00000000..9ab4d9e9 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Num4.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Num5.xml b/apps/cluster-demo/Meshes/Rev_Num5.xml new file mode 100644 index 00000000..801d9bf7 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Num5.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Num6.xml b/apps/cluster-demo/Meshes/Rev_Num6.xml new file mode 100644 index 00000000..85eb8d20 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Num6.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Num7.xml b/apps/cluster-demo/Meshes/Rev_Num7.xml new file mode 100644 index 00000000..f7cb04a2 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Num7.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Num8.xml b/apps/cluster-demo/Meshes/Rev_Num8.xml new file mode 100644 index 00000000..a1771598 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Num8.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_RedZone.xml b/apps/cluster-demo/Meshes/Rev_RedZone.xml new file mode 100644 index 00000000..4ff1c178 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_RedZone.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Rim.xml b/apps/cluster-demo/Meshes/Rev_Rim.xml new file mode 100644 index 00000000..aca0b49a --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Rim.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_RimGlow.xml b/apps/cluster-demo/Meshes/Rev_RimGlow.xml new file mode 100644 index 00000000..563b6f39 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_RimGlow.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Scale.xml b/apps/cluster-demo/Meshes/Rev_Scale.xml new file mode 100644 index 00000000..2a310239 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Scale.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Speed.xml b/apps/cluster-demo/Meshes/Rev_Speed.xml new file mode 100644 index 00000000..99daeb4c --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Speed.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_SpeedUnit.xml b/apps/cluster-demo/Meshes/Rev_SpeedUnit.xml new file mode 100644 index 00000000..3f18894e --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_SpeedUnit.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_Sweep.xml b/apps/cluster-demo/Meshes/Rev_Sweep.xml new file mode 100644 index 00000000..2dae18d5 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_Sweep.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_TicksFine.xml b/apps/cluster-demo/Meshes/Rev_TicksFine.xml new file mode 100644 index 00000000..e824d789 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_TicksFine.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_TicksMajor.xml b/apps/cluster-demo/Meshes/Rev_TicksMajor.xml new file mode 100644 index 00000000..d6ec47fa --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_TicksMajor.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_TicksMajorRed.xml b/apps/cluster-demo/Meshes/Rev_TicksMajorRed.xml new file mode 100644 index 00000000..547c93fa --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_TicksMajorRed.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Rev_TicksMinor.xml b/apps/cluster-demo/Meshes/Rev_TicksMinor.xml new file mode 100644 index 00000000..0c339142 --- /dev/null +++ b/apps/cluster-demo/Meshes/Rev_TicksMinor.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Turn_Left.xml b/apps/cluster-demo/Meshes/Turn_Left.xml new file mode 100644 index 00000000..f96fe4d8 --- /dev/null +++ b/apps/cluster-demo/Meshes/Turn_Left.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Turn_Right.xml b/apps/cluster-demo/Meshes/Turn_Right.xml new file mode 100644 index 00000000..b8a3a216 --- /dev/null +++ b/apps/cluster-demo/Meshes/Turn_Right.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_BOOST_Bar.xml b/apps/cluster-demo/Meshes/Vitals_BOOST_Bar.xml new file mode 100644 index 00000000..c1c25db2 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_BOOST_Bar.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_BOOST_Caption.xml b/apps/cluster-demo/Meshes/Vitals_BOOST_Caption.xml new file mode 100644 index 00000000..4d60ce42 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_BOOST_Caption.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_BOOST_Label.xml b/apps/cluster-demo/Meshes/Vitals_BOOST_Label.xml new file mode 100644 index 00000000..5da20be6 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_BOOST_Label.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_BOOST_Value.xml b/apps/cluster-demo/Meshes/Vitals_BOOST_Value.xml new file mode 100644 index 00000000..f8bc16ba --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_BOOST_Value.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_Chevron.xml b/apps/cluster-demo/Meshes/Vitals_Chevron.xml new file mode 100644 index 00000000..9c61ac52 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_Chevron.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_ChevronGlow.xml b/apps/cluster-demo/Meshes/Vitals_ChevronGlow.xml new file mode 100644 index 00000000..4ceb2621 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_ChevronGlow.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_ModeA.xml b/apps/cluster-demo/Meshes/Vitals_ModeA.xml new file mode 100644 index 00000000..8d5e0774 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_ModeA.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_ModeB.xml b/apps/cluster-demo/Meshes/Vitals_ModeB.xml new file mode 100644 index 00000000..59caeac6 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_ModeB.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_ModeCard.xml b/apps/cluster-demo/Meshes/Vitals_ModeCard.xml new file mode 100644 index 00000000..0301672b --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_ModeCard.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_ModeCard_Edge.xml b/apps/cluster-demo/Meshes/Vitals_ModeCard_Edge.xml new file mode 100644 index 00000000..1fbb5032 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_ModeCard_Edge.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_OIL_Bar.xml b/apps/cluster-demo/Meshes/Vitals_OIL_Bar.xml new file mode 100644 index 00000000..297b6ba9 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_OIL_Bar.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_OIL_Caption.xml b/apps/cluster-demo/Meshes/Vitals_OIL_Caption.xml new file mode 100644 index 00000000..b22c53cf --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_OIL_Caption.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_OIL_Label.xml b/apps/cluster-demo/Meshes/Vitals_OIL_Label.xml new file mode 100644 index 00000000..0d0fc31a --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_OIL_Label.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_OIL_Value.xml b/apps/cluster-demo/Meshes/Vitals_OIL_Value.xml new file mode 100644 index 00000000..1c42ba3e --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_OIL_Value.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_Plate.xml b/apps/cluster-demo/Meshes/Vitals_Plate.xml new file mode 100644 index 00000000..3bc05599 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_Plate.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_Range.xml b/apps/cluster-demo/Meshes/Vitals_Range.xml new file mode 100644 index 00000000..7c81bdbb --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_Range.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_RangeLabel.xml b/apps/cluster-demo/Meshes/Vitals_RangeLabel.xml new file mode 100644 index 00000000..4fef10e4 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_RangeLabel.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_RangeLevel.xml b/apps/cluster-demo/Meshes/Vitals_RangeLevel.xml new file mode 100644 index 00000000..61e5a460 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_RangeLevel.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_RangeTrack.xml b/apps/cluster-demo/Meshes/Vitals_RangeTrack.xml new file mode 100644 index 00000000..2151886c --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_RangeTrack.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_Selection.xml b/apps/cluster-demo/Meshes/Vitals_Selection.xml new file mode 100644 index 00000000..159b5018 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_Selection.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_Selection_Edge.xml b/apps/cluster-demo/Meshes/Vitals_Selection_Edge.xml new file mode 100644 index 00000000..fc6e9abf --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_Selection_Edge.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_WATER_Bar.xml b/apps/cluster-demo/Meshes/Vitals_WATER_Bar.xml new file mode 100644 index 00000000..fa9cd436 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_WATER_Bar.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_WATER_Caption.xml b/apps/cluster-demo/Meshes/Vitals_WATER_Caption.xml new file mode 100644 index 00000000..7b65a423 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_WATER_Caption.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_WATER_Label.xml b/apps/cluster-demo/Meshes/Vitals_WATER_Label.xml new file mode 100644 index 00000000..e77f709d --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_WATER_Label.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Meshes/Vitals_WATER_Value.xml b/apps/cluster-demo/Meshes/Vitals_WATER_Value.xml new file mode 100644 index 00000000..76c8d805 --- /dev/null +++ b/apps/cluster-demo/Meshes/Vitals_WATER_Value.xml @@ -0,0 +1,2 @@ + + diff --git a/apps/cluster-demo/Scenes/Cluster.xml b/apps/cluster-demo/Scenes/Cluster.xml new file mode 100644 index 00000000..3ac8e456 --- /dev/null +++ b/apps/cluster-demo/Scenes/Cluster.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/cluster-demo/Screens/Cluster.xml b/apps/cluster-demo/Screens/Cluster.xml new file mode 100644 index 00000000..074ac8ee --- /dev/null +++ b/apps/cluster-demo/Screens/Cluster.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/apps/cluster-demo/Shaders/IC_Flat.xml b/apps/cluster-demo/Shaders/IC_Flat.xml new file mode 100644 index 00000000..d6db982f --- /dev/null +++ b/apps/cluster-demo/Shaders/IC_Flat.xml @@ -0,0 +1,24 @@ + + + +in vec3 a_position; +in vec2 a_texcoord0; +out vec2 v_texcoord0; +uniform mat4 u_modelViewProjectionTransform; +void main() { + v_texcoord0 = a_texcoord0; + gl_Position = u_modelViewProjectionTransform * vec4(a_position, 1.0); +} + + +// IC_Flat: solid colour +// Mirrors the Blender node group "IC_Flat"; uniform names are its input names. +// ORCA prepends the #version line and declares the FragColor output; colour +// uniforms are vec4 display (sRGB) values and only .rgb is used. +in vec2 v_texcoord0; + +void main() { + FragColor = vec4(Tint.rgb, Intensity); +} + + diff --git a/apps/cluster-demo/Shaders/IC_Gradient.xml b/apps/cluster-demo/Shaders/IC_Gradient.xml new file mode 100644 index 00000000..a682c3d0 --- /dev/null +++ b/apps/cluster-demo/Shaders/IC_Gradient.xml @@ -0,0 +1,30 @@ + + + +in vec3 a_position; +in vec2 a_texcoord0; +out vec2 v_texcoord0; +uniform mat4 u_modelViewProjectionTransform; +void main() { + v_texcoord0 = a_texcoord0; + gl_Position = u_modelViewProjectionTransform * vec4(a_position, 1.0); +} + + +// IC_Gradient: three-stop colour ramp along U, fading at both ends of U and softly across V +// Mirrors the Blender node group "IC_Gradient"; uniform names are its input names. +// ORCA prepends the #version line and declares the FragColor output; colour +// uniforms are vec4 display (sRGB) values and only .rgb is used. +in vec2 v_texcoord0; + +void main() { + float u = v_texcoord0.x, v = v_texcoord0.y; + vec3 c = mix(Color0.rgb, Color1.rgb, clamp((u - Pos0) / (Pos1 - Pos0), 0.0, 1.0)); + c = mix(c, Color2.rgb, clamp((u - Pos1) / (Pos2 - Pos1), 0.0, 1.0)); + float fade = clamp(u / max(FadeIn, 1e-4), 0.0, 1.0) * clamp((1.0 - u) / max(FadeOut, 1e-4), 0.0, 1.0); + float edge = 1.0 - abs(2.0 * v - 1.0); + float soft = mix(1.0, edge * edge, Soft); + FragColor = vec4(c, Intensity * fade * soft); +} + + diff --git a/apps/cluster-demo/Shaders/IC_RadialGlow.xml b/apps/cluster-demo/Shaders/IC_RadialGlow.xml new file mode 100644 index 00000000..d5c9dc73 --- /dev/null +++ b/apps/cluster-demo/Shaders/IC_RadialGlow.xml @@ -0,0 +1,25 @@ + + + +in vec3 a_position; +in vec2 a_texcoord0; +out vec2 v_texcoord0; +uniform mat4 u_modelViewProjectionTransform; +void main() { + v_texcoord0 = a_texcoord0; + gl_Position = u_modelViewProjectionTransform * vec4(a_position, 1.0); +} + + +// IC_RadialGlow: soft round glow on a quad with UV 0..1 +// Mirrors the Blender node group "IC_RadialGlow"; uniform names are its input names. +// ORCA prepends the #version line and declares the FragColor output; colour +// uniforms are vec4 display (sRGB) values and only .rgb is used. +in vec2 v_texcoord0; + +void main() { + float d = clamp(length(v_texcoord0 - vec2(0.5)) * 2.0, 0.0, 1.0); + FragColor = vec4(Tint.rgb, Intensity * pow(1.0 - d, Power)); +} + + diff --git a/apps/cluster-demo/Shaders/IC_Segments.xml b/apps/cluster-demo/Shaders/IC_Segments.xml new file mode 100644 index 00000000..74247d5f --- /dev/null +++ b/apps/cluster-demo/Shaders/IC_Segments.xml @@ -0,0 +1,25 @@ + + + +in vec3 a_position; +in vec2 a_texcoord0; +out vec2 v_texcoord0; +uniform mat4 u_modelViewProjectionTransform; +void main() { + v_texcoord0 = a_texcoord0; + gl_Position = u_modelViewProjectionTransform * vec4(a_position, 1.0); +} + + +// IC_Segments: segmented bar: each segment has one U value, segments below Level are lit +// Mirrors the Blender node group "IC_Segments"; uniform names are its input names. +// ORCA prepends the #version line and declares the FragColor output; colour +// uniforms are vec4 display (sRGB) values and only .rgb is used. +in vec2 v_texcoord0; + +void main() { + float lit = v_texcoord0.x < Level ? 1.0 : 0.0; + FragColor = vec4(mix(ColorOff.rgb, ColorOn.rgb, lit), Intensity); +} + + diff --git a/apps/cluster-demo/Shaders/IC_SpunMetal.xml b/apps/cluster-demo/Shaders/IC_SpunMetal.xml new file mode 100644 index 00000000..d67639f1 --- /dev/null +++ b/apps/cluster-demo/Shaders/IC_SpunMetal.xml @@ -0,0 +1,30 @@ + + + +in vec3 a_position; +in vec2 a_texcoord0; +out vec2 v_texcoord0; +uniform mat4 u_modelViewProjectionTransform; +void main() { + v_texcoord0 = a_texcoord0; + gl_Position = u_modelViewProjectionTransform * vec4(a_position, 1.0); +} + + +// IC_SpunMetal: fake spun/brushed metal for rings and discs: conic highlights plus concentric grooves +// Mirrors the Blender node group "IC_SpunMetal"; uniform names are its input names. +// ORCA prepends the #version line and declares the FragColor output; colour +// uniforms are vec4 display (sRGB) values and only .rgb is used. +in vec2 v_texcoord0; + +void main() { + float u = v_texcoord0.x, v = v_texcoord0.y; + float conic = pow(abs(cos((u + Phase) * Lobes * 3.14159265)), Sharpness); + float ring = fract(sin(floor(v * Rings) * 12.9898) * 43758.5453); + float f = clamp(conic * (1.0 - RingContrast * (1.0 - ring)) + ring * RingContrast * 0.12, 0.0, 1.0); + float e = 2.0 * v - 1.0; + vec3 c = mix(ColorDark.rgb, ColorLight.rgb, f) * (1.0 - clamp(EdgeDark * e * e, 0.0, 1.0)); + FragColor = vec4(c, Intensity); +} + + diff --git a/apps/cluster-demo/Shaders/IC_Sweep.xml b/apps/cluster-demo/Shaders/IC_Sweep.xml new file mode 100644 index 00000000..2623de9c --- /dev/null +++ b/apps/cluster-demo/Shaders/IC_Sweep.xml @@ -0,0 +1,28 @@ + + + +in vec3 a_position; +in vec2 a_texcoord0; +out vec2 v_texcoord0; +uniform mat4 u_modelViewProjectionTransform; +void main() { + v_texcoord0 = a_texcoord0; + gl_Position = u_modelViewProjectionTransform * vec4(a_position, 1.0); +} + + +// IC_Sweep: gauge fill: U spans the whole scale, lit up to Level with a tail fading back over Tail +// Mirrors the Blender node group "IC_Sweep"; uniform names are its input names. +// ORCA prepends the #version line and declares the FragColor output; colour +// uniforms are vec4 display (sRGB) values and only .rgb is used. +in vec2 v_texcoord0; + +void main() { + float u = v_texcoord0.x, v = v_texcoord0.y; + float a = clamp((u - Level + Tail) / Tail, 0.0, 1.0); + float lit = u < Level ? 1.0 : 0.0; + float radial = 1.0 - InnerFade * (1.0 - v); + FragColor = vec4(mix(Color0.rgb, Color1.rgb, a), Intensity * a * a * lit * radial); +} + + diff --git a/apps/cluster-demo/blender/build_cluster.py b/apps/cluster-demo/blender/build_cluster.py new file mode 100644 index 00000000..6b9a0b05 --- /dev/null +++ b/apps/cluster-demo/blender/build_cluster.py @@ -0,0 +1,771 @@ +"""Digital instrument cluster "Supersport Reactor": realtime display-content scene. +Z up, 1 unit = 10 cm. + +Built for export to orca: + * every mesh is unlit; no lights, textures or post effects. Glow is geometry. + * a material is one shader node group (node name "Shader") plus a blend mode. + The group is the fragment shader: UV0 + its inputs (the uniforms) -> Color, Alpha. + Groups only use Math / Mix / Vector Math nodes, and each one has a matching + GLSL fragment in a Text datablock of the same name with a ".frag" suffix. + * UV0 carries the shader coordinates: U along an element, V across it + (for rings: U = angle / full turn, V = inner -> outer radius). + * material custom properties: orca_shader (group name), orca_blend + (opaque | alpha | additive). + * runtime-driven parts live in IC_Dynamic, pivot where they move, and carry an + "orca_binding" custom property. Text is baked to mesh; runtime text keeps + its string, font and size in custom properties. + * each gauge has a linear "fill-up" action (Gauge_*) from empty to full. The + runtime scrubs it: clip time / duration = the reading. "orca_signal", + "orca_min" and "orca_max" on the action name the input and its range. +""" +import math +from math import cos, pi, radians, sin + +import bpy +from mathutils import Matrix, Vector + +scene = bpy.context.scene + +R_EYE = 7.2 # camera to screen plane +W = 2.05 # half width of the screen plane +RES = (1920, 720) # display resolution +H = W * RES[1] / RES[0] # half height of the screen plane +RPM, SPEED = 5.4, 254 + +FONT_NUM = "/System/Library/Fonts/Supplemental/DIN Alternate Bold.ttf" +FONT_LBL = "/System/Library/Fonts/Supplemental/DIN Condensed Bold.ttf" + +# ---------------------------------------------------------------- reset +for name in ("IC_Graphics", "IC_Housing", "IC_Stage", "IC_Static", "IC_Dynamic", "IC_Camera", "InstrumentCluster"): + c = bpy.data.collections.get(name) + if c: + for o in list(c.objects): + bpy.data.objects.remove(o, do_unlink=True) + bpy.data.collections.remove(c) +for _ in range(3): + bpy.data.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) +for block in (bpy.data.materials, bpy.data.node_groups, bpy.data.texts): + for item in [i for i in block if i.name.startswith("IC_")]: + block.remove(item) +for action in list(bpy.data.actions): + bpy.data.actions.remove(action) + +top = bpy.data.collections.new("InstrumentCluster") +scene.collection.children.link(top) + + +def sub(name): + c = bpy.data.collections.new(name) + top.children.link(c) + return c + + +C_STATIC, C_DYNAMIC, C_CAMERA = sub("IC_Static"), sub("IC_Dynamic"), sub("IC_Camera") + + +def load_font(path): + try: + return bpy.data.fonts.load(path, check_existing=True) + except RuntimeError: + return None + + +F_NUM, F_LBL = load_font(FONT_NUM), load_font(FONT_LBL) + +# ---------------------------------------------------------------- shader node groups +WHITE, GREY, DIM = "#F2F4F7", "#8B9099", "#2B2E34" +RED, RED_HOT, RED_DEEP = "#FF2A1A", "#FF5A2E", "#7A0C06" +GREEN = "#35E06A" + + +def lin(hexcol): + """'#RRGGBB' (what the display should show) -> linear RGBA for node sockets.""" + def ch(i): + c = int(hexcol[i:i + 2], 16) / 255.0 + return c / 12.92 if c <= 0.04045 else ((c + 0.055) / 1.055) ** 2.4 + return (ch(1), ch(3), ch(5), 1.0) + + +GLSL_HEADER = """// {name}: {doc} +// Mirrors the Blender node group "{name}"; uniform names are its input names. +// ORCA prepends the #version line and declares the FragColor output; colour +// uniforms are vec4 display (sRGB) values and only .rgb is used. +in vec2 v_texcoord0; +""" + + +class ShaderGroup: + """A node group that is a fragment shader: UV0 + inputs -> Color, Alpha.""" + + def __init__(self, name, doc, inputs, glsl): + self.tree = t = bpy.data.node_groups.new(name, 'ShaderNodeTree') + t["orca_doc"] = doc + for iname, default in inputs: + is_color = isinstance(default, str) + s = t.interface.new_socket(name=iname, in_out='INPUT', socket_type='NodeSocketColor' if is_color else 'NodeSocketFloat') + s.default_value = lin(default) if is_color else default + t.interface.new_socket(name="Color", in_out='OUTPUT', socket_type='NodeSocketColor') + t.interface.new_socket(name="Alpha", in_out='OUTPUT', socket_type='NodeSocketFloat') + self.inp, self.out = t.nodes.new('NodeGroupInput'), t.nodes.new('NodeGroupOutput') + tc, sep = t.nodes.new("ShaderNodeTexCoord"), t.nodes.new("ShaderNodeSeparateXYZ") + t.links.new(tc.outputs["UV"], sep.inputs[0]) + self.uv, self.u, self.v = tc.outputs["UV"], sep.outputs[0], sep.outputs[1] + uniforms = "".join("uniform {} {};\n".format("vec4" if isinstance(d, str) else "float", n) for n, d in inputs) + text = bpy.data.texts.new(name + ".frag") + text.write(GLSL_HEADER.format(name=name, doc=doc) + uniforms + glsl) + t["orca_fragment"] = text.name + + def i(self, name): + return self.inp.outputs[name] + + def math(self, op, a, b=None, clamp=False): + n = self.tree.nodes.new("ShaderNodeMath") + n.operation, n.use_clamp = op, clamp + for k, v in enumerate((a, b)): + if v is None: + continue + if isinstance(v, (int, float)): + n.inputs[k].default_value = v + else: + self.tree.links.new(v, n.inputs[k]) + return n.outputs[0] + + def mix(self, fac, a, b): + """Colour lerp, factor clamped. a/b: socket or '#hex'.""" + n = self.tree.nodes.new("ShaderNodeMix") + n.data_type, n.clamp_factor = 'RGBA', True + socks = {s.identifier: s for s in n.inputs} + for sock, v in ((socks["Factor_Float"], fac), (socks["A_Color"], a), (socks["B_Color"], b)): + if isinstance(v, str): + sock.default_value = lin(v) + elif isinstance(v, (int, float)): + sock.default_value = v + else: + self.tree.links.new(v, sock) + return next(s for s in n.outputs if s.identifier == "Result_Color") + + def done(self, color, alpha): + self.tree.links.new(color, self.out.inputs["Color"]) + self.tree.links.new(alpha, self.out.inputs["Alpha"]) + return self.tree + + +def sg_flat(): + g = ShaderGroup("IC_Flat", "solid colour", [("Tint", WHITE), ("Intensity", 1.0)], """ +void main() { + FragColor = vec4(Tint.rgb, Intensity); +} +""") + return g.done(g.i("Tint"), g.i("Intensity")) + + +def sg_gradient(): + g = ShaderGroup( + "IC_Gradient", "three-stop colour ramp along U, fading at both ends of U and softly across V", + [("Color0", WHITE), ("Color1", WHITE), ("Color2", WHITE), ("Pos0", 0.0), ("Pos1", 0.5), ("Pos2", 1.0), + ("Intensity", 1.0), ("FadeIn", 0.0), ("FadeOut", 0.0), ("Soft", 0.0)], """ +void main() { + float u = v_texcoord0.x, v = v_texcoord0.y; + vec3 c = mix(Color0.rgb, Color1.rgb, clamp((u - Pos0) / (Pos1 - Pos0), 0.0, 1.0)); + c = mix(c, Color2.rgb, clamp((u - Pos1) / (Pos2 - Pos1), 0.0, 1.0)); + float fade = clamp(u / max(FadeIn, 1e-4), 0.0, 1.0) * clamp((1.0 - u) / max(FadeOut, 1e-4), 0.0, 1.0); + float edge = 1.0 - abs(2.0 * v - 1.0); + float soft = mix(1.0, edge * edge, Soft); + FragColor = vec4(c, Intensity * fade * soft); +} +""") + t01 = g.math('DIVIDE', g.math('SUBTRACT', g.u, g.i("Pos0")), g.math('SUBTRACT', g.i("Pos1"), g.i("Pos0")), clamp=True) + t12 = g.math('DIVIDE', g.math('SUBTRACT', g.u, g.i("Pos1")), g.math('SUBTRACT', g.i("Pos2"), g.i("Pos1")), clamp=True) + col = g.mix(t12, g.mix(t01, g.i("Color0"), g.i("Color1")), g.i("Color2")) + fade_in = g.math('DIVIDE', g.u, g.math('MAXIMUM', g.i("FadeIn"), 1e-4), clamp=True) + fade_out = g.math('DIVIDE', g.math('SUBTRACT', 1.0, g.u), g.math('MAXIMUM', g.i("FadeOut"), 1e-4), clamp=True) + edge = g.math('SUBTRACT', 1.0, g.math('ABSOLUTE', g.math('SUBTRACT', g.math('MULTIPLY', g.v, 2.0), 1.0))) + edge2 = g.math('MULTIPLY', edge, edge) + # mix(1, edge2, Soft) = 1 - Soft * (1 - edge2) + soft = g.math('SUBTRACT', 1.0, g.math('MULTIPLY', g.i("Soft"), g.math('SUBTRACT', 1.0, edge2))) + alpha = g.math('MULTIPLY', g.math('MULTIPLY', g.i("Intensity"), g.math('MULTIPLY', fade_in, fade_out)), soft) + return g.done(col, alpha) + + +def sg_sweep(): + g = ShaderGroup( + "IC_Sweep", "gauge fill: U spans the whole scale, lit up to Level with a tail fading back over Tail", + [("Color0", RED_DEEP), ("Color1", RED_HOT), ("Level", 0.5), ("Tail", 0.2), ("Intensity", 0.8), ("InnerFade", 0.7)], """ +void main() { + float u = v_texcoord0.x, v = v_texcoord0.y; + float a = clamp((u - Level + Tail) / Tail, 0.0, 1.0); + float lit = u < Level ? 1.0 : 0.0; + float radial = 1.0 - InnerFade * (1.0 - v); + FragColor = vec4(mix(Color0.rgb, Color1.rgb, a), Intensity * a * a * lit * radial); +} +""") + a = g.math('DIVIDE', g.math('ADD', g.math('SUBTRACT', g.u, g.i("Level")), g.i("Tail")), g.i("Tail"), clamp=True) + lit = g.math('LESS_THAN', g.u, g.i("Level")) + radial = g.math('SUBTRACT', 1.0, g.math('MULTIPLY', g.i("InnerFade"), g.math('SUBTRACT', 1.0, g.v))) + alpha = g.math('MULTIPLY', g.math('MULTIPLY', g.i("Intensity"), g.math('MULTIPLY', a, a)), g.math('MULTIPLY', lit, radial)) + return g.done(g.mix(a, g.i("Color0"), g.i("Color1")), alpha) + + +def sg_segments(): + g = ShaderGroup( + "IC_Segments", "segmented bar: each segment has one U value, segments below Level are lit", + [("ColorOn", RED), ("ColorOff", DIM), ("Level", 0.5), ("Intensity", 1.0)], """ +void main() { + float lit = v_texcoord0.x < Level ? 1.0 : 0.0; + FragColor = vec4(mix(ColorOff.rgb, ColorOn.rgb, lit), Intensity); +} +""") + return g.done(g.mix(g.math('LESS_THAN', g.u, g.i("Level")), g.i("ColorOff"), g.i("ColorOn")), g.i("Intensity")) + + +def sg_spun_metal(): + g = ShaderGroup( + "IC_SpunMetal", "fake spun/brushed metal for rings and discs: conic highlights plus concentric grooves", + [("ColorDark", "#060708"), ("ColorLight", "#C8CDD6"), ("Lobes", 2.0), ("Phase", 0.125), ("Sharpness", 4.0), + ("Rings", 24.0), ("RingContrast", 0.4), ("EdgeDark", 0.5), ("Intensity", 1.0)], """ +void main() { + float u = v_texcoord0.x, v = v_texcoord0.y; + float conic = pow(abs(cos((u + Phase) * Lobes * 3.14159265)), Sharpness); + float ring = fract(sin(floor(v * Rings) * 12.9898) * 43758.5453); + float f = clamp(conic * (1.0 - RingContrast * (1.0 - ring)) + ring * RingContrast * 0.12, 0.0, 1.0); + float e = 2.0 * v - 1.0; + vec3 c = mix(ColorDark.rgb, ColorLight.rgb, f) * (1.0 - clamp(EdgeDark * e * e, 0.0, 1.0)); + FragColor = vec4(c, Intensity); +} +""") + conic = g.math('POWER', g.math('ABSOLUTE', g.math('COSINE', g.math( + 'MULTIPLY', g.math('ADD', g.u, g.i("Phase")), g.math('MULTIPLY', g.i("Lobes"), pi)))), g.i("Sharpness")) + ring = g.math('FRACT', g.math('MULTIPLY', g.math('SINE', g.math( + 'MULTIPLY', g.math('FLOOR', g.math('MULTIPLY', g.v, g.i("Rings"))), 12.9898)), 43758.5453)) + grain = g.math('SUBTRACT', 1.0, g.math('MULTIPLY', g.i("RingContrast"), g.math('SUBTRACT', 1.0, ring))) + f = g.math('ADD', g.math('MULTIPLY', conic, grain), + g.math('MULTIPLY', g.math('MULTIPLY', ring, g.i("RingContrast")), 0.12), clamp=True) + e = g.math('SUBTRACT', g.math('MULTIPLY', g.v, 2.0), 1.0) + edge = g.math('MULTIPLY', g.i("EdgeDark"), g.math('MULTIPLY', e, e), clamp=True) + return g.done(g.mix(edge, g.mix(f, g.i("ColorDark"), g.i("ColorLight")), "#000000"), g.i("Intensity")) + + +def sg_radial_glow(): + g = ShaderGroup( + "IC_RadialGlow", "soft round glow on a quad with UV 0..1", + [("Tint", RED), ("Intensity", 0.5), ("Power", 2.0)], """ +void main() { + float d = clamp(length(v_texcoord0 - vec2(0.5)) * 2.0, 0.0, 1.0); + FragColor = vec4(Tint.rgb, Intensity * pow(1.0 - d, Power)); +} +""") + off = g.tree.nodes.new("ShaderNodeVectorMath") + off.operation = 'SUBTRACT' + g.tree.links.new(g.uv, off.inputs[0]) + off.inputs[1].default_value = (0.5, 0.5, 0.0) + ln = g.tree.nodes.new("ShaderNodeVectorMath") + ln.operation = 'LENGTH' + g.tree.links.new(off.outputs[0], ln.inputs[0]) + d = g.math('MULTIPLY', ln.outputs["Value"], 2.0, clamp=True) + alpha = g.math('MULTIPLY', g.i("Intensity"), g.math('POWER', g.math('SUBTRACT', 1.0, d), g.i("Power"))) + return g.done(g.i("Tint"), alpha) + + +SG = {"flat": sg_flat(), "gradient": sg_gradient(), "sweep": sg_sweep(), "segments": sg_segments(), + "metal": sg_spun_metal(), "glow": sg_radial_glow()} + + +def material(name, shader, blend="opaque", **uniforms): + """One shader group + a blend mode. Uniform values live on the group node's inputs.""" + m = bpy.data.materials.new(name) + m.use_nodes = True + nt = m.node_tree + nt.nodes.clear() + out = nt.nodes.new("ShaderNodeOutputMaterial") + node = nt.nodes.new("ShaderNodeGroup") + node.node_tree = SG[shader] + node.name = node.label = "Shader" + for k, v in uniforms.items(): + node.inputs[k].default_value = lin(v) if isinstance(v, str) else v + em = nt.nodes.new("ShaderNodeEmission") + nt.links.new(node.outputs["Color"], em.inputs["Color"]) + if blend == "opaque": + sh = em.outputs[0] + else: + m.surface_render_method = 'BLENDED' + tr = nt.nodes.new("ShaderNodeBsdfTransparent") + if blend == "additive": + nt.links.new(node.outputs["Alpha"], em.inputs["Strength"]) + mixer = nt.nodes.new("ShaderNodeAddShader") + nt.links.new(em.outputs[0], mixer.inputs[0]) + nt.links.new(tr.outputs[0], mixer.inputs[1]) + else: + mixer = nt.nodes.new("ShaderNodeMixShader") + nt.links.new(node.outputs["Alpha"], mixer.inputs[0]) + nt.links.new(tr.outputs[0], mixer.inputs[1]) + nt.links.new(em.outputs[0], mixer.inputs[2]) + sh = mixer.outputs[0] + nt.links.new(sh, out.inputs[0]) + m["orca_shader"], m["orca_blend"] = SG[shader].name, blend + return m + + +def flat(name, color): + return material(name, "flat", Tint=color) + + +M = { + "white": flat("IC_White", WHITE), "grey": flat("IC_Grey", GREY), "dim": flat("IC_Dim", DIM), + "red": flat("IC_Red", RED), "red_dim": flat("IC_RedDim", "#5E130E"), "green": flat("IC_Green", GREEN), + "green_dim": flat("IC_GreenDim", "#10261A"), "tick_minor": flat("IC_TickMinor", "#9CA2AB"), + "card_edge": flat("IC_CardEdge", "#2A2D33"), "chip_edge": flat("IC_ChipEdge", "#565B65"), + "track": flat("IC_BarTrack", "#33363C"), + # Dial metalwork. U = angle, V = radius. + "face": material("IC_DialFace", "metal", ColorDark="#040506", ColorLight="#3A3E46", Lobes=2.0, Phase=0.125, + Sharpness=3.0, Rings=150.0, RingContrast=0.28, EdgeDark=0.0), + "bezel": material("IC_DialBezel", "metal", ColorDark="#08090B", ColorLight="#C2C8D2", Lobes=2.0, Phase=0.125, + Sharpness=9.0, Rings=16.0, RingContrast=0.45, EdgeDark=0.75), + "hub_groove": material("IC_HubGroove", "metal", ColorDark="#020203", ColorLight="#3C4048", Lobes=2.0, Phase=0.125, + Sharpness=4.0, Rings=8.0, RingContrast=0.5, EdgeDark=0.85), + "hub_ring": material("IC_HubRing", "metal", ColorDark="#34373D", ColorLight="#F4F7FB", Lobes=2.0, Phase=0.125, + Sharpness=2.0, Rings=1.0, RingContrast=0.0, EdgeDark=0.3), + # U = radius: hub face, slightly lifted in the middle. + "hub": material("IC_Hub", "gradient", Color0="#101216", Color1="#08090B", Color2="#020203"), + # Rev scale: U runs 0..1 from 0 to 8 thousand. + "rim": material("IC_RevRim", "gradient", Color0="#D8DDE5", Color1="#FF8A3A", Color2=RED, Pos0=0.50, Pos1=0.62, Pos2=0.74), + "rim_glow": material("IC_RevRimGlow", "gradient", "additive", Color0="#3A3E46", Color1=RED_HOT, Color2=RED, + Pos0=0.45, Pos1=0.62, Pos2=0.74, Intensity=0.55, FadeIn=0.04, FadeOut=0.03, Soft=1.0), + "bezel_glow": material("IC_BezelGlow", "gradient", "additive", Color0="#1B1D22", Color1=RED, Color2=RED, + Pos0=0.40, Pos1=0.66, Pos2=1.0, Intensity=0.55, FadeIn=0.06, FadeOut=0.06, Soft=1.0), + "sweep": material("IC_RevSweep", "sweep", "alpha", Color0=RED_DEEP, Color1=RED_HOT, Level=RPM / 8.0, Tail=0.17, + Intensity=0.8, InnerFade=0.75), + "needle": material("IC_Needle", "gradient", Color0=RED, Color1=RED_HOT, Color2="#FFD2B0"), + "needle_glow": material("IC_NeedleGlow", "gradient", "additive", Color0=RED, Color1=RED_HOT, Color2=RED_HOT, + Intensity=0.85, FadeIn=0.3, Soft=1.0), + # Side panels. + "chevron": material("IC_Chevron", "gradient", "alpha", Color0=RED, Color1="#FF6A48", Color2=RED, FadeIn=0.22, FadeOut=0.22), + "chevron_glow": material("IC_ChevronGlow", "gradient", "additive", Color0=RED, Color1=RED_HOT, Color2=RED, + Intensity=0.5, FadeIn=0.22, FadeOut=0.22, Soft=1.0), + "plate": material("IC_PanelPlate", "gradient", Color0="#14161A", Color1="#0A0B0D", Color2="#030304"), + "card": material("IC_Card", "gradient", Color0="#07080A", Color1="#0D0E11", Color2="#16181C"), + "range": material("IC_RangeFill", "gradient", Color0=RED, Color1=RED, Color2="#FFD8CC", Pos1=0.75), + # Ambient light behind everything. + "ambient_red": material("IC_AmbientRed", "glow", "additive", Tint=RED, Intensity=0.30, Power=2.0), + "ambient_dial": material("IC_AmbientDial", "glow", "additive", Tint=RED, Intensity=0.16, Power=2.0), + "ambient_cool": material("IC_AmbientCool", "glow", "additive", Tint="#AEB8C8", Intensity=0.10, Power=2.0), +} + +# ---------------------------------------------------------------- mesh helpers + + +def mesh_obj(name, geo, mat, parent, loc=(0, 0, 0), coll=None, binding=None): + verts, faces, uvs = geo + me = bpy.data.meshes.new(name) + me.from_pydata([tuple(v) for v in verts], [], faces) + if uvs: + layer = me.uv_layers.new(name="UVMap") + for loop in me.loops: + layer.data[loop.index].uv = uvs[loop.vertex_index] + me.materials.append(mat) + ob = bpy.data.objects.new(name, me) + (coll or (C_DYNAMIC if binding else C_STATIC)).objects.link(ob) + ob.parent = parent + ob.location = loc + if binding: + ob["orca_binding"] = binding + return ob + + +def arc(r0, r1, a0, a1, n=None, radial_u=False): + """Ring sector. U runs along the sweep a0 -> a1 and V across the band, or swapped.""" + n = n or max(4, int(abs(a1 - a0) / radians(2.5))) + verts, uvs = [], [] + for i in range(n + 1): + f = i / n + a = a0 + (a1 - a0) * f + verts += [(r0 * cos(a), r0 * sin(a), 0), (r1 * cos(a), r1 * sin(a), 0)] + uvs += [(0, f), (1, f)] if radial_u else [(f, 0), (f, 1)] + return verts, [(2 * i, 2 * i + 1, 2 * i + 3, 2 * i + 2) for i in range(n)], uvs + + +def stroke(pts, w, closed=False): + """Mitred polyline of width w. U is the normalised distance along it, V runs across.""" + pts = [Vector(p) for p in pts] + n = len(pts) + + def normal(a, b): + d = (b - a).normalized() + return Vector((-d.y, d.x)) + + dist = [0.0] + for i in range(1, n): + dist.append(dist[-1] + (pts[i] - pts[i - 1]).length) + total = dist[-1] + ((pts[0] - pts[-1]).length if closed else 0.0) + verts, uvs = [], [] + for i, p in enumerate(pts): + n1 = normal(pts[i - 1], p) if (i > 0 or closed) else None + n2 = normal(p, pts[(i + 1) % n]) if (i < n - 1 or closed) else None + if n1 is None or n2 is None: + mitre = n1 or n2 + else: + mitre = (n1 + n2).normalized() + mitre = mitre / max(mitre.dot(n1), 0.35) + verts += [(p + mitre * w / 2).to_3d(), (p - mitre * w / 2).to_3d()] + uvs += [(dist[i] / total, 0), (dist[i] / total, 1)] + faces = [(2 * i, 2 * i + 1, 2 * i + 3, 2 * i + 2) for i in range(n - 1)] + if closed: + faces.append((2 * n - 2, 2 * n - 1, 1, 0)) + return verts, faces, uvs + + +def quads(qs, us=None): + """Separate quads; with `us`, every vertex of quad i gets U = us[i].""" + verts, faces, uvs = [], [], [] + for k, q in enumerate(qs): + b = len(verts) + verts += [(p[0], p[1], 0) for p in q] + faces.append((b, b + 1, b + 2, b + 3)) + uvs += [(us[k], 0.5)] * 4 if us else [(0, 0), (1, 0), (1, 1), (0, 1)] + return verts, faces, uvs + + +def fan(pts, u_of): + """Convex outline filled from its centre; U from u_of(x, y).""" + cx, cy = sum(p[0] for p in pts) / len(pts), sum(p[1] for p in pts) / len(pts) + allp = [(cx, cy)] + list(pts) + faces = [(0, 1 + i, 1 + (i + 1) % len(pts)) for i in range(len(pts))] + return [(x, y, 0) for x, y in allp], faces, [(u_of(x, y), 0.5) for x, y in allp] + + +def poly(pts): + return [(p[0], p[1], 0) for p in pts], [tuple(range(len(pts)))], None + + +def slanted(x, y, w, h, slant): + return [(x - w / 2 - slant, y - h / 2), (x + w / 2 - slant, y - h / 2), + (x + w / 2 + slant, y + h / 2), (x - w / 2 + slant, y + h / 2)] + + +def rounded_rect(x0, y0, x1, y1, r, n=6): + pts = [] + for cx, cy, a0 in ((x1 - r, y1 - r, 0), (x0 + r, y1 - r, 90), (x0 + r, y0 + r, 180), (x1 - r, y0 + r, 270)): + pts += [(cx + r * cos(radians(a0 + 90 * i / n)), cy + r * sin(radians(a0 + 90 * i / n))) for i in range(n + 1)] + return pts + + +TEXTS = [] + + +def text(name, body, size, x, y, z, mat, parent, font=None, shear=0.0, ax='CENTER', binding=None): + cu = bpy.data.curves.new(name, 'FONT') + cu.body, cu.size, cu.shear = body, size, shear + cu.align_x, cu.align_y = ax, 'CENTER' + if font: + cu.font = font + cu.materials.append(mat) + ob = bpy.data.objects.new(name, cu) + (C_DYNAMIC if binding else C_STATIC).objects.link(ob) + ob.parent = parent + ob.location = (x, y, z) + if binding: + ob["orca_binding"] = binding + ob["orca_text"], ob["orca_text_size"], ob["orca_text_shear"] = body, size, shear + ob["orca_text_align"], ob["orca_text_font"] = ax, font.name if font else "" + TEXTS.append(ob) + return ob + + +# ---------------------------------------------------------------- layout on the camera-centred cylinder + + +def bend(s, t, d): + """Flat screen coords (s across, t up, d behind the screen plane) -> world.""" + phi, r = s / R_EYE, R_EYE + d + return Vector((r * sin(phi), -R_EYE + r * cos(phi), t)) + + +def facing(s, t, d): + """Transform whose local XY plane faces the camera from screen position (s, t, d); local +Z is towards the eye.""" + return Matrix.Translation(bend(s, t, d)) @ Matrix.Rotation(-s / R_EYE, 4, 'Z') @ Matrix.Rotation(pi / 2, 4, 'X') + + +root = bpy.data.objects.new("IC_Root", None) +root.empty_display_size = 0.3 +C_STATIC.objects.link(root) + + +def pod(name, s, t, d): + e = bpy.data.objects.new(name, None) + e.empty_display_size = 0.1 + C_STATIC.objects.link(e) + e.parent = root + e.matrix_basis = facing(s, t, d) + return e + + +def gfx(name, geo, mat, parent, z, binding=None): + return mesh_obj(name, geo, mat, parent, (0, 0, z), binding=binding) + + +def card(name, panel, x0, y0, x1, y1, z, r=0.035, fill="card", edge="card_edge"): + pts = rounded_rect(x0, y0, x1, y1, r) + gfx(name, fan(pts, lambda x, y: (y - y0) / (y1 - y0)), M[fill], panel, z) + gfx(name + "_Edge", stroke(pts, 0.004, closed=True), M[edge], panel, z + 0.005) + + +# ---------------------------------------------------------------- ambient glows behind the panels +GLOW_QUAD = ([(-1, -1, 0), (1, -1, 0), (1, 1, 0), (-1, 1, 0)], [(0, 1, 2, 3)], [(0, 0), (1, 0), (1, 1), (0, 1)]) +for name, mat, s, t, d, size in (("Ambient_DialRed", "ambient_dial", 0.55, -0.05, 0.9, 1.35), + ("Ambient_DialCool", "ambient_cool", -0.55, 0.30, 0.9, 1.0), + ("Ambient_LeftRed", "ambient_red", -2.15, 0.0, 0.9, 1.0), + ("Ambient_RightRed", "ambient_red", 2.15, 0.0, 0.9, 1.0)): + ob = mesh_obj(name, GLOW_QUAD, M[mat], root) + ob.matrix_basis = facing(s, t, d) @ Matrix.Diagonal((size, size, 1, 1)) + +# ---------------------------------------------------------------- centre: rev counter +dial = pod("IC_Panel_Rev", 0.0, 0.0, 0.34) +TURN = 2 * pi + + +def A(v): + """Dial angle for a rev value 0..8 (270 degree sweep, open at the bottom).""" + return radians(225.0 - v / 8.0 * 270.0) + + +def ticks(values, r0, r1, w): + qs = [] + for v in values: + a = A(v) + d, n = Vector((cos(a), sin(a))), Vector((-sin(a), cos(a))) * (w / 2) + qs.append([d * r0 - n, d * r1 - n, d * r1 + n, d * r0 + n]) + return quads(qs) + + +gfx("Rev_BezelGlow", arc(0.62, 0.94, A(0), A(8)), M["bezel_glow"], dial, 0.0) +gfx("Rev_Face", arc(0.0, 0.657, 0, TURN, n=128), M["face"], dial, 0.01) +gfx("Rev_Bezel", arc(0.656, 0.78, 0, TURN, n=128), M["bezel"], dial, 0.02) +gfx("Rev_Sweep", arc(0.345, 0.636, A(0), A(8)), M["sweep"], dial, 0.04, binding="rpm: Level = rpm / 8000") +gfx("Rev_RedZone", arc(0.60, 0.632, A(6.5), A(8)), M["red_dim"], dial, 0.05) +gfx("Rev_RimGlow", arc(0.585, 0.715, A(0), A(8)), M["rim_glow"], dial, 0.06) +gfx("Rev_Rim", arc(0.640, 0.656, A(0), A(8)), M["rim"], dial, 0.08) +gfx("Rev_TicksMajor", ticks(range(0, 7), 0.555, 0.632, 0.014), M["white"], dial, 0.08) +gfx("Rev_TicksMajorRed", ticks((7, 8), 0.555, 0.632, 0.014), M["red"], dial, 0.08) +gfx("Rev_TicksMinor", ticks([i + 0.5 for i in range(8)], 0.588, 0.632, 0.008), M["tick_minor"], dial, 0.08) +gfx("Rev_TicksFine", ticks([i / 10 for i in range(81) if i % 5], 0.61, 0.632, 0.004), M["grey"], dial, 0.08) +for v in range(9): + a = A(v) + text("Rev_Num{:d}".format(v), str(v), 0.105, 0.475 * cos(a), 0.475 * sin(a), 0.12, + M["red"] if v >= 7 else M["white"], dial, F_NUM) + +# Needle points along its local +X with the pivot on the dial centre: rotate about local Z. +needle = gfx("Rev_Needle", quads([[(0.345, -0.012), (0.662, -0.0035), (0.662, 0.0035), (0.345, 0.012)]]), M["needle"], dial, 0.16, + binding="rpm: rotation Z = 225deg - rpm / 8000 * 270deg") +needle.rotation_euler = (0, 0, A(RPM)) +mesh_obj("Rev_NeedleGlow", quads([[(0.345, -0.045), (0.68, -0.03), (0.68, 0.03), (0.345, 0.045)]]), M["needle_glow"], + needle, (0, 0, -0.01), coll=C_DYNAMIC) + +gfx("Rev_HubGroove", arc(0.300, 0.348, 0, TURN, n=96), M["hub_groove"], dial, 0.20) +gfx("Rev_HubRing", arc(0.290, 0.302, 0, TURN, n=96), M["hub_ring"], dial, 0.21) +gfx("Rev_Hub", arc(0.0, 0.291, 0, TURN, n=72, radial_u=True), M["hub"], dial, 0.20) +text("Rev_Scale", "1/min x 1000", 0.036, 0.0, 0.187, 0.24, M["grey"], dial, F_LBL) +text("Rev_Speed", str(SPEED), 0.205, 0.0, 0.052, 0.24, M["white"], dial, F_NUM, binding="speed_kmh") +text("Rev_SpeedUnit", "km/h", 0.042, 0.0, -0.078, 0.24, M["grey"], dial, F_LBL) +text("Gear_Mode", "M", 0.078, -0.072, -0.185, 0.24, M["grey"], dial, F_NUM, binding="gear_mode") +text("Gear_Number", "5", 0.13, 0.04, -0.18, 0.24, M["red"], dial, F_NUM, binding="gear") + +ARROW = [(-0.04, 0), (0, 0.034), (0, 0.013), (0.04, 0.013), (0.04, -0.013), (0, -0.013), (0, -0.034)] +for name, x, sign in (("Turn_Left", -0.83, 1), ("Turn_Right", 0.83, -1)): + ob = mesh_obj(name, poly([(sign * px, py) for px, py in ARROW]), M["green_dim"], dial, (x, 0.69, 0.10), binding="turn_signal") + ob["orca_material_on"], ob["orca_material_off"] = M["green"].name, M["green_dim"].name + +# ---------------------------------------------------------------- side panels +PANEL_S = 1.44 + + +def panel_frame(panel, m): + """Dark plate with a red chevron on the outer edge; m = +1 for the left panel, -1 for the right.""" + name = panel.name.replace("IC_Panel_", "") + plate = [(0.52 * m, 0.66), (-0.36 * m, 0.66), (-0.58 * m, 0.0), (-0.36 * m, -0.66), (0.52 * m, -0.66)] + chevron = [(0.14 * m, 0.70), (-0.38 * m, 0.70), (-0.62 * m, 0.0), (-0.38 * m, -0.70), (0.14 * m, -0.70)] + gfx(name + "_Plate", fan(plate, lambda x, y: (x * m + 0.58) / 1.10), M["plate"], panel, 0.0) + gfx(name + "_ChevronGlow", stroke(chevron, 0.11), M["chevron_glow"], panel, 0.02) + gfx(name + "_Chevron", stroke(chevron, 0.012), M["chevron"], panel, 0.03) + + +def chaikin(pts, rounds=3): + pts = [Vector(p) for p in pts] + for _ in range(rounds): + nxt = [] + for i, p in enumerate(pts): + q = pts[(i + 1) % len(pts)] + nxt += [p * 0.75 + q * 0.25, p * 0.25 + q * 0.75] + pts = nxt + return pts + + +# Left: lap timing and a (made up) circuit map. +left = pod("IC_Panel_Lap", -PANEL_S, 0.0, 0.26) +panel_frame(left, 1) +text("Lap_Count", "LAP 2 / 12", 0.062, -0.28, 0.555, 0.08, M["white"], left, F_LBL, ax='LEFT', binding="lap_count") +card("Lap_MapCard", left, -0.30, 0.13, 0.40, 0.49, 0.04) +circuit = chaikin([(-0.28, 0.02), (-0.22, 0.20), (-0.08, 0.27), (0.02, 0.18), (0.10, 0.24), (0.24, 0.26), (0.30, 0.14), + (0.20, 0.04), (0.26, -0.05), (0.12, -0.07), (0.00, 0.02), (-0.12, -0.06), (-0.24, -0.06)]) +circuit = [Vector((0.05 + (p.x - 0.01) * 0.86, 0.31 + (p.y - 0.10) * 0.80)) for p in circuit] +done = circuit[:int(len(circuit) * 0.42)] +gfx("Lap_Circuit", stroke(circuit, 0.008, closed=True), M["grey"], left, 0.08) +gfx("Lap_CircuitDone", stroke(done, 0.011), M["white"], left, 0.10, binding="lap_progress") +mesh_obj("Lap_Car", arc(0.0, 0.018, 0, TURN, n=24), M["red"], left, (done[-1].x, done[-1].y, 0.12), + binding="lap_progress: position along Lap_Circuit") +text("Lap_Time", "1:24.317", 0.125, -0.28, 0.005, 0.10, M["white"], left, F_NUM, ax='LEFT', binding="lap_time") +text("Lap_Delta", "-0.438", 0.058, -0.28, -0.105, 0.10, M["green"], left, F_NUM, ax='LEFT', binding="lap_delta") +card("Lap_TimesCard", left, -0.30, -0.52, 0.40, -0.20, 0.04) +for label, value, y in (("BEST", "1:42.108", -0.295), ("LAST", "1:42.546", -0.425)): + text("Lap_{:s}Label".format(label.title()), label, 0.05, -0.25, y, 0.08, M["grey"], left, F_LBL, ax='LEFT') + text("Lap_{:s}".format(label.title()), value, 0.062, 0.35, y, 0.10, M["white"], left, F_NUM, ax='RIGHT', + binding="lap_" + label.lower()) + +# Right: temperatures, boost, range and drive mode. +right = pod("IC_Panel_Vitals", PANEL_S, 0.0, 0.26) +panel_frame(right, -1) +SEGS = 10 +card("Vitals_Selection", right, -0.50, 0.405, -0.30, 0.515, 0.04, r=0.02, edge="chip_edge") +for row, (label, value, n_lit) in enumerate((("OIL", "112°C", 6), ("WATER", "96°C", 6), ("BOOST", "1.6 bar", 5))): + y = 0.46 - row * 0.19 + key = label.lower() + text("Vitals_{:s}_Label".format(label), label, 0.05, -0.40 if row == 0 else -0.48, y, 0.08, M["white"], right, F_LBL, + ax='CENTER' if row == 0 else 'LEFT') + text("Vitals_{:s}_Caption".format(label), label, 0.028, -0.245, y + 0.055, 0.08, M["grey"], right, F_LBL, ax='LEFT') + text("Vitals_{:s}_Value".format(label), value, 0.06, 0.39, y, 0.10, M["white"], right, F_NUM, ax='RIGHT', binding=key) + bar = material("IC_Bar_" + label.title(), "segments", ColorOn=RED, ColorOff="#30333A", Level=n_lit / SEGS) + gfx("Vitals_{:s}_Bar".format(label), + quads([slanted(-0.225 + i * 0.034, y - 0.008, 0.026, 0.046, 0.007) for i in range(SEGS)], + us=[(i + 0.5) / SEGS for i in range(SEGS)]), + bar, right, 0.08, binding=key + ": Level = fraction of full scale") +text("Vitals_RangeLabel", "RANGE", 0.05, -0.05, -0.10, 0.08, M["grey"], right, F_LBL) +text("Vitals_Range", "412 km", 0.125, -0.05, -0.215, 0.10, M["white"], right, F_NUM, binding="range_km") +gfx("Vitals_RangeTrack", quads([[(-0.42, -0.338), (0.32, -0.338), (0.32, -0.322), (-0.42, -0.322)]]), M["track"], right, 0.08) +# Range level: quad pivoted on its left end, scale X is the fill. +fuel = mesh_obj("Vitals_RangeLevel", quads([[(0, -0.008), (0.74, -0.008), (0.74, 0.008), (0, 0.008)]]), M["range"], right, + (-0.42, -0.33, 0.10), binding="fuel: scale X = level 0..1") +fuel.scale = (0.55, 1, 1) +card("Vitals_ModeCard", right, -0.42, -0.565, 0.38, -0.435, 0.04, r=0.02) +text("Vitals_ModeA", "TRACK", 0.062, -0.21, -0.50, 0.10, M["red"], right, F_NUM, shear=0.18, binding="drive_mode: active entry is red") +text("Vitals_ModeB", "SPORT+", 0.062, 0.14, -0.50, 0.10, M["grey"], right, F_NUM, shear=0.18, binding="drive_mode") + +# ---------------------------------------------------------------- bake text to mesh +bpy.context.view_layer.update() +depsgraph = bpy.context.evaluated_depsgraph_get() +for ob in TEXTS: + name, curve = ob.name, ob.data + me = bpy.data.meshes.new_from_object(ob.evaluated_get(depsgraph)) + ob.name = name + "_font" + me.name = name + baked = bpy.data.objects.new(name, me) + for c in ob.users_collection: + c.objects.link(baked) + baked.parent = ob.parent + baked.matrix_basis = ob.matrix_basis.copy() + for k in ob.keys(): + baked[k] = ob[k] + bpy.data.objects.remove(ob, do_unlink=True) + bpy.data.curves.remove(curve) + +# ---------------------------------------------------------------- gauge animations +# Every gauge has one "fill-up" action running from empty (frame 0) to full +# (frame GAUGE_FRAMES) with linear keys. The runtime never plays these: it sets +# the clip time from an input value, so time / duration is the gauge reading. +# An action animates whatever makes up that gauge: object transforms and shader +# inputs (uniforms) alike, each in its own slot. +GAUGE_FRAMES = 100 +scene.render.fps = 100 # frame / fps = 0..1 s, i.e. clip time is the normalised reading +scene.frame_start, scene.frame_end = 0, GAUGE_FRAMES + + +def gauge(name, signal, lo, hi): + """New fill-up action. `signal` names the input and lo..hi its range over the clip.""" + action = bpy.data.actions.new(name) + action["orca_signal"], action["orca_min"], action["orca_max"] = signal, lo, hi + action.use_fake_user = True + return action + + +def key(action, owner, target, prop, v0, v1, index=-1): + """Key target.prop from v0 at frame 0 to v1 at the last frame. `owner` is the ID that holds the animation.""" + ad = owner.animation_data or owner.animation_data_create() + ad.action = action + for frame, value in ((0, v0), (GAUGE_FRAMES, v1)): + if index >= 0: + getattr(target, prop)[index] = value + else: + setattr(target, prop, value) + target.keyframe_insert(prop, index=index, frame=frame) + + +def uniform(mat, name): + return mat.node_tree.nodes["Shader"].inputs[name] + + +rev = gauge("Gauge_Rev", "rpm", 0.0, 8000.0) +key(rev, needle, needle, "rotation_euler", A(0), A(8), index=2) +key(rev, M["sweep"].node_tree, uniform(M["sweep"], "Level"), "default_value", 0.0, 1.0) +for label, signal, lo, hi in (("Oil", "oil_temp_c", 50.0, 150.0), ("Water", "water_temp_c", 50.0, 130.0), + ("Boost", "boost_bar", 0.0, 2.5)): + mat = bpy.data.materials["IC_Bar_" + label] + key(gauge("Gauge_" + label, signal, lo, hi), mat.node_tree, uniform(mat, "Level"), "default_value", 0.0, 1.0) +key(gauge("Gauge_Range", "fuel_level", 0.0, 1.0), fuel, fuel, "scale", 0.0, 1.0, index=0) + +for action in bpy.data.actions: + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for fc in bag.fcurves: + for kp in fc.keyframe_points: + kp.interpolation = 'LINEAR' +scene.frame_set(round(RPM / 8.0 * GAUGE_FRAMES)) + +# ---------------------------------------------------------------- camera = the display +cam_data = bpy.data.cameras.new("IC_DisplayCamera") +cam_data.sensor_fit, cam_data.sensor_width = 'HORIZONTAL', 36.0 +cam_data.lens = cam_data.sensor_width / 2 * R_EYE / W +cam_data.clip_start, cam_data.clip_end = 1.0, 20.0 +cam = bpy.data.objects.new("IC_DisplayCamera", cam_data) +C_CAMERA.objects.link(cam) +cam.location = (0, -R_EYE, 0) +cam.rotation_euler = (pi / 2, 0, 0) +fov_h = 2 * math.degrees(math.atan(W / R_EYE)) +fov_v = 2 * math.degrees(math.atan(H / R_EYE)) +cam["orca_fov_horizontal"], cam["orca_fov_vertical"] = fov_h, fov_v +scene.camera = cam + +# ---------------------------------------------------------------- render settings: what you see is what the display shows +world = scene.world or bpy.data.worlds.new("IC_World") +scene.world = world +world.use_nodes = True +wn = world.node_tree +wn.nodes.clear() +bg, wout = wn.nodes.new("ShaderNodeBackground"), wn.nodes.new("ShaderNodeOutputWorld") +bg.inputs["Color"].default_value = (0, 0, 0, 1) +bg.inputs["Strength"].default_value = 0.0 +wn.links.new(bg.outputs[0], wout.inputs[0]) + +scene.render.engine = 'BLENDER_EEVEE' +scene.render.resolution_x, scene.render.resolution_y, scene.render.resolution_percentage = RES[0], RES[1], 100 +scene.render.use_compositing = False +scene.view_settings.view_transform = 'Standard' +scene.view_settings.look = 'None' + +for area in bpy.context.screen.areas: + if area.type == 'VIEW_3D': + area.spaces.active.region_3d.view_perspective = 'CAMERA' + area.spaces.active.shading.type = 'MATERIAL' + +meshes = [o for o in top.all_objects if o.type == 'MESH'] +mats = [m for m in bpy.data.materials if m.name.startswith("IC_")] +result = { + "objects": len(top.all_objects), + "meshes": len(meshes), + "triangles": sum(sum(len(p.vertices) - 2 for p in o.data.polygons) for o in meshes), + "materials": len(mats), + "materials_by_shader": {g.name: sorted(m.name for m in mats if m["orca_shader"] == g.name) for g in SG.values()}, + "shader_inputs": {g.name: [s.name for s in g.interface.items_tree if s.in_out == 'INPUT'] for g in SG.values()}, + "fragment_texts": sorted(t.name for t in bpy.data.texts if t.name.startswith("IC_")), + "dynamic": len(C_DYNAMIC.objects), + "leftover_text": len([o for o in top.all_objects if o.type == 'FONT']), + "actions": {a.name: [(s.identifier, len(list(a.layers[0].strips[0].channelbag(s).fcurves))) for s in a.slots] + for a in bpy.data.actions}, +} diff --git a/apps/cluster-demo/blender/cluster.blend b/apps/cluster-demo/blender/cluster.blend new file mode 100644 index 0000000000000000000000000000000000000000..5d8e41b9c504a6b4d84dbf78da18154c7ade64c3 GIT binary patch literal 647186 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�K+e5FzZxsbhc3-bwSfdr#H=_$p-3DO6lJwHuLD=s**q{N{H@LIX z!D5`rDwXvuY}&8;txYDm2ziB#PkJc$WnH7CmDi=`xBZW>!L0_^u2}&eo4_7RS2+s& z9O|aI&V463PpiN{#_gJk?K!Zei1Q9OzpamnQhr>0no5y^|L_}!W*Q(pXaxY=KKTicaQ(M~2J zVa4K5*VWSrg!UG{?EqTA_FABxfN(sWtDSbz;-S8K#L}HVtrukL@06kD$bRZ{on^|2 zLYyoID_)wYFJf!{zv4kZOtI%$X9AgOBeAW$nI4!W0~@nRT5gg#MFan+d#kax(!Y@G z!2u`?Sc-qbomQI#qoduol4$Hv^@sSp-o=TU2F{uQYcUXO11V{^tn z2C5dCgs0MWB$BLvJuFJ0oZ9qNPHiIAQ~RJ#*xgIkHsi3j8PM5@*o6KPcD_2`(BYq~ zZ~v@Yq!ZDiAY6|YH?hN0d#-@;DLC0YjfsdZ~LrYp#Qe^z1s?6N*)khtbr z-;^M+um`Hg05A8RpejRH(Dk5+SzGc|`u-4R6~wH>(Lz|9{$cNMr~{NU1DeZwvUUB! z9&f^C%)*{pH|bNMErpXqKfdas3xwFjXdl}*QX=~u%;wq2pQP^5K%}-v11!c6AiXq0 z3|Q`M>#@Km=;23sezm8wIMg0%6`@QH7NoeKtIb$z9uhWn8Dz7yw1?la!C@nfsWP}T zt#NS&kdscKXPg8P0v5#%Y~vH_u5QRsc4z*l*1u2Kt65EfYaVjLI%VGZa|b}Qr58Di zM-4g*T)SGJW;BnbtHJ-0sG3pbo!h&)rl$ z!DMTU5Z62nHFQb4EVb{8&*z&bsE?I330vqk>nv|{Kxd&s1Nvz#-hnNzpZ2e_53gzo z%OXo{jULHUtmR7!`0u1`@ST}n?hmlX^)h6Zc)h`vdW5ZL4kN6U=U9JAmTu)?Q}MA6HltKEXQ*8shU(u;&?#o$bVQ#K02FM?MN$@(o+h|4f!~Yk2$_yK1O) zucIFDC7iVMXg44y^5-$^%Mv1GkT;n%qdhnVe*g|o5`^~xekV=ceV4ZrUeGRiU%f)o zt`kD<-{4~D^w7B*SOb%bBz!CfIPCav`x^LH zJ?6z0O_~E|v~hWg`1WGAv1K1(%df2WyR2nc1Wkp6`oZLM+-GnU!GD4a2GZ*m>fcA} ztY5h=Z6M-;!qwb8Y1!mh{M~-BXyc}x(!Q|9*Fig;YeA6ROV<3j`F;P1q`zij-;9|C z^LUnE*F`Fl2_`OLUU6g&I~vF4*r%oy&qEdM1cWv%SE?sqe;8zOZH?Ga_%ca?2`qeqw=RSmn*$@My;K$b ztY}6lF-<<~Eiz1G!rn!sR1GEr0_<`2OB(g{JM5(w^P0S;&Rs?Wn@$mlXHrw!p|?qz z?K*0Re&AsjVt-%H_ZHzdlf|~K@YN+yt$+MU%c-S9Wxa^Uk|43Z2e1T2uU^8f2;t?? zmA8+A;~K(4omDL(hP3JGYqGS%23ejZ=E`^&*UH&I4KnlQWJjuFOPIqq00#~Qrh<#r z*cfpY@aI&g-Av6Gn|NrNI=w`V7&iTEg<+5o6|&CEp3ao(0S}5OF>mA}i%E%g83p0$ zuw-M0Ayl%>vciO$GrIa`q|RUa=Up52UJuT@mIbRY%@?WGWsn=yy4}}CZ(&a(p#AXJ zd+&Ad5!NO11#5aoe>`<0ANcvh*QXjwAOufL3$R<%%@(vym}W0vz~4L80eK#M?QXdA zt*GJBQzu%ce}xHZ$m&820dt7CkOFl94icq#W?@pv9>Af(?>oc`;4++1+cv=hQ|KVGHMt!Lf(U1fMD^U$*5bJ>NelQE)4kYqdxHqaWSjebnNc zD?ND3tfv3epQ;BTQ`+*>n&M`N9Rk5TgB7v?9Au3JK_9P8_OyinO0s!1_S(DWT~l7I zwoklH`lkc*vJ3yvf7i88-mv$Y23w?A&A@$T-r9#mF$%22r$>!vb|{zqt$zL*3Jubs zlz>)QUgde0+lUUyY`*zt^{BqoT(@-edbG7V33XtYW&S>>R-mB>aN1pD~Vv&U^aq{ zaAWlm1YQFb=Y*fP2oAQ;YtOaV)WvmOH4TpeCQs)^)Nf5bUth; zYM&(21Ea2?o316?cRnFQ(dfB+42{ZCWm}-;!g7!Xul3QQu(tZLPQ$5LXpiyL=&{wU zqp$Bx0w)=%d7ipax0CbLHMJ6f+xTn3`4#atV&7+)DJ~Jh6&ysE*S1I6@w#OaJlOdp-4lpX3w?1c_}i(ngW;BbjVpkq+?QXrU+AN%mI1Np#t? zY02OpY=*VojFI%6d%aq|_$ag`mhK6z4h6oZA5ZB7IG=3Js1})b zOAR>atgv?c|87h&~nXK)~%Y*VxF%2xDVwaU^mpc$Zr znIRaWw@iJaInAopo}tx^zqKr( zE>%iS#9p~n;AmX0y!FDsO7~R~0rhUI)`ylv0MK+fd8zx)`u^!^W3}_u+^Y9INg7h9F_XtBn{^0uRY!j3cljS+Y(>#(9Ix7m_pRF`S&_ThiMwoSZEu@3#^2M~I@S zZ=^c>LOI=zZ;A3@S3ace+%}-ur=!Q=2(^y3SLopKLBH(^_Rh}j!$=l%TbLv?a{Kwj z@N>q%#O7th#iO3@N z)0gA`FmN{ozd#Q6^*q}@?`sPm1k1;NZ61H-8xpuRzHw+gwJDOWPG?>kEPTZI(ZDGx z#FF`6@ms{HlAGd!4~nzi87rQ;ib-zKS835qm6euxTNSb^{t!7tM!M z?IxD3=eAzF(Etb~mU&uOW{i*B&3ob6@sBk7y0e^UrKGf2)5MeT#fNaa@4-)MOLhNH zi{1ew(*j_WbHAhD(hI=_N(>q^416e8-bVZ~MwXMXqq|Abtr_%ub(1iSs<-d<8OpCHkgxjk%}_6T)nuQsVkn0-Ji}* zmFFNZcLMpk4yrl8a_<|6NA~M{UFv+p`oXxW*Awh1I`gYKciEnCLRtI|T(GZ>!^VZX z(7khG9@IQfxBtecFOK_<2tWvW$B*K$FfX z?r&AaJ+0b)MUi4|inWVKeG`6j-R=skeB!CvO*dyR8`G2DfxOOARrJ z72>s-G(5RmIJVuZ)Z|(QJ&xK=K8KyXdBCo6+Lmqf)`pKCwizg`Dl3@cGW>#4+&V40 ziyYC;^^B=tnv&B>{Eh{vC%=r;$mTOM*TOmN8Wb)0RJJs6$b3*lr$!gvq3C2s!Bds8%KL&G>!Izn*^;FVF*!v`CR+aF|Ylm`L=A*p!u1-V3YU#(+ z&;eiZwMDxhO7XRax)M46xtcqdJsX^eZ7B4mHPMK{Yf;VQ>PihAP%~>JH4RO!-U+5P zqtB@D9fWR&t7S?leLSCd_f`ue9isLH0}3-GHQrXAUxNnjob%pr=)GZVHLSLTmi8KS z39eS-z&OjQF0vw|yeK|8EAv=;cIyHZ1bl4#q>c3RR3bhNv?FL*#joxn?OP78p$Q|J zsht!+0Cp=n(^n}u zSKb9DCsj5^^)@TMc*Omk{4C{NY8C;hbeEc+lMh@w{Cvtgv-$zb_yb#x-GGS5BkJb& zYGayl|1{e=W@34-o<>q9JyOSdvZLv!?$ zX5~PRX6z%J5stj_jePr1y8ooKIY-G*A*t+n7Vw5tuPzy?(G4N0FQ1;66>rU#{Jj>kcYIHS*aTeTMS8HVzG-7&xGIRA@T3Lf`%O$DD>cP!FGEb*3GI^Qy zB(o?TP(nfBXo1|QQb z{kt;_XVdhD=m>=0@vmZ*yf!_bOUzQSjS~MGTi;DTViEJs7F8E9YrK_A>RFlI{xD~4 zt*Ss?-r>P)nrdIx-E5$aEmw2_f*93`URR@aY-AQHgo*q{=G!=G$dl>vN!RFj$n09h zoc@qmmb6L!LuOihXXJ;>TwNyPA+ubKBHh*q!-349{t|KnneReTfRr@5#MNV^Uhwdc zXU|3atJYe(d@eDJ*I7H8r3%p(=9}&OV-DnswgW&+?Zy%7S&m9|6OoL1g&*ZjWLye$ zppGtp7zT&h$0Y(}a1<-pP!i}lwFtE6VXKvEUX`9^kDVqeKs`5Eq!o9;I^JWEDF1Zc zgu*0XtU~OW%@(~?4kn-v2>WuN4P=J8i`!ae6%y&_zGBXNDb3fT=sG-~E(kD2tfU=l zkdb_o4K_xB5z3NX#PG2RFp{YAh#fnpb@TE@O2a?JW~wXE_19&J-IKOEm&Xo4dTBtk zvmh0KbIT8>9p(+jUa>QuQ$v;XKIetH>}{@Y{9cmQmyx=RutRiCdJv9L;9hiaCqPm>|wieAI^SHXEY|h(MXKSQ(P_w(@?RikSgtGO>{$0>8 zfxMt?w9k-~-N@YG3-n6WDR%3aPgGPSKgOI^XC}5-Vr)qq_CL%7c@5k8=fD(trK0I) z%ktS~Wdm|oYl8~G^1R$BL><#R$0sdY3nKFY2YmkQ0hyS}jjL%&HmuhZ&U_RURfc^h zmY^~~Pecb8l)c+`&CWlsUrocwopBNLD4Si~c^`YbbIv{8k%X34a#O3_?po$j6T2vt z7^oq%SKqKN7RyleC{ccB+J0zla?q2OfgVrr$sr~buJIAJNRy*a)XBM$?xR=}as|#b zHW^`)XSmv=WP@NgwlT|WZHPqrV|it;a}ANkrCb?v$*^=V@<@BL5YEq|YG-ORM1zq{ z>LZW`Bi|TJ#LhlNuRcaL@ryF($&$P;%A|PANNbcyo12l{QNHDPL@|QWOv&g9-t&LY zMP$(?9Gw@DNq!~}y+pQwq{bzoG@Xi^C_)g=S7g*JhU&G*zpo9ss5&c);X~YI(El8a z>^Xy&5e!rEs+=p-#!gW1l=7Jitht)^nodDS79;1VW+M~GDLsi-;4(GO=8O>I|C1~K zJnllKqUhepXe5cE8HA=TzCiC-ir6p)%ZFJJvPaQB9So+L4;?et$dk!B8%Ln& z;6L<@3Iy~l`3FCw*%9ap#J+%8sX5cjEPi2dc2^XV`se+Q=uJ6MjAbumcke34U^kBW zxIy!bXTyozuv3g1Qt0MoOmOw3o79GjU3sl@5c?Wf1fQrdQw4ITPL>h&rT>Fc;1YXy z;-WzZJ;NV`TwpE1>pQ2FDC*gJa zNxj45i%d1V6nQ?)r{QWDRX~josYO?c1!58>uOsWjOvuj(XE^x1;@`v$k?ZcKMe?0tJzZ6O>8zR}Q#R zo=AdC1W-lNjkgm}s42U`gspN%Kn`F7L(b(CnJn@t)Q9RKWS--$(~2c z5qwI+y-Y!+(^^X6W!Hp|>_DZ6i=fy; zdKnILoOBi{shQZ7;fZ&!_D!jfN=LobtU`5d1UBO7ea)Kd-_j{1lAWYib59(D=sOD? zWb*5xJiyl@L0l%46Bj>RPfn;OlS@h`*#6!Jb zBJc8-v$Lhj6hNG+6^SNUx^ma6pIGJBfRR-iN1`c}+W$@k*@@I8>UicNCc~wR0=EqJ z)Hn>q1rqI|u4^iyK(-o?^>r4hfM|*q{lr(gjY@>_MN{jEn9%)YY*d|91E97{Mfx&X zO8NbZLycYB?AZa+@;C+=`q}Kc>NLN4jwVALp0m8t+BA*9bmR;Fj6^6ZuQy9NB$+rY z$##B)$%S1knY3<^pa_s+vLgG&N~Fz&7)oW9Sz$v|?H}H1_cKNoR7%--N%Hz~2dQZi zSzR%p-%7rnRJ7m@k#~K%E<}ZIyyKabw151Ga`c#jE5zfLviv*5$dQS~Ua4-a=@B2M z0_Q<=2-%qEV^sIUx(ttZTM|lQB5_!Ej7}h=cg5w1QG(e|MT_Q-A{hCl(IshK6peDU zte~=^vF^3cV3;j1qVbFtm`XunCS_qVlNgPxwu4Sw@^D}eCE0Z<$jZ>Ff)J_{F_M-r z5jbAmj}gOK12K14s_3s~4m9K~J;LvrbK>%U*zmMdB}q1b+$AvX%FJ-;vgse?tkdOY z)}dwh$Ikr{?jwBxOmaa&c)&2vEN;#Ul^^qGMNxS=uf)0Nq z8MjU}%{wQJa_Qq#>poc9@-v|yfrn4GkFMY@nC)_`?PtDLmnqvQrG1SXw4u*@DKJ4H zm!J9=SC5%cOx?Wy0d}IC}dx+ z&k3dmE>Au=9!_i&kz%$s?Iyec@mzEHgp47P0{LC=ebwCqXY%DpP`rlxIVY@Tiz>uq zDdm;vb~<5iR?}G_C(dVHPLFcD;H>)r&vJN;p=2kc7)(H>+2QFP8cmW(0&asoFm5SBT9%yMf~D-SDh+ zQGe7@*V*@w7?#{mTMHrg3qAE_V{;K^D&%aP`C+O16!$s8?gXTD`25yd&IUoUMcQf@@ z&4TsNZUAJPUu^+vWZQWXpw3~`{TAMz;534cKiN_yuZ$?3%lt{UCpcw8zE=!G9@7I- z*z-4Zuo4}~fXfy62scP8VXsNJMEGBG?4UY6&!oJ!-{@vFbdvY79J~LU6zpSO3g&}> z^BA!t69Q78^EPy}5{}7uF$db*DTQ{BodQ3yrNb%Yb_NP_`bG{?o1>ScB{u470fKO}u>OQ~}T=QQUU)ljs5%kWHsF{+%O7!%tBIkA>@3HOB zVS)}>CgjH6d+#l!OaVv|#1+C5sUiwNB!ZuysnD3_3pmP`Fq3{$z@ybn z4nTlUVf%Cl34^OhSRuqN4UBq;VNBNoochVCBvT8lde5d|Jzy&>q+~hb0$*t>6O-T) zeB}#W&1OU?cr}92kH&ykTZC=}OaZUrm;)e%26$BjtI*aQc$G@d$ZQVyN(@gW?IYOA z7N4fVSg>lDwkQ}7z^O|_Q1!I{qyAxDp&12J`O-tn=?eIifR3#pH+Tw;(*pqhz@>7} z*VQXHO4wYOkOA-$HBPZlF}TTB)wfFkSP31?x(^gQI)e=SX8mWCn4m)?uw+Eyn6w!o%pp?@!RnY*V~Qk6X6MBX9^tsAOF{PN zfY6Gquj~(S!{7!%z(B8Qc5C|}ySeXWuuebCdbFkM3M!8lTvP6j{|gYnAy6Pl2|-Q{ z3k2-CTUnOn(9N$i1VTiKBIWWdR{X(^hFfHqfSOy1|Ch}}=$$)v?wp&tN#o~1@Y8(% zcJ-$@NQhFUHH{-**CL@__Hbg z?1?`+`DaJ`S;#-z_-7UWY~r6i{Ii9BcJR+~__Ke1mhaDM__KO{_U_MG__K9?cJ9y0 z{aFZq*6q(W__GWCY}%hy@MjVH+3=sO|E$=b{rauXXl^3^V4*GI?hkO`Dr#k4g1q)ewxfrkNIgZKi&G% zTz)#sPha`z)SssE(^Gyr%1=A_=_Nls`qQC5egCxQPb2y1B0nwUr-A%*kDuQ0(>Q+G z#!t`qX&FEL;-^{swB=7%{zX|_N|i2R%JPLKbE#R;Wl|R>lHBS(yv)hC#kPJ`Nqoz+_=E4H@dXFOUO=z88Uj ze|~{}TU_677gyKU>+AImGhn~~*qB%tk_{R(WXO;KL#HPOPd(3Z-WU(>?!pDT`_t|d z)B3K?(gy9tz;}rXGfd0Y3EfBsjDDo_ zqtFA8A3uH=e)s?+NRS~yhHw~ybabR7BzXXlT*Oo)8!26Ye57U!Xj!zNZP9YZWs8CYW@csxy09W(Z7pjRi^E>Ng#VL~fxm#mfC(d}7BlAi9djLf z9UB`HDmJi5s zR~Og0&b39$*{!UsH6Ux{t=3lN7T`XsD|@lLGS8LFb1SQ=R{^Lx)v2a@K9_F9T0qzk5c$mPg`CK)isPA*9- zOD?U6OE;E55eiXVFm_(LQ9AIMnVBJR$7&aC2Q4-PT5Jfqymfg{1PB`#QX?{8AKWMr zDuFxP0RX~=fXoGB=b;HqR6jDtPA;;!E^lEuCNP~yg0WZWo$ zcVL-2xrTxwXgl2bT)N=_LyBb?VG2O_t2JrkwS=TL{2Aohd;pr-F>Tnh=;l@Ikgn?A2IG(4l(y-(nn*d8OR2>On$Qz?E#&qfR zwNY{EgQ2a{gr}=GLstkg$Qz?YW`iKInnQ_#FT~&_eE~WgITUlKazra?Cp;xBRGjVd zr9*h?vw%+83{#;}MLdIRLNUDR>7Q>75*4pV(43b0OuA*-&jVi8QWIK;OwF~Sfr zh`}?6DXi){QXPju@@g-nIt-)Cc+D~=g;f?Hi*cgN*fIzpmTS~yOvM`nCRpza! zLaJlUkwY*fwqRk^h-vFggQdZ>$SnMdCCV8+F5xmX;=B!n!cDkhh`W1iPT)v^uZ9xE zAGk(^QV+m)q&mPRJY78?Fd-(a(1aT)Dc;@~mBJVX#Rfu}Lz2fp>XNcF2YF(8(Pu&4IH_z4!VkEd(Tm8dXi+?l%)@8|LdkRpdLrM(cceNtV2MHo=b~=!t|Yq} zO5~#vht?NBOw2^AA(l%ff~h78gjEy8x+ImP)v?Q$0FE5t#-zz?&>d9bXOhs23EIJ^I;sd9!VF^)ya4zb+iWqs|v*4?RVFSi6u*2{g9H}r0 zG+JK(v6z@i*o^g#IPT0C)MWhx%UAnAOw8o#TI5y4Nc{v0mz51M_{WTJ0nEy)p+vGu zyzrFdURbb79Cs!RRYyXZm=FX?9>Pr>&Jfu7nz7zVFiIL$8q=j9hveCa255Z&(j2IU zk?Ne(xMC35vCZfZCOY+Lz!>Hrk4{@!sN2ZAKW|j3gnc|+AsA@^=b|nS z@hQw>AXSb+m+Z&@2q5#8m(&pUuz#XP~&NVicYcv7M4GXJ=4#?swmMC>7(7cf9 zpfCs^3y{SMa#K)U)L9r)A%!t)X^w13UjVy1OrUXRF0^{#6f+Uuk?J55Vr4^fD3Q!Y z9SPz*5?f+C9eitWq{IwtAmRn9ui`z$va&199^#_7xUgb4H7+i!so6uU_>*aB_7Imn ze5Kjr|HW}}aZ@y$0xvX>i`#Ordr;d_7pc2IpCGxz_3$oWun^ecf(AhVZn6wmR<~^+ z>j%BOzYP}pE^O$aH+aEMK2X{JBY;Do;8|4Dtt})5T@wzWPC+hWsQA&UZv9t70Ea-q z_ouhUz+7eve)_;qcm1^1PjCISfuAn$(^xcC*40m2{WMk8)K3%m=_o0v zpMG-s>877%8nE=!NfJXZ1qn|GNX`_FJLqrD{68h<&pZ)>*=^h^dKh5*gUGGnC zx!Rx3{`5@K@@(hMKhvr6&vO2GPV7I&`DaNu|NO?yKezekHEh)UGweU3Npt3(&6N3P zGXL!QI_96n{4p!#pGnXz~{#naEW684m&sY9g)k^9=qy96MDyRQ!`p>0P zr2KP~e|`eR$v-#w=Os-3nN-Q>KPUO;P|<(>1ik;+{%6neKXY~>`R615T*Syf3;Aav z|2*WMH~$$3kRbo;D0)KiB=Ugnyp!&vOxeS%Ta@$HDzG zgnxeU=JwBR|J=X<+dnf{@Xu@ioTi5M&u9OfK!MpmBPjc4@jsJ=!T((U^VnDHpTqw7 z3(V`E5BxJ%*VaE9_~!yzS^tdn&sJAe|4cRY&jkKCO6s4Vpq&1>>7SVf{Ik;1KPUaO zfEnqZjb@{xqJJj(=Kw=O{~YwsKR`bJ-1E;o0A}w$cmH|&&)ix2&)J#&=j<;J&cCcU z%m4g4zij81>C~C?%W{4>HV&L$e)G$1e%TG1Usj`L4eT$c`QoEJmmhz*(ealRf0^-@7e)MXh+jth z<-}hG@ymz5{NaP)FBAT9;V*mmWx>H;4*cZ~zsv#fm$UwU+3%P6`u2W#gN9$u@XLA_ z@_rfbmoMDe{j!A$zf9qm>FR!2!Y@zw<+%uPzbyC5NN~T*1>u+9e%b9o+b=u#Wwu{# z@XH1m{PKdeUsn5Nw6wEdR`APazntKguMqt5x9pe2zfAVa;a~OwkNtA}%imuH`(?3T z4*U9LuV3c+6ejyx#*XVe%a`k1N<`4FAx24kkBvx0QvlK&oA=;@cwf5m$%$s z&T3`)m*-!;EZ_NW=Rch~|K-ey^FQ|g8#r$MxB0(@&3{-mY5t@6Z{|#y|78BVzK;1X z=0BJ)U;caf&)VAMKbQYnwq*H_<^PpcEB{shqo!8*PvyVq>6HJaQvOHz{{)JY|4sfc zVWQ+e>Hj37qW?qxe}dls?f;(R&i|Z9{vY{Y#0Zi9L;i0H3GyGve;+@3{MY=ygNKg) zIsV_kk@??7jsGKl~^3F!*2aKZg$g0R#X0{r%_b+xx%ae+CWz z^)UR$%e(u3;lBmD{}d|xr>mRrf9`(-3IF5d;QmAS|KQE-f7|~C4%q%P_`kM5?SI<; zGc*PN6Z}VDR`y@~pDYaiU;iKbiv17!{{`mt|Gi^aMs;d7~ z{|QV<{g3+p1m*O|+yC-^`oH#n_Va%^R&8xq4jg1TXwZO7Yio-E7gyJU18WD?)V#pJ(!#>f z#LmVPD5zyH0`M=BiS2~#)RF59egzqsjEh(KRep7iG3GL4h`9`NDTk54V9H>=(C|{D z)dp*3mrS_}7nzH^C5IL*S#*2{6BC7|rU|ms+}u+HsPnj@X+^dotIDcAl9KQQ+$ky9 zEd}}JhsdR-Q{*YXTx$9s|M4FOB3A+OAXrvqI)rmP$SI5?$BF#_$MA>p8`;gF?4}I} zHZq$vYh*QQU}f0FGs&K$Jm$Cc`5+#=U z&cruh?@dh_G-P;sf`WsC0O9Rz>;V``PY)^&PfF^7)P+x3uu!1_gCqc4eRJl#q z9c`)j-X+AyIk0-+CSf507+=~g>BNB8nwdLNYLU?Ge&pcbZVa+w%**gzynz(f_~I5J zqQ?u%=?#MZyg#U-)tI~q-`t=Q`nd)3tT;*XxH&knCUq&?fLEZER<|GHpv`sqx%;T@ z#0f;Y`IPMT>R3#16}$JiF+TT-+#BFCwuA1h?2xdpd^z`z`DLP~FeAF}%cmw>CQ2)7}k0IIO9 z`|ydJlvk4*!~iKzQ3LM84uYlji7vin7891mnWSRYxg5+>8n@R9eG5C3X|4LrTxG~JVcUplLJi*6Hbv7DedqTG~ClVc&mxZRXoFuzQXnD+@2 z2EK}%0q#mH@%KoJsk`##`J$Kd^;H@YHM;mu1qE&DLdLLG`I3sdl4pajYd zH{i})7RLKQm=3zK#@oSPmA5vfHv>|~du~$|35e^aW7T8gG`uS~;X!R7aoYu+QiaI7 z?@l+dVsLLgvpWV32;Lb;KfBU)+S5)!^0jo_p*lW#QtRJUXiKu-zcTM~yMkwh%FB;}nC(b!uO z@G6JYi(4|ybOw(5mPCp>%ey04J1uDwcO(ruldNNRf0UJwZP=$hWsI+F7z9_ zA=S3E9|9Qn&k?vSm3 z0J=a$zq%RkZiH!haW87xxfNf3>aDsox1t9bb%8HcZV_@MYb-hscL+J%s!=Oga;1DSln`?Tw_8t`j(SWG%n#)z2$o1jANLt-Em&HjD5hF zaL28Zjz2~4+;M7pj7>90xaF==jJ<50-ExkH-umd40CdfQ_y#ns=R$HVQ5m z+!mY!!aaz(@$`%?!~wfAIEwLG!Fcyou@+8sZw?Q%AvBrX9_qj`3bEda1*9}KF}xSm zh~1ASFdfG*@5nQDjfZA#5@Kx_$&&8LzzK?q1a3-86d)v zg;?zm;B-uAYr=w6{c-O^%p%RI)6 z4#M2Wn_?8-uSHAq1qmm9yXN+tQkUxu}!zYcx<@r z(g1XJ1}1GNv1C?p_LDFzb7zp)O(sv}Koqf;z)^ZrWwVud@N^(YgiQ({$b#1fb`m3T z&}y@tWI1%XtR&h{9GUDTTh+Y``owB?9Rn7kVWiH!Y(^nU3RDBC~O@XcBk#)3*x5j86+fi z2cGTu_`{^J(;g=UDKgi@wgmvGVQ6XJc2y|92(UlR3^2^{v_oymxG7IN36&_WB3-tU zEH3p=DwNG6%IE43k^Mvn=?WXEwv;SszEebg>{ABfF`-TeHtHQCok)a!>??8H=q|z7 zTii(O=rCxvYFYK%0>p_e1~a@BjboQl;i(i0$A%4UpasH${l*DSm~G3RbA*$D2EO~D zP2x_2ZaNf{0%X&@&0=;J+2ZC2a`Ul3W}KI5cw=c8dsPbFY7c-^0nqZDv^sF}nAZ7H zmgu{^^VHYUiR;ZZL-CCPhR3Z z7QSiT5^XvF{;~}I>^OJa0Cb`D8!J{%SiI~ud#GJYp4e-cyb6+xY*??HIQzEI2xuW{ zn{mKu7z<^S$&m_~25Y}U6`rsY?J=TCUd(mcVjMv;n{L=)`1F4KklA1eksu-PXn)Bx zBB}?%_Tt74O6imBWe*8zUYG3!=uZnM6uWgv7YysG-AegrhRLMesv%4pK_hl+T-BT~ zcy=oU2QnoCyA@A@wnvBE`gqp$TVl6%775W|x7ulPg@Nrwu0pF2+Y6`_#{u>iwXLHc zJo`(Rza+&)8_eSgB`k$@n6Kr4r87H>okOQHGq#vh1yB+A>@h>sNVz4kT{9P_xYpRO zHri0hkzk_Q6BXLxrV@IaC#oCc%Jncv^ zLW*|el_a2cq>)WCI}!w!t{thxAb<_&BzDV&Yy%U=ehdu)V?PQ&RAW0@m~yfkDT6rJ zj5@ydqGqP8mppe4HlBorHP3#RQyv|Ye@W+xzB4n*PGy}S>|w8!SC#;zFJUOz^Ry(nRC z6$OoL@vyN@*kYGeY$_%bVXa;p>eCTS4g-5Y2O3|mFKhv0tzJOd*hWNZ2NuxT0c6y1 zsr@rQZqW^F9-}%frz`fBOhVS47kf4mcr~MKY^Q`+)o0TfP8QB7CU0Xkb#_vouj4X4 zTu?5)jKQF}a=K79=5mL@03vz3TBbrt2!U~xA=)G{ALCL8m`0i`#!d*>5pBVYNvReH zQ3;Meow`IpjX58r^2A{?9^#qRL(KTc+!s45HfOwJYtCzQjWflA<2X)?#+Z)|#%s1c zV;HmK_%#mNcm|Ynat>h8-lv6vmHZ3z1=CFjvKKgf7^z&s*l$K@TIIqHMT~ z&(uJArWu+TlV$P72f(nU8Djxisu)LQBm2fmqgGzVMGOpkjDapajCnermd0Dm!w_S- z!6J$Amw=Ud+7a@i;Yr6Tg6AAmD_Nd(ZdmU4gpu`l1|q=8SSz`?IreH7jD4cUjD^5R zj*rp`jF}juj-%Erj7T_5>$)g;fZmELB z#g#8BFvrdej?JJ-jonPfZ;HIe_?V3ETy2WM8ML!JY+`n$c6Wn^FdeCO&yZBGC?o73 zF?(O7uXa)P%L~XGJE;fkK;NdlWXG?odt^IdS>0N^vZZPuYFQy;SG_?fkUe5!*^#jZ z1lk5rOj!{~vJU`ALWQ(xgZZUO#rd+wkW_$Lvcm?uR&ZMM+GS52P&H>K_^6WI!aj4Y zN+KJz)sWCeJ+{~k{NjkVVQdEg1_)Jg+7EiD{8WkA5Ykuypw+YGiePa=#rE9Xl&l0L zHXZBeOJnT{Yuj4RSrFSU#fy5)jwbfqjYx*c*UoeD!%K~=jRA=PEMQo+2FRa6YTA2X zPfR9l*nL`8Ff-eal}H_=anc4{qF7^4(dK}}ErplK79;|-h#=1% zq_%6c5Tmqd7;@;eXXs6^ZOjR5SlE{nz-qP(ye~TjAr~q(4941n{UWmRgze&SOA)(8 zB9s`Lg`b_2y+V$~pRGcSl+?ByA~R*9aP_LND~&k)*e4JT*py!|4fbT$z?nTFh@C4t zk}LDbb~M4%V=pH0^V*4-Q$Kbg;Q%E&P)?F9d(SIC0~_z@r-Mx=YQ%;!>WZ-06zn)) zD**HOv}-#(PWAywDs%Rg7CBz_lblB?8>v;$20}4vZvl9Sy)=>Zo zZ2%M+;W&L*Fg7b-XGVlE)KLP&7X!xhAD0gX zY|khgFbDCtJXKIB5O^TbvrLN$AB`EEoMF;1Y!L+G5JK^S9S37VxL8u4xxQGCoDs|{ zeLo<1^41CTrGcQV!5+_7RM0Q&j?cHtnm)4+NZ&c1WZ+b+nujmY2(2!{!~%2G8|tRQ zHZYa~6*bixE#N9{P^~4#1}rs$MSWllEBNWBsve^=nckMvWRu_|zrY&7qGnNrsanAo zG*Yg08WAqINAyU&hUN{p>s47ZXyFN_6ANp$9}wz@q1FuyBw+(ZrEbu)b@f@R*^)l9 zu(hZch*?Hqz3VhYNZW~Loxn?r9^4bP*l$S-7~uNLM8vo#S|5N_1X0&nt~~V==8c*F zJ>&}}6|r7Q@ZrnHs8k2gLBW6>=ywhn%+yy5XdaI*6)|ONzMw)re1ALv_{Q*xbLTta zjM<292TLef-?tS_UcU!e4?(|1f~{k1X2fc<#ys_iW;=3Yh}uc6lon!ez&Pj$oI}FB zU62?VodKNW6m8jcR#r|(YLKH73lbPiVL#8I(E(4h5zjhAlN5{)o_Uj}RoW(=k%cfk zFW+uNd4eWZ8Sn(N)#My&3sZoO1t_s47#l#ts9=ny#w*F#Le$+o{_xoIH6BqS>1y19 zZ*Pp_i{ZEko3k01(jraYjSb^kArR*SPMFO&%>>!JgND|E0K|nPajgYj1%;_Y$-PoI8hXJr~u{ZV1 zg1!LSnF?g6& zTS)k5Os9nfTgaK?7|yqXEkq5)SWOWiwvaUOSj>h`TS!-w@hYRMEo5FBLphecX{5;5 zvsKdGY~VBIF=fXN(gbe2!j#euLN#Kn$R*4MvgczAH-nA+1I0a-VxVdJkYRhaim0-C zl;Gi+0ZkHHvx1||qo_dvFcM%JE(PP)2e4=k0IRUzC8BD;iwN$(P|;(-ESK>NEHJK2Fk^&6T`2-&k!zqEu0q#5_Ff|9Zv)mXE zwF3TZ1EEIp1QwMMw6+BUlS*Yp2x0_YGMOWTkR;$H0eq}P$as`#?X%-W&IX{PL!USd zW+;R`S(fP68)2=yORF-if&^3magwtkytMeEt7gcSp-QkY(9t30=V{M&YW{(irruDb zrVumFXU`RKN)PKr7ZpG-tTj>149frqa!Lqjs2TwKjFwx42lI0~HFFhkDW2%w*;Rt! z5bVHhJ%w;3=!=K^1MS37xX+Fkxy-P@Il!s85R*=cO;|27tPW}T?Fx}jiOnCAP*)Av ziK9cnx-1I`5fD8&8;aNvp%c~sITb+^LzfkKK6@5a05Kvn8byU0*tsN*XKf)`Pp=R+ z6hTnaMCz(hQ;3+uhgf7Ah;mIsZY?hUnpF%(fsa$D*oDw8LXN459!wp59DLNpLBLcPBq9F$a4neSL zW*B0m0+5ivPA_1uN^u*C&CK%}G z@aPajSeXSScajSN@Y!val2urRKtZ;$S&Bw?RR>DqY3{AH^o&jfM7=GtmAFhYWMyt5 z5TXE*$uXpC!^Vy21B@bPblCnDV{I&Gu??$%k{FV!Y@vk|P$UsXk;E-CCf=Zp0DMPU zNF1VfMOpxO1WFi^tNhW_CM1GrvlLCoiz10+oLOEzrc7C`Vr{qrodsD6D3X|93@HHL zg-bDsC#ygSWJ7Y4qSaZhzH|_=EHAMvFA`61oL-4!Xs$qAI7A(s(b+0Ri_0XV^#%$B z*-C+?wmb_;u+mWZZX#BJ5(JfKxY%-NNU2!nlYr=*Ba9+ZuVN(EdO!u>D-mnM>6^w< zu2RQ~@BqBQr4n%l*({Z!Dbe7dfB>0;Gdh5MJXUD&-9$i1Jn=kHjgBF8*Lo~*1=@Dl zYO#e;gzqLo<_Mz*nWbE%m@o}Lc3tKs!gmuXJ)<*^jR$4%tNro+_qSEb2o zl{DA^P+x$ZEREIp+$ z8y)~!PaR+dHq&UyUFoE|)1s4v6Nu7)4If8FJ=Iu*jTDN>3b2JnF@dKnnRG^hg))$( zNoU&BN5-?W9-xk39MB%{U?g*i2FG#{(}_6kGV#q#h#xbx1Q`%Lz!0mwKH##(LmGp% z6SZKF%r63A4o7qT6d^3g0>tOqLov<+8bc@D)R(6s7fAGo*`i1ZS6Gu5uA5*t=zzol zQjNJ$A_t!(B4G8kFqvXTWxlnE!A3o|h%`KP zY`F1P1rzFy7!ailD_BN8gkzM507L9JMtA3e&E{8T3%Agr<*Ng%Zs5eCu3NL=SrOy~ zcG1R?)Q&97<-;Tym?mKoLr`RKinnB(UC}dR^YgpX%g=_Nq;1$l)iPkq8+XY_)Af&;D(=HPsoWTNTNqVMDjT-|J zHv20O*Tse0BcoUqG6Gg#m@LdC!l|5u!m_Upu&@$sYSrQlE2mCn=}S+EC&FH5F(b#8X+p=TrHX70R|5MO*%>byn3NwJ3nTi zRwfvAlg|9j4R?@!Y?sm`8PmzO%D}9Eh?eneCUcq9LYD>OKvzaiFfvjo##0BFw-Zzq zQi(RT1KyM;Uj*(jQ}PHo9L+(sBn|8!v^q)@g^J6XJisY3Fi%DP6d}Amps{Q~qX@yz zO9Y!BnSGQixU6yQL1yR2jL%F|#&ohL!%8>{#^KGG2lTcy38}#nEfZ`VT5?p%YmDl; zT-M|r8NeDA6Bh+}5$!E#CDD`0N@_PWz(WQLXFn@~I_a`Fhd2z8+NE}JVFhc63xO4^ zKBW>7t`wGq`4b>^93}d3eF1~bW?1a4?E;A&J1|gTCr=#%pzhqIvWo8vywUTEWO8X# z*L^C&W)lzbiBgFOJ(9Er!T{=M2z&KH3B1B7l2zjf@ncrUa#@q8K|+#00a)H8lIsfeuBu4&i5hDL~$iLkb66D_k`SEXk^!T@$|8~c} zt`Bza8;!;UfPn%Z_-{cV{@cTU`@yjA z-+CbYw}XQJw!^;-N zHbEJJe@pgn#s4-8{{Gu~JN9qGwqasm|Mu(O9{9Ij|F)=Wi|gMO__qfBtyb36zs0ip zw^USBQ~#EL)W41Tw@&{S>fb*7+W}4gR_Wg|{oAE~i}Y^={M)2|YxHlAh>HGgfT4d2 z^lyd!ZP35%`L{p+)(610`)_&vt@qz@|E+eb-DdwS{cq*@&abWWYwi46H*|jO967%> z&aZv*Yh!;c95=tV&97DSYuWtTHNQ3uESg_?=GT(>wPt>8nb%)?!S&aU`L$uhfcdpw zy!_hMU)zP1%dg$?YqMy<@@rRrt(7aPzc%&PRzaomYfpde6w}gQE9KWhiSp#vI{CFs znk@OXN`CDqX_8+n`fEW$KY#80Ysa?dukHM`NH~xDS|h)fNReMF$3;Amu9~*xyq|uzxEK(@YjC$wH^w8 z?I5AxukG+_133Wx+P`1h_iO$5e(m0dU%U5fC207yZW(?phF_bf_iHcwTD)I-XZLF@ z{8|bX>V7TVubum~6Cz0XwQ;{z4g%b-b^En%zxF}fuXWJi*RuWE1q^Rq$&OnEhJuuPp=r+VHO>tAFkH*M|Mtv0p3pYr%f4m)F;UU)%L-x3~=aTCHE3 zRRHVPUj5ptUu!k>YpJ9N{934A8`bn{pMI^=uO0Afm6U!h)306nwE})E5>nF9uQmF$ zL%+7@*Ao5OpkEu{*9!ewplpGkU+eR00rc?vT5tE)a(}IMoBg%){A=Yqf3}VtI)8S~ zpN%6Y_Rqrkvu@tB`Lk^PteQ2je>TmZJ%h%~pDpueU&*-s*)d}NY?wd$1&o(J+sgW9 zyZqTLT(tbzELi^R>YugpXRrL(9;$yfLMoLirhm3{ij+Sa<-lFnJCPJI@@Iz-5dtL0pY`!)fBadq9)DJo$DiHtXLIPlVI%X;&Y&?v z#wCnD>*7U=Kg&YJpG{$j;?Gw8S;`Y8{_JFlKTG1zN{)zhd}REyii;xtY=}P#A`$U} zp@%;^NGSMcJN(%|4uE}re|C>=1BMKFfA$XV!k@MKvlT2*m_YYuBS?UQi+lUCZV%f2 ztOK?`yMV#kpH=&_XJ}_;3CjL#SWNb3!GHE!kNsJ(KMNN2XT78jY;pbB0$P7I>k8}7 zR{dEjsy}-~;Ll3^StqDJ>-6+z2mIM4CZ#{Sgp~AWjgE?j{%nAtpFa!q({z0PY|o$N z`Lh7L+&{a`{#p9Z$}@e(&QIT&^V4-=e_9Tlf6jCB(`?$T`Drz2e)_88Tt6rj*UOf_|uAu zB0wbmwBezlhr+?1?jXpakKRCI(4a@-(RQ@mg$cCWn*(}*+M1aHFh*a6UwFYgZTf(3cR1h}|2 zwgzZuX=P>z$iCltY)k9vYHErq%4undDaimGDeFPmMADkkVuPk43UUfNI3Y%$ETOa0Ix!YIXVe(aBpr4 z&d|i-8vOk#V1-2hDyqq8K$4s!0BL9lNXWw7OB9kMMnEksuC_Ke2W)2s5{SiPUR+&JQc+Y;Oi4{jNJc+H0k%Hxc4%SYByK^deL7qD*ZL1Rsox<%v8eYv9VM7ThFF+J)2IU!BfcoximwPfEf*~q(q0M zgnwE*N1-v$8UDG&3`--;uyh#|DD#uDe}01Cr_E?HI>ArtVW9Q&emak~+Tut5%_wNU zKDv+QOTlNUg5KM(M{m&Z&n$j=!->CtuA~F$KofM}PXo>;On^uPf#^l#F$4erKw+T= z03HZ^27d&BfI0*PaS#d&1Pt)^=NG`QZ-}T0LKTEJtG5SN|NJ1!tw39WHV0Y`8f>w# zaj`MzT0pe7w_$?@BO?q(81#Px1&UOOB97kSI~2jXWuvFd>_ulqpZhCn{0MC{kE{ z%nBAQT)2>7z>s6aka3C0gUk{tvG3FXdC*;5`L)V}40-@b*UKCc6cfwRESG zvsntKAk(x33-Wy7f-K`5Pri)djs^{L-q+_h=kHGrU@Qj?a0CV4{EY`UAKDzU`I-YVoVFNgXJMHVO+cj^RG+EdIsHF=?LXrvm=tfjUL^4&?1ISfE50b6qtE>0OSO*}b36s(#QA!7!Y9K z1-9(S!R4&1U-FTB^aDsqthdqn*3+0F7Ix&t3+Cn6moGA6@H`67quj~=CqA*8K3gql zoS}h(_5_56L_(U7)3u<(1yvxh$*F65WbsD$xF#^>6!V5^3NkF*Es?;`+Qj#yLf{nz z9(brA-f8f=UJ?T=V);vV>xE+jY9}{|PbG)g6v|?(P z4Aw&A$g-v=Y9gGHG--g^NG#?&L$v1H#*p!3)SX@w4|Jm*Pd2FQqzS3->@25ju>M?| z;jOGeDM+!&+}5FC6g{bR=ovA!88kb!C?8bq`arQ3J%Uz?PI(iZ@+NxZOqA~_^h}u0 za3v^(sLwUbJ1dVT**d+5_|}|T7Kc(Rh-yq6bYC4~Qvg}*V#k)W$a=*IwhjyG6nGh$(je;-VT}Wrfa^)7 zHB4&w>JdgpmX-|FkWWyQ&b;bI@mJDcX|4Fj=E$tIM!fS9iT>3dcup8_dHW!HMxF#@MMIqF0gx_)(Tem&3 zI7OptHaT^qdxQ0YDiDsCGN{*r4tEqr)@edcU)WjIXh0U&=5J_K%=bQmyj&Q=NFL#h3$7SMA!GxNtG{&9Ra?TNNK(-miE3f zhBP{UGm}J7@$KP7Jrv8#hD2Yl5=cR^D1lG_rt8p=YMWnE=LM4VbH3u9vawYI>iu2ogN)Mk!TqxIT@ z+AT~J0o<(s{?ikm^(mkfWK%no8&niB!f{L}QuMS0gC~@#bgD4bDey8V@lmfxL*;Tp z{Q@z&VggltnXN--sHS1!R?)~*-zZX$2Cdc+!*Xm{Mp^f8;*r9Gn;OUs$P|b55UQ(6 z%K^2K9V||KXstV|oKPkht!*8nlWdaIp-mbjTkFvgmtzuiQ@upYg|Xxvi2BKwkuhYB z*jh@Vi?O3=irUl%4`UYwb(JbTidCX&RWp}~61?iw*!u&jg<1<7zd->^>MpK60I~dP zFHsQp%HGsr7R&UU?Aq07YvD;~O=d^w1hHJ7QF4)}Sf}}r=KvC1s{!p&n**!az|IKX z_|iEqFdq!?Voz2G5$Jo~u{#z%&r0ClkUrVET^hSwux5n6{DSS>r$& zFg>M?rwKSWFkJ@GlS7#>m~MjuOt-M((68(AX2^c|N2my{xa;(#Qz@x0sD7B!f$?TBQR=YZBxpkODv6m=_M|BrhA3SO;aQx_cHTEV@tD3n4 zs;gA#5v@&q@PKP6g)T(YPri(hsF#SjK%pKTaT!~OHfgYRjCNKvF|uRD5GpGmHy(R9 z?a&b;#f_o_G)&l+*%yfPiZrLK-8uzc1}tthr7E2zRCNgkPi~l~BSlXM8*9fgp#o#w zT2aV|G)(oO++YjQT98dGtE)}jr+_jPNv$V7!$RP#D}euql&K?tyH`ndwOg3TibI@w z?ZLO|vqEj=NWe~sx>il4>Qbz~*4CybkkwjQ76}k0sjEzcka`TNp)81_B&X^nHziOa zvbE72(9;IZI>?gANe!vy`2yP{z(K8ri)1?8e(&h5SUPm@ZPSQF$!O|JhTf8N!^F2s zm>Ea}8o#PmPDU@h-zcSaM0W;!M^h^dMM&};hn0kEy!jI8wg6)7{Pyso@*~vq%}fHN z=Kz|oj3JFYYjeIVmNaxBoPH~j&TJn5eo5>I%9^EqADx`eRrGf;#Mb3}5lPI=iP7Op zNJa@~N%0$4bZ5=ufN$T>k29$az8k<=y!!NfGlaOa=)M@tG@-p=MSH^<^%^GXHO!7q z!~=)S7J{)(!N3~kupv?i)-Z?7f2u0Iige&?=eAWAwB;lRwRj!-ga!DCQ9yl$h7H&N ztQIb;d?jnmEwCuWxx#{V>ND^{0=h6>F(i-HDJzK8v{LZEfw>njrZ8ZLB1H@a3`7nb z2q(RO!4^e|={7WU(`U1aMx`48sV66&sM27L2xB9gGl~RnF`!h3u`?s% zV$I+fIKGU-*qPZ|3@CXv1^~1PlboPRgK3y03aHLXt;pDm7clN5C+bYJb>T5*%-yBV z%OY9cRMcqRX)cEZ_;WG!YS^>pDPYFumpF0Fvw{HuG{^#PNC>*?E1`hRfdiip$~@X3 z7=h!<=V7ZFtoN*`rlFfOwkj0^?cB-)(F!C9Cy)axZ#jYOJ;gBB6q)dtz7n_PpdG|h zg(O#n56Lv~S2|oUv%t32mTE<@Dh$c4FRu=cO#yhT%Bd$C=vD^%3)e|vOkcD+MML-J5 zsc8Vyk^my1A@2z~EbC1}VFNd5xIu7ZLrb8bOf3F}d2MZBU0q2%EhQNR2*8u2X|M)X zDyoHjbr~o?MHLmLbTl*s1O&jV)yj%Krh(zn6^mif5n2@H?HsbNndaKfB;0>YeSpF&fwpHa5VaZ>UbWjrJ3P3z|rBu9YY zAbw8Kx)Ow8{7D6{6ZG>m!vmm2zE4yo8I}-!R%tW*kz4VpTAB5sa^Vwo$&Vb%Pb-@b zdX5nIOcnBI;>hQfpgRzfpQ>4;6`xmv?$ms$W|2OvY(Dr*74rD0TABSsUGnpZsszJl zmA1oADuA7zrx_l6PC;_ybBflL&nR2yd`1~#er_33Ak2xU)aA1<%vpAG2_O!S!Kti5 z0K%R`;B@IK5x(18q0<<)%>=U6sS1ZKfb=406#hhY@#Rf5oTMlU3|%-J$^c6Y&uVz| z3s8(DlCUUPrYjf~;n5X~uiG_Y(Gg*G-q5=VDTCcI-3+P}@<3Qt)6mVk7#+ZKS;kH> zjmi;W3&K*UtWo?QD3;ZE^F*?42FlUPkauRmZ@>)-SDccV4#L^FRle@A=^YS;%D7`o{e2Ikd;m1RYsi783IkPwhhkGGrM zgoUF~xwZ5I`0Q5c!>SkgPu4Mz5{QBJ!3J1IUktGv=UUP^*Kc_ ztqs}dX_-e*peWc+RGvW4A0ouh)E-{Yo-1{qs+(m%0X#N+THzu4w8BI7sk&L_Gqs2J z6O||M^R&$4=M=%T&nQu(aN&Flb3QQBMF>aOGZq8uQDpcIywS?p6b3zU;)@lYu;><* zm^QU=5-{)of4aIE4JSEK$0OGTdT(dsHi)O!rzfc8Q%M_@1#UTQ1sUB9mQ^)~YYH3c zy&?ioNN$UiYfEucra_Apf3n8`oZ%=@GOcv)tz2UAuq8Ys`JzaXKx|%z3kj&$=&TGd z%CYi+j|Ad$auBE5A4O_fq-2 zQ+{uh-|OV}F8RHqzc=*v-oMxL_agbdMSic4-wWjT_V~R!elL#SYvcFM_`NcI?~C8d z;`dtq-pb!=;`fsHy^+7y@%JwN-VnbR@%MiCy@bEF!|w(By?wuT!|%oLd+~m+-S4IF zdnf$f2)`HZ_dfW&4t_6#->dd}&wj7j?-l=E@b4Y_yn)$gVHy;8sT z>Gux!y-L3q>Gu}>-T=QB==b*gUhnVS{$9FU=kLn-yKw$)o4>2(@1ps;W&W<~-wpG3 zz5LxSe^<-jUH!YNf49otHT}C%{_c~%%jEBp{$0_(`}udrf0y&`8u`0J{%(-J>*Me8 z_`5m&Zsy;m@pmu(E{wn1;_s^XyD0uH<=-vwcP0Ps?}cuGZhh`ny$sm%!hJ`nyekcj@mY{avHKJM?#h{;tp8<@vkZznlHL^3S#NbLafr z*q`g>=dSs=X@0JmpZofA#r)haKbQ6AZuz-bey)|Di~4gf9h@T7j za~prI;?GU|xraZu@aGQxTn<0?@8|OUTn#^0@8{nATnj(9?&r?^T)CeM;pe*j+y*~) z!Ou*Xrj^{oJUZ>-2M(ey)I@d-QXOey-5Z z{rR~7es1^YYJcwhZ}0qDI{!A#zkTy>+5B7Be|zTNlKHn|{wSA*Qzuu;=w?&Nfvk<3Qk=xEf@6y_N-Fy~92 zdpCpp@Szzu^VlIrN5~Ojz9Hep96f=aFx%kLKtHpcJ3X;;D1*B>hMd`MyI?0nj-1$7 zP?{}(8#GeVQMLI^l9|a8C1++cWthkepqpk_S68Qb%$O&rFf$l1QuCMDiel^nOC zdR5gOM@8i!Yf{nt=}k?2ytMSkr9=S&<;k7gi4Z13mJpGPkjh0)`q3wOk~)tvB%~~P zIdUEwdpL(v;%~l2&0%4W=4j5GkSpcNmnrl5*H<~kUF8*GR)}E{riJX{g$(0fyu7tl z##ve4rOUZ+`4-3yKR-S`oEPnU=+Z zFKf|JVE_dRb#zV>Cd@rWh#t)0t1FJf zQ6RW2{I{eOD4+w8Spx+Pia0btL+hZnhK3dtKlR)JSI8+b zYfTn^`0U-;IhcY*2+2IQ*gsm2lD{Zxqm&O-YofHN9)(m-*TtMSaOp;b~LSNeI zN|7Q!r(T257p_U+FxL5U_GG@gd@oMlSZZCWd@a)RmFn5GHk`{q$x69Y_&VrOh=j=( zCrzo|E@j|+2NsLgk>J-AVDN>WuvXB-Bm`GWwJ-%oHm=r%JhfeMIO_W3NjaSEiwTdx zDsouG8UWc|4I?z&Q=D$Xjm?g0C1Rj{8qc8>+yqT9ofz?|qQRJT?)iC27G1i9*HP)FyjH^w4Be_|3^&2?=DZE?q|sM`1-sUBC2}9Z}VvPrnZRD7atH znYv2IR_Jwj_mak4vD^i}D-hFyvOs57EJ~4%m#qs(0w_J=mZEXHF|xw3gQ8d^ipJ!& zGnrzWTR6#lxKU%dt!xPx5-SBlYQcgDPw38WQ>Ej~0;AGy>0o6Ga{A_zucb=dpRN|_ zi_Nf2DF(q{>TSW{CK+#pyFNR5H! zx`0y|vl=?I7kQxi$6nX9B`k|&! z)lCgUB*}!vOsY57g~rUJK9qp1rm;0A%4Y&G> zp(BORg)|?2<1?*KxEB?HUB8SO=uH$SBf$2RA&;OH@{SYCUHkoBlg_PQZqUDv#j z$cgw5B_)c@RHb14mA=y?3Z2BY4;XcyvB%ZGU>hWqh@9PEJyL+4I;p zTq+}Hn)k*;9>@;Yz0WimyUW;&O7KOjbIwz3k?$O0QY#W_0*l`te&gDBSu@OPrcDhw zsJ+*;WJ-(eXeEwlL@#LeoKyR@_x*>|uGM{~3AN*n+%-CTExX6$zJ04}R$G?SkF_#= zI}gq``YBJ5`pd-gW?dHsp#B#u(6T3pmuC99H@l=@fx=xMB=3tf-S{>qvh!&?h+E+{ zv_dm-VxpP!v)0>Su51oceb(@WDe%$`TXKY|y?{^VCyMPXWB7xtmS>ZVbZ?dS?8v=FXNP6?CoR1b+1nroW=AWT|EPNP z;}i6bO8&uaUSK}#OH0#rK14*&cJE58^CoX(q!4oNL7?@rKdF~E5=1PLhs0OA5JkIi z>`^g6j*czv|H$2hOFk9UE*7(vu@e#4he6bm8m4@mQI;{Kg93F!n1y{=c>5mN0l#hZ|xmj#>a$bqGOwJ)h; zFT}fjOGkGo0_^klVM+2rT*&>y8n@3C`N;SDn$4_09uSQ1`6`rd=&t)ql+P8SoFQ74 z4AeLvBS?pb4=Sk;aDGWa5AR!Q42cS-fX`@l+9QOQkRhJFq^?DVzZW!MfjSzK`p#+e z85tC_>2xNKZ?|GI>+@@{d+Y=CeIX1A_NO-teK$BlPu)yfN5u*m>KHaLfuM!?5b6)C ze;6>g)P5?Y9ubNU)^RHiI{&f^Mn&UzXj8aU7|?qx->0TOOi$a?)&|q3Ht>3ryW)&4 zd>{+_Y|fnh*{TO}b!l-%?S@yQXV;<}+qDb+%u8ojx79i2wx>}Q9U*k&pu*4l5R8rK zhNRY@a?VDpnw`LptQ@hGNecOpCoG%e9XCav~Rs%67Q7MLf>0Xeju5(3z}p~+^pt~>&$vIkI#qZZ?Uk91tm?s&7*dnp59 zQkmlk|BHfCn|SZvY{8{aD8`Q(TU=%ncz2Sc2Tr`5*L!6!2OGLtS`Bu!Q;S~r&+D%K ze!{kLj+j~P-w>{ZsdcT<%BlTX4MN|(Ia`0F`+8Gr5vRqSPvzuq0GV@6QOA0(=MP-_ zYmA_SH7Rl6W}KjZhQ@BNi>rHTZO(C=>3t+oe~30v7{$ahqpNfPLqNR0NFboD{$%t- zEw>Efp>xJs$iJ@`mEuE1@Ve%1qgGs~5`1FC3=`52QJ2kR^*OqhCz>o!naxn7Zj)Jm>bHMK z9@2?f`!U%Iy)O9q;N)tG=}r3}Yr3LGN(4wAa;etcy}}ehl>pN{+1jTM6sg%L2+AT!5sB-D zt99y?p9VY3ky7l|8)-O_e;O#MS9RD2diBjlhJr3o8*!nVN9!D6qErr)C;SEJb?3Ti zq`NV>yk0sTtxPpR8R|Mg-aa-FE4U35mi;H z;|(-aZ?Rupfg`tPFl(^4^N%Az&Na!71> z<&rq&aGcGACvHIkoaHMPQki7;=!g!hZ|z`;v*0T=X|Nq)10fuv|2eF9*CK6 z^XDMaa4#8Gj--ww%U3n%5z|$Wi+lONJV4gIsGdG)6#?b}7giM2+rrByv@rW;=~lR^ z0?UTBVjO5~#;O=eMb5$62vx&jk;Bx6rBx@SeD;b7QUBGqGgXNr<$)85x>_il$GF-2 zc|v7O?=o0CCQY-~Y#}&TNT#RCTLCMQ6csgMOH198SHh5L$FNu5qh}J+SM+;A$Rn7E zsSNxr*YQL2>Ys?4Y8!M-_jVc)SIHp~@j!~YfMqi2fMZr%!ogO3Z~(Y+=~JSMUPfId zdR-10MRzeIAhAE$HN0H>iEfi2AaNk*QgxyiC+ZE=G=|e)k;(LO zG3iz~m-7Qv+XA}i1ZoSLaa@QpVkoh%ICBh>@kF#A2-1#+_bF77Tr@pJbc9_Gv5XM^ z3xx1sz6xbT*T6oM>u@h#r+Dq?lYi9y^|vB%yECjp>GxX4?Q=gLsNsurE@S`O9B@CM zK*LoZQ~HwB0Jd+QL8RJ+d75mUw%99$3AhplfYP3!f@cpFjo3w+NUtKwW1#)f_~wj& z@fwpdekri0F)@D4-z@y)a9Zx*Tu^yL%($Q1Cdf}L&wo*IUCIV4v$@U(!~{f9S_&g1 z@uMBoYKOl>@1tN|7~!ovM$(8i?P^lEY_1n)Me3(S;U;h7ibY3T6``ohF6QE)?#4U;_J3p>lVwq zMfPv;8ZO4j#gcNd{aj2-7b)uE__`SCF4{KCQWR9)BqWXJ8$p``!s``NxV;N^v4IO0 z<%#t;EiOl0Ey^d0f3&D3kb876;hg7O>r1ak;nRKBQ|!xp`K6zjRhKOV0q^ zUV^Nsj>VRWvCk`WRP4h2S4G`VF)PP-DjKSERP2GJqCHc5Zi>w83p1bhQ>>UrigM2s z@wJ6TUW!6rDefk&lOp4uIQ=MYYNNRHT^B{=Iq`ZZYRW>9(s(;4){=W7j&iq8Otz@G z`WWK&PLzBT^E^$=>((mK7V}LM$(h5%Jv865XbI26v`h?K3;S065?gzhvAW>oEl~`+ z#OL+pl_=~MI98{`n6NAOBQdj0V$598Di(x6=KX2qN)$#Wk!gqHi*Cn5%UZdh=oQMM47hg zdmt*(1tO}x0=fYr-25M+=ldbh{1A2D`fxLd2lRZ%gRj1aFkcTNw?q9rTnFs*ket`y zW_j4fZjOhVk?DSiVt4l+9d6aH`96pH1y_ey{4}rC*>*Z?PM^bUxYF(pe}_Y7&c;oUXR26_#5(rLz0L!)r7So>{|>DeIpK<{l} zB1~VCwl%%*9{bMGU~?D_ZE&jmO>^;6yxj}x$>5`129>!W4vUd@7$o^`!P&mJLds?| z_b#~5Uhth<1(kaXe(pp|hZd)eb8ErjENBfMLJ@5R)A1FQ>niwbD5&#O5MK&H@OTQo zqnTjxhJwHpXC-(CtT#cLcY>`UCqdCO!4vKwNX(Pq>PCXIoawl{2TI%s-a;l3s*!0S z=0h+&5d^Dg1JnB;sAM4sz`K{)|3JD91c^-Vz+@lDZt>?GI7j>P9Oyi{@*5~RJ&TmC zpH`$jiT?{+Oh@bG8R!rX1KIBa$A>V;EU>lNXgf}jtgoM;V&o15n@*im(98 z9{-a5|BGJy!UcIy%lkjq@4w^lhx+>oSpQwFAdUC^qh)gZS0&X>3A_HG>-3Lf@)!~H zvI1~7ugOyx^||Y(5BmbZNSsSwSEG}@{*Acv!RHzD z4R<~rJJ;M)XSshq(~=qyrx&`wfxKkhA%n69-GduyeRr)PT`p{}Fkilj$9&BqfBEFL z<@?e>(ua};r@iD`_Q|(W4%HiW?F-znddPRHV~iB<1k1Y<`*UyH-uS?He#1Ac=6JzQ z+Su@g===M^rM%hPDtYjoQAGUYGCw%b5QnN!9AF%x%uY5U3xSjrcZK!GP zdo?WC?uCM?(xEd`vfb;$J-#*ovfwcGF#<^!c9r|UE^iU5I;svgM0KT8y4+j0>PEfp z*(11#|Mmp?xj5vt2@gHnyX|N$>awmH?p0lj(;m`>gJ=~YjL#m3)}rvZZ>afbsNZ4F z;&Zpkzu0pmFb;dlU@tb$Bo)s@$R{YY{lR#CeA3pj@R;lU>RV5twH{!%YaZ6tYxTo; zEiWDX)sxIt&t9mhUgD~!gf-vMp8C{7X3;?@1a2QgJ;ggc^+r#8(3#$Gnx{ran#qr& z0leow=_S@h@2hO|%g5%6q%@ z2|jstfefmmF=kvetbyk`XP&qfd2hq)+L(2VJo%5?8Lz+0GSi>rU86xB*F20lC( zN)uMF?eKEl@MsK1c=d&c4>f;;*Ie|2S36!FZux`*o{MCx?aQXOA}qhaL!6G44qYxM zBhmqnC2W2d>VHS#-tUSvzhj*(RBRPiA+PT|u(x;r(DQEfy%YbuUD1z>UOu9K?-W8B z@pz}C?VaL_=kMhKluFDowwx?Pj~7AGw`{S zI(&i4o#gz#-DZ#DtQJOT)%!or7wyD)M6#K~a<{7%&DghHy6H=w?b_v@b~P()Y)7KS z)h>0Xc8LE)O+4*FzZcd^J8jP!65RG9e22Q`ncZ?_C#P?A+O9J@{$e$=gM}7XrFF8) zbz~>?jx7JlY91rDl=_9HdFKXp(QZ7kQ?Jm@GI1a5^pE~sx7_^eR2hqZ=^}^a=XK~E z7QTMhVY~e5Hv84OPR7*GkoIp~*kB^wAS22}khl6@b&2$2hu{{5x~vmpk9Bs)3aAj= z)s@@!u+Dg7RTpYjr!MNw%Q?Z`)O7;~_x;pK`kT7^QU@*Q5a?YDT^Ds;@g3?8*Cbd3 zVf3BOG5XQFP}qBXu1_aMOpNJzuoS~sHEg$ZeR;gnRj)o*IuU(kN!QWo8QpV8r`@m5 z?KfVqw6LZwtsPy8@u6#8bR;~ZQ==DMa9-%(5gj(1=+GLg+IN|8Rp%8QWo_uV+<6lH z=U~?fl-kc>LcO5teV~(Pct98a=dkE`j>P_l*le~M*f?*Pw>Ws_A#fufAeZd)`fpLm=orHdHZ4xkeW?Z{mV(qU{2SV=wPxO zqPbl7-Q^UnlIM#VmPn<3&!^`u}nAhupiy z^M#M~+vJ5@`6>rVbB_y;z$ojuL1W7a zj(yCgm3QZv`fdt2n&yibLp# zs_GxbeQ`d;ZF|H?xQR2^CGPf6dwRfOr&NIRe*So9u5sy@JRdBgepmQCSASGc2pL+JetrFR?@+I#Dsx?=CfI?N4j z`hzox=nd{LVgCPq1-Ie}PF&-sM;G`yc5dL*HM$q34IKWS3EYsRL*6go)DGaZ|C{{x zCcdTxxALcZzu)LIa=2z_9?y8~!am;+6ebgr@;g%M-Q~Msjf z2XIvF{GqP4wOMD~&)V@rjWKI)+pEh?_Sst<>STlT_B7zcn`1MAkz71uf57r(UqWH> z^#;3fae54AHI7Q#!Ej=nOX~7(S|c30*+tXtX;1?_Tg8P*20BeYYq{Rp_{eI_-C=UG zu+hfbK3M*YJG4%xRxdLti;gyXNZR$rac3dX9F}9oAJ2&Fbjq>seKW^#slK&$pw?Wr zq4vNTn(pU4Hp`axVTirt?~=@U-qel)h=Z~`_bf-c7a!*(Gh3Lv#;DBs?0{$OaW49C zEMm{rhCYI?bs;-2{O4i6jP6?wa zmrOEHfXVtwGZK=!h3Xq3Fyt}pwj;L4W7_SrIg2S6!m;l-UT{77W*E{+maN^&%_ThB znV0l9ZY_$9*^rNmiPpVU7QvqDXRuxN&FOZxh|nzAjp=&K)0`cvt(~^f`WxOiraH4* zPj+E8R?Ge=N4xrOiA^I;?G?$t(GCXlx6+`HgPGS}dh2Y!2W;z)_+~i&7)D6e&7)L; zWJA=>(QWI99d)ykAZF}0*jmg_@k~3n9mkxeaRpnmuxHd~^b82R z&}pmEMqJCNi^hKd%GVNm=HSl9W;MPH7>@y}t!LD%gE42rRr5G(yn$O=o#>elYCcUX z@PGLDhDmuXA!aeiEW1|u-|+Dmpqf>RnK6j7vRGL!L&xtn`qGx_H#AZjpZOhK4Ch|c z*6(wR2Asbf?>cej%jZF{jg}{qa?dH+WQ{d=p!>>YqF=Amv!womZ z0I+*i@eR6DePCe0gZVfwaF$I~FuAJjK-MCoMcQ`OP z0vy(9TUV!f(xHxw(^bd7PKPj$i_ALYb=_!KXTr0{q>jx;H77Tvv{W-240T*x(qm6% zlkLo0!x2lyD+kZ68;Cu&T(Yq;Vyu@xYLlUk3uATF%s;pT99<#0$pbsB?`zk%&mco) zT4nXg4s-(fyEdKu2YZ|yZy1^yaKNk3u*YDG2Cf;;y6lpaV_*8HO$>DdGP{G&z#^-z zC!#njhE|wtNO$RUk2gmEiT_+ZzL!5sZPvVs7t0*wLM= z_}ZicGDV-&wA*8F$1}6KB$Ezw8b4QmHd=?0m5%;a`M#~K?`i}{W_21S96nFzeMZ~G z4)Ztn<%`dLFtcS|k$%IB*Cu}pA%YF~GldSsiuUa_=$KAcS#gpB!^u;IQdqWl3r?5B zCoHqFN)rv}^v{;D+eJ2koc7A8PGrC-qvB-n!sKSA_3GF-<|+Q1&Pg#tMF+DR9|UY2CnJRT7Ud*L zhkA@#{5%g)z9VX!!Cq^nTIwR%?D=`u&$if+@8c5eM_rC>#`_058fnR1pU+@>Hg{WL zy#&KWJnds`o$7b}FNrh8i#H{(1qL*Ap6iKdyzy<-@r?$s?dDtVZVmbyCyjCZOk8DW zw%C1UU;e&*qjI`W3*Eo{(8m9-wB#7jn~#8yL+9%%Uy`&ZE0g@qvXAI(}xb< zT-%qDx3!^-fNxz+4!fC`!Dj0mW#!b%??Z@epHS8rw>u;Hb6w=Dh`86mN7=LjsFMx! zbiA)&^WH%m#l)%hpG+%Tw5_zrYUHTON( z7#UY3VKM`lWFPjaT7NLRl|`O(;HJ%Qt@nEm-Y9$eK>?c&D4EWc@8lCaH*~h z?92x@L*`ZKGhlqfx3=z4GY-ZKEvwUCRmjF(1}6;}b10ZF^o9!yNVDoe{}Ilu_q2h- zbAl_O7Lw0^;~#qKEZfk>+?Et!#h{LPXx(QF9RBmRTYBHtLp#Q{@*BsX3be`Jl7y34 zT3-X?7#iY>!o8J3m2%@UuPeKAAPjFU4b#rDWYQ;C-)kY z8!)_6+gQr^&9)eB6lV0eSlrtTb*#K=4mG|Mj>-?+O{Qh+Z^g0^Ze?@2gkbD`izH*jSY5-pzeV~ z8QtlHQ<42Wm(iw!ABxG!Do4Q9%HgKx*J50L!$9B}STd$7i9%#ISq_Ad@ zGaP)rFRSA3z~dTTwY81UWRRa0+Om3;^$cUUO0~Dp7?P3CTdKBYDB&n?Fjt^m4(?X* zZ5ZMxPxfsocWgD3(SENx)pVbE8-*VEB>k?Y*1m(YpSa}J`o&<`K@IO@kZKuB`ns~zQG*L#EQ~PI-pb7dll;Lc~GOPYH?o&|GSUk++G&EYx|Il)M1^P z8a({7ZdnlT?T2zaF6%I1U=4Ka^<`Y9p7QCUpw@f20t&>EA)MMTm!qfhHx_* z#0=P0<=5cj8|IZ2jGleaGj~|!e}l(ifNIt%YUaV8_r(f%A0F3%C|EWXjH zT;m>tKM;+pk~rakPT1e7@9Z5Q5#{9u<6llH&7K)DyGG?L%=K^GALaU+cN%&5tQ#{16aBXNjp*G-_J`K{qZ)!R>27^29 zq4VO+f2e!Ah0OE(Xt+mbKyw@5;YWUWL+npw%FUeDtc)T+U0}SeFh>1f8ShZ3*AH~|gPSS)3g|y%JcGKrVsNtz z%lpE)!MGPjzwL(_>HoS(N%nfSrje0NqMlY$4bHvWv^I*Z_CvY0KC)snC^MqT`dv*# zqls5W^LH(saWe(ZHA^?M!z!eXHN4@`)I?t|>p(xuruwv``G855Hi>>N)On8T;OAEA z%BB-HYqqSBJKgt8(+wg-;Zu9nb)%Fh;)q;twCsp3aByP?l{hdnNa>`#{mE2K0gB72=V-H9McjQ&O6v+Sp4Fi4wsj{&&R=@&h}TA zjn2_4eb}`uv3rnDHApKCuyN0sxQU<5$0V6Nqj@tJ@xdM+vKM>iy#UXjR{LUeFSpy+ zFYdA5nw+j1VutpF7{|ceX$F_NuXaxJ%{?6U#&uJ%B4r;+Kjs1bkSENaomWv~pwT>8 zxAqlvbCmy$*P!rhmeHU-GwAovB)6aUaL&H3VSQca1TTD2_HA&WPeMlnn|$E*l)x|O zMHxTLl^_iS`8n=(P^^bV`P_6PD%b{pp;PlBh%V?cgdnszaEEXOFRz>NKCKR~%Z)SL z=w9}?!?^8AJo0yoe%Qwy?z({-3OHK+1oXv~oq`PZDyZ0)7E z*@TxjK>mN@gg3Ck2{m|Ix@4{H8;%GcxH*2a{ z+ztnH5O2VMgy!za;ETZn5ga=B@fX#+(Sl()AntYYp zotopkZX2z8+FZddLFgVn+`!k|(FnHl|U0(1Kr|B`Ol`}RQH(( zx%R#=p22_t+qv~D4A>*hS-SQAyr%=%U&?BJ&0$6}%Sk$OF&{x?Hr|o%Er9+f+k*mp zo`v?g2jPq4<$=3=1ccrE(7A;g8^5y{fW$J;*o?nQl3p|Lo=v{{qc~`o%Te15xGKY0 zZ9HWUia(a00QoVGnloZDK$!eMNqCIR#YnSsU6PC%SZ$S@Ka`6h@HiWWC(>}q5x5b1 zEh+aa=7QL^RlZ%YlUHY$wG5QnT$Hv)(f?$3yI^+By9MQfGcI3WG5S^PsXJHs*1yX1*&4jDd;nQMVtsW(UL7Sa| zMake>5avG=w`FCkY54;1DHVoq-0G|!zX9)2nK)l>(QMOSsNE)vHSrv#-Go^O9#G}Rl0_c?D z7knF46mEpWmgM^Zx=`lLEZ+V#=nBBE`QGgPrqVkG`vG{8b_;=YNrpj=4=EQl%V3`5 zDGp<}Hat@}R2=7s=awUKsG)OC!%2weR($ydekhR1sFuN|OfzUQgF-EXdxo=SPy_&3 z08!__#V{>{OE?-P8l+=$t}uInmcgXSzH*JYj+#MIXgw>N&(|zo9KIXluZ6_@h1gIy zwTEzskZHhA+$EptFM1G?CwT_d(YPc2 z@?+l#{w>slXSB^5j35(P7%ndBSsRu}2B|=XUqNP)!3Wp|NIk9q)4ts{?oOjkB2xv6 zDIs7)PGO}*&<`R5a)UWG7zS~H1x0hATfq)k4v2g}&EQHfh!NqIW5xdW4Dw?XTFFV& zK+2_o3MC5zo}17>O7_D#o}eLLlbD==pdI3R=p%0!AL1I}qZmYqKT1^#kfju2BouPTCBG_b@>K&@cKmc3V? zUezpXz@E7BmH@OA0Q2>NYagLsFvkl9fAl-k10Vx_K`LA@$S=~pe@)PqVCqAv$7oZ> zjZ?&3=f=#^U`I!jN#n(CaqIRl^73i`-AKRM=;S;|==CThc( zQS`55iu{7StYDC!_`ZI@^#s9SNXgXX7o?ET(}VdNukQrP^MT4um)qgBldNAzQS-42XV`6MF=77Y)$`LlIff z-@8TP8t%r+8hEzRaz)ujhA7_4*dh zytvDMsN9A8PPsImrT){=aZRXa$#kZGR#u`~41c+P78}wM9&!lpbk-_l34>i}IBvA- zwtj;jo<@ece7Ac0r7p%>UgcP+blGq@QkV2?9PKuj5tk`6YwMP|)Okl7BF8m(xUz%n z?Jcf5SGWR{ugRI=8Y5SWftIdlnJcAcQ;ykg=dF;AWb%=#TE=Rk1zQwYx?}aFtrEFe z-Kw-bWawJfKJ57<&2Bxx?$&RZD+9E(57>U8idL`EZghh*R@23L4$s2x+1z3PwXm`r zG@7Kd{GF+CSE{~lPa*3|UkN>i7q2YADY}=bDE@!7shClj(g2^wq^-*JpdYrPIGMN_9Obg|(L?K1fEFeA(6^xiofg zsZlhUX*)~*?o$#orIjk-r^oYKRm$n52UEVLn{PObtFSuIY#J{+P`^J0ohD#tNpdqy zH=0h0i>lV56Los3gXD5#b*MkBv-y)JrDX3O6FA@`-&(Xzud6B5Q*GL0&8Drf8GiEV z1XiD5hnRjvkql*I5=`@n8bXz=CuBXR??Hbn@q$Y~!h@qLaAfBuGwadnnzQW2c;2N2VTC zoRFlYlz`K7>Om<_wF&4oX?s$CvQ4TpQh-(y{CG#jnGCd?VA4$T3QqsE zFXBw1$i(f>+*f+_oy>bR?R0ZaP01qYWSdm_(^NuQ`??XO>v~4PK+%yQq_jnwaz>P* z#cMV7jgU@)%rK3nPB`gdrY@5oNwOJfmC05Woq|bQhbbYJ6gEeKX&p(@>r0~hCz1r4 zOMyC4?CI3f#d^EaJar{sF!ULFTnY6pq%*vx5~mQ-&PYkg89*}YHx!&*I^80qv3pBq zZO9W^dc}#@w!g7t9Q8q{J7tGlq9~Hg;L+a{lGr*z&OU(T3?1=}ec>05K=%%{lSCb& zpu4*{H18)VjeL@T6HVd>+&5C9Nmh(FSos=lwwCKcrDZ0MRIxoMgd$(`Jz1o?xmBdU zJSf<4k|!p50|mDZ9=F!=~KUoXu0FP}6VrWZ`D`6)36yY5t>q?HJP7 zv8Ja1sc&r6e^;XH@gwtY7^5eT6lbxh3?12h8^xq^q)L@2EpKEob%EEp; z5i7@j`YHTQ<1%@l*dN-rqP{ji6qRsGYISHq(P?sPXu1SijmS`3S(c7@p?O+pNw8{p zXmAqgW)GB#MUcHn6hG;sSnpF*1do_hjtvu^+_jC(MLnSujZGa~SI3wF;>Db^=M^NE zYF>!9=a$Dcij%rROstzkagKOqSF>6X;(hAFaT(1~n!}m#%vG-p_st8BZ)HY}3eT=% zR>=rYMh`PN7&@wQa3&GDYAZM~7rI0txH9@VvI*P`L>fqZP}IWC|3c9por1r%>XuXz zzZP{%5~9AYtCrBcdKX2cJ#}CD@_(aU87j zAGn93QG2h3{wSP})h}{P1s-u{U$CRo>byKA%JDhNiK}z!r+;!zb!UQWvSkG$+&YF= ze0lMUUKkY~YlM+Ab5Xso`Zg};Gi;t@;yY}(hdW^L3ifKHlTDi*jcEkK)v}FZ( zw??U!Xe*S+gR-VzRtD9nkqk*rhGNUnOgopj2|^iyVDPZ^?hvp8g{DIT{}Qmj(0b5n7&I(0(Q6uk+Z zOx+U6jT6ouTsL8v5;bm{U=|Z0WfK|C?+~jwy6irkvg=Smiw75{7h3G+EAv8!cr+zF4Uf)5lMux)Am4Dh#Xj8zlmasfVF$6XFxMsq$Sr6arjN zDP~gdd0Qc^DOA0A!WK`xRA`!}O=v8nZ<($wRnu!G^lONCJ>Vu4ydlSlD|kmZURb8P zT=Pj<5w)%88|`?F1%4%2x(9MB#_HB&!V4_5zbc6>Ky%e{V{Tz@R#sDLaV*D-5t{g+ zh0ZCd4pw6pbZ0^&7gB38oJHT#;yAb{D(=f{50~R`)b{BUJaIRs#_kh%jG z`y^#f)4*q#O)%$i>v6)!r9dhs9Eo`^?+G7W?eLoAye)o@;~nY5MNTcu!8SU*B}(vf zMVR-!j1W%@hGvJpk_Z|tn5QXTxttP;@s7{%^`D^v%+}aAA@yH^_rl~(T>FK8mfg4$ zT-HT=3yGfBvs#$Kg2&eQTRnxuTY#DF6RPm$nj8mCtXN%-}g#df)I}*s31>9XUxhv z#DA|U)OzZf{qrr*^c}xq6DvI;IVlsk@_uDY*P}J$8ebZ^N7wa2=W5txB5O8RhGa-2Lip9Jra`N5FhB; z(%etFS8q6k#H$&x45^7 z%lMD-IKHNB0n0Z52d9ytUouTo>n2z90ucCZrh2m$y&F$p%H@Ee=DN8xiMTM z3sw%+YTn^J)rm~c9WSKi5q0iKNZS=(RML@0XDBNB54)@fQ*_pcNQ>9ZR-PI;zKPbs zgR!Uuqc-9cnSZRgk4=5BF)cOM@KVPZramKniX43g01FIrQ(tVElp|_=r*GZw{e3di z&AcDB>PB(*)HC^g#ek%@+aYt8*UCc6tq+No%l>I4Bk8FbiLOiDQ*1luj-Cyx-8g0> zanO}m=S5x`=vPOni@wGUZm9)EK=s%<$jjzoH^mxNV+udn0f&vSK^Lf~`ES2n{tY+c z)k$G8d)oWRu`+O}S#X{)$bT)|}zD@yussslZ{ND;qXA!|WJ01sG zpb0E7iT7c$8crcIeqm*{K{oRmm3s;g*#Vc0ut687sPi9ly9^y}uGNWtGRxch;IT4x zsTt2q4jb9hz_(l{v!|Kzt|T1Aau&Vp9NA`zfe%S;1^em~9?gC~AMc;b{c5%^Z}#9| z?^)}$Q@zbj4cs zbalTbRDMVPMyF=kn3MaSc%k32l^K)d(d01ArjAWmCMUn!Oi|H&K9oeEcO1JZDX@e3 zpJ4eWu*7*@7Gq)H4;{WYL80LaU&4ZDa=-5V97dq#i(t;J!@xe9WSk1NjEByGQ#aYn zK`PW5J~9O!+hK!_P+bf7y!i=p&tc9t#{5T9KJ1xFv)2%IUh(h~1&wh|jkfpxkm_u8-*H0i+mU;X&W_9OoZNliaAA93u20q( zW~9B`l9IA3zKEnF@XPcnpk6U@;xncU5tnY#w?nob`HE91ncQWXkW{EXkA5sb}42nWj!&eqfSKEk6}X6+np4t zyW@yRJ^~M|v^8(!D_exr?s1_ajJ|JYlA11ap(TX6LyyGjo>zoJ)Z%{VXjY7-dN%^& zVb}O>HdT!8?7G-Z_nh{%Z!8&#s!uYx{~XgG$06EEGsRjy;pe=yxKL4!i$x_7@gIMZ zQAyhLnP{zUGH`(9Q!lvD(dkbJY{4)q4L(*q&F0wDI!r;( zh;k93;-C~1zw{Fb&pLoioKrL=$Zjtt@!Qf<{_`7N!T3yoliCNU{x|VEim_)q_#AFN z%hl(+{Y>wl^95+#fv#83YUiNiBQ!XL&TgUo89Mlf_8ZaNOf*kL=WEfl7@ba|aX32q zj%NGO?Lyi#BOQN9!#U~Nl%}`R=~tS3ONaZ?;$XTMnbx1_VryF6P4}nMc6K^%PlNO6 za6#=}sGBEh+oDbnsnw&@#WXdnQ8(qk$zkvXsJ;S4?KV?Jzklo8(t*C{={M|*E8B99R9+%G2w*CDukeSN7MU&ep z_b~0gNcmGa+5(8v$p601-W$OWc>1jbo$(#t9RA>aEB^0LcyP)dZ$`>i+BeX)2*7~gF<#eX*()4nE{Gv_d5*uS8?xp3N5)i*}v0d z`>>-5r(voy&RNMYf~m-Emp^H^ojFPIBvtb` zLpRb6aU%tTz4Lqv(i&rbIjW1Ov>h>w=?FhZ<52!KDxKzOWyb7C)IUXmqevawOr(2= z%6Mf+)79)lDSZOIA?*0+8)b*LqVs)>c&O7SWuU*u9qYF!_4RbJ^aKpqiyVCjitRwn z#!EOnOxq8>chhSpa1Zs&`u!MBKFfh(MBG6x7oU2%aiO&*boKP6o-hV`d0bY0afW8y z@*Cv#5K7@&YeRgLPf+p*Dp|)6qZAo%rx&NIL{YInFd zigqW3<|Lh4b|}w}q`aYjD0@GlnrS+ausdu}wvGBea*oa{@O>J8quXvYJpA-T(qojd zV|cO}*;i!R?Qt4%)K8JSj>QS}N#q-!O_~G!he$?zH5sqb&jh}ORCcE4E(AO-{V`?s zdlAwt<_@ClOW7VlTpxgc|B?;LdxA;_I&*k)thi{FPmXfGFHUncJ%xvxfHm3h#B>MF zyWjA*=2nAL`H5?JqPlLbnOJeh1NU-brO7Gupbp`0E$dCg8EV2yQ_qQ&Jo-5bd1uh* zexInrPtnS&kICL+&|oEQV>^LhLmUfzK=FM!@6Pc8cr=R4VMiXCoPA?CG^Y}c9 z&o1C0Y%ZDkZ!YRZxhH(xiBwPD*#g+}SPS8g@u+Z(R{}pvgqx*)V?mxq-Cew9(W+xu zqtjNHb5?ir;5gP9b9RoLa~{ky-z-~iK8Cw+IPXpJ#?y)HHiKnD%T0LyuN={5lXBP; zf7gJvneHfklcyW%2|MU8W6my9!M)hzFq|}Hn@M7ico`XHf*`A5Glw zf5!f;l{T;Q4F5h8+g`e!UY22;K`b*G-Vt_y!PdexRxdHycP0*KW8vrR&;?~-HoR6A3o`4jVLgk>B=e-v9PKg*59ZC_je9TA3@~GG zjP;g(mLrBgtCu9ze$gEq_)0RlT-@w3k&H*NS$MAO7e~8|D0G~4I{<4_*<}ugy)Io;h@+-tGYy9ker&1xGn~%u4JHN(UVqICs8w z_^}L zoq*X$a8SBbo-Ww`fzbRgI^JwyUoGbLpoRg0RZbS(O(2+;Ko$M~^s8ui4T$$v(f=yq z^Zo; z$sSZwz8r+w9P$b3LCUdG&VMc2-4T~vlYOeqF-3dTJW3oLB?;tk`gKT+1m-#$#|%UrpHA2RqMRY(8xb&nVJ4 z*gw}U`vw_%HQmOMm)5a4&VM;DKLS(!xZ1Ui2HhgajI!xmE|%98Lyy&Co!Pmg+(hP^ z8Rj3;oD^8je)pM^u_|ofuCEV-#TnNx`r_jZlj<5m%wiC8?qTz2;xPkRBh7sWH)e)a zU7UP?Ci%zS)UmGPyZA2K49z(G)^%?1@R^wH(l~B0)cAeY&FtXAH$kSQ?A>~3AB-2x10j7*?fWTMAFf7$;tIvyOa!75wDJsvOr6S3#yab!hEIQrZU}_ey-19p3$?I7L*Uj%XI(4 znZlG~_Mk&y-NR8ls}l^t&!TN<@$I$BV7C1yhuc9ScHu&44JeB4;`1EPiDWx%PtJR)%9XzEk6? zIl9siVpmIBeKOjgP(C;eaBY7DWzT+vlO_%5M19H$R6y3x+`#e;H#4{6V>f;m-Xveb z!HCRVAA51Y78hoQ!OmIV zyAb^)B)rHMq(^y%$*{zi5$oQbn$8M-QL)m&=Bo4R@Sh3qO9Q8r4f5u8iBhdN*kh8g zrY1(1i4$4}^xJ(kN4)G*PEXzA{V|K5Uj+8J%x z|E`VNeEId04aw0O-J9T=7)(=;LmGQu6{m8IOG@IJ6g8A$R3RsJN5(@QssFl^7&tuh zvRF#X-DWpEYEyez%+_2#}5t~Kw*gAxx_*^?_Lx=mcyg|xOu%!I= zkJ|iPmb!QAp&Rkby2=jazy|2EjeVEbBZ=L!6Zx7XU8a<_}K#2M%%@V zQJRL!VqD%^=ZI07l>4Qczg7#`b?6Ua%qA93DjDFD^_*S8cic~jYc+G&xs1+cvHTG@ zM|sufF=9g+1IguLk3efA5W5%X7-y5>SxbL=HY@uB@(~>Kq{VL~2K-xq=8wUc2iGp1 zur9h9(&&EIp3H#Zoo&N1&bytVj;X)?NrxT&Nw+Ov|JH{bx6eAC7&;tgWUyFW+lF#% z9&0LR=y08(b+P!i9NO{yufNnG!RWaie{+`=F7@i;k)i2GFv7I?=XOv@GQFj% z;yGS}Z)60MYcbxxgsD6{Ci?$Uux}8q0XSe)JWv@Eg|LH{GGy@Aany4@0%f@h>@!fC zSsu=>y;Mw0){t5h(i){hSYkc>xoglK=s%OE?v=B1gGvAM`qdGfOHMz~3v@8Uqw*te zDL&pw|N0>|5Ncz6Az=;}P#Q})E^eCnk5KQxu%xyLKgQv+YMr!UL~sC;4}ANZILz>0 z%KYs7;)3Dm2@gn+%`hV7kl@iShU@mQF-uF2D z+*~a;*)w|Fd*q!0(l2{(nCTE;{+$Lu=84gz!wjF(JsJM#eSf#L?BAy*v)HkEIHO+m zPQ7};q}yo!O`jMDpL^(y1QtHt02w!a9~MWzJF1_6`FW4emtFU0&!4{jx()LmF#m5K za8Q3@Lp-%NXvBnG`EbYA48-TbO%Mf~N7%b`(mnpsdp(2D<)$)P2_$^Z^h|Jo2Y9)s z-bi4`6H0#!LoU5JxsKigi9MG(>>`{di}*ab39k5w%M5=Mery@+8{q~piJ))ij9B3Z zTLXf9#NQH3n)JsZY+yKdy}>q&KI{f8-ovCGd%Y#B^g-1p!U4~ip7#p#z`h1RxOoGR z$-f==zveI{oW57q-M-zUWmgxB^8k9vm@z*P7%Ec-&v%?+uGDxcV^;`>~kjwZC)b0aR zZ|M{e`DGVE+qS#(R()Wr1=TAy^0a26CW7<|Bna#SR8waWGt1ft044St>1z0w)%aGO zf$Dujp(q+?=y@9U=pr+U&+?4NF5;bYN>WEIkJxI-@kx7Hiv@wBh+$<}p8<)R^=2^cOhAHs1YprK7>;nG zj3;tu$Mdx5h2N9L1vhj$5w4u%7Eln*Zbdkd)0dVYZcR|5?MZ40Co}3Ml?7@??FL2@ zfFc-Bu7=vIG@A}cQK6jKJJy=T$_bQM8q4zx=~xUGvWsOG*=p&sIJs0+A(yM7ggv?) zO})*yNy(s+x$-09qh!kb7Q=;v$zVs7W`GGT1>r1CW>g!CLJ=M|yEK;Pt~M*prSOJp zAr#9l(jtVhO6Z35&C90d(B1Jo9d`r?xLxd*#mS|CXds8R5IdA|FwQQLI^6Bh+lFM& zBkgHzo^lfKBHdNs{mo>e9nHyp@KJA;-V5#p=imKm!yVNy<}{Ar9O%o4_XSh~8f zEO@CVG#xz{5(;Y2vtWy()n;jATv~D~x$7%yl+_3JnxryGVrrU`mKGrr`uW+psp)2b zfdwij**G2>YtUdUK#gcvI4B6{cV>ZChXU*bTwGhZjCMx$j>ThOU*HR0EUfO5RRt(0 z2@xPXAR@|#95ndp@!4(_XlG(rq^zc7>|2uaE40T2*R&bEe=0s^~A$2`Z>5I4=UxK>_M!^M@;czNYB7jhXeIFG@@c}y4{ zhKuDe7%=27VqBcNjK?`Pzd}V06)@z-Yr8Vbk)MTEk~+u9&ugG)g4{oE2?@D3kk@0B zQQ~dq_r%;r5c&JPCZ=pk68=o*`ho4`&roov3Bo+Od}F|bN9VZVk{1V`j|B&}Y)|O< zs9d>YW76kSGYu!`@qBe|T{(_CAD)Z~sBslg<0jKOfn1bAUTJ`f)EUJs{BTD_1kOf* z4iynN8wyOg7L8?$Q&=VCEK_?(qdc_3^GZkVSr8%jPlAzSjwMn{7R`x68=T;;;jZ-V1{O#J$+tW^nN zgM7(lu%R;1zF}lG6>bL#gZCupJ$-)zT&51N3Pv7xvht`_!u=m%V6X zaAvndCzm_cw-Q};kvtPxfiYaj^OYY*AeLvpJ611w6S4c3l@~12`b(T$|*nk9qO}h|AA}+Eh2i5@N@-7jiSI{OOyjm_YyG0yQ&I?+rg%_x|tIjk`f4SCK$^BY*jF4>`^%Azny$5xB^t&9BzUsWt-`k8t@u{qQa;a!P+p?;&bC3dWS zq8LQ5SoJ%YlW8ebKTsH~B}e@}M~w*R)W730#Db~*ZRum)s(zeGvOGuqS{VS~3)Ej@ zXWFgIaJ@|VM|Xw%`j@X&Z$-NBEmM*`N(u1iQ%U^^I^18;SbenwSdTKv)K!tf`a9=Q z0x8y)pt&HK8SAG)-la|$I%$VcQ6#bsO4EKK?m;pidk}P4=UhbWokfy8(??#{6jadL zKkVM-l4!sw19Y!W$ma33h0z9Q|r2pF+WI@^Y3orYnO5{yG}hziQ%O_4Wl9pmzkID^ z%0Jp)V|Utqt&E%Y<5Y^_ehfoM2f4<+>@5a^hLq1hh0sa@f5vKq`$FsP(@J4* z1@qWm%@XXQv%LpEB7vqW9>f?_APeNT!KeY|wEhSi9R3)PJ&7y{EqF2?Zc~U~R{V2a zTzshHr~APK9Z7x^Tm{Yokl#-5_ms$Q4iT5<0Qpm-NVAY5zY0E7JQ(ud^JDJ)d(yv_9#pI!6G@AKh`7G-x&*SCsCff2ks&2OuT)(YRB%*Y~Cooak zhSc>pV=5uKK3^+FT&v)~XH&R(sQG%DAvkI_qJD;axzV)$Dp6Z)VH;EEb_XPy*8O2MtC+ zQ^|h_X)WuEHl>vQ=q>=L9G~=EB`0~No=-n09N+Y=+;Q|zkzIXQ3qJt_9lEv3Q)Rc# ziy6L3@%5~bpMp>Wd0G4|45C+be*da9i3+U<|LsCzcZ%Y-`t$@)1pO{bA8(lE{~E;s z;_LX}(whxGkPpVbG5*qfF*E|eok~9z+5>BCz>`7fP7PUo@r9)_&6izGaUj+D<80Ly zgyfIcJUYyK>&%w-J6EzQ#%#$d{nP8&&Lwk^ynNoNFH6r zA^J0vNGE@$d*%AQCZ`I1PwZ{;^%xUBZwZOE&ufsFeHLCw8XvFCD*P){NWTBB?<(+B z@Fj8j6e$)x-y8xi?(GEo_EB)3{d7N={9G3ohKJh}GWI00B#8Y88yv#E4Mq*@L5x9# z-vb~K@T*yZFML`ljITdqwc+&{s1SC2*;@?55YqIAO}f($HY6bZUUX&Y-y(ZWf0ol; z`mM58((hHG0h@mAWdY;#OBs5;NI%pYlk__Ui1?^qVT9pmrUSVF`r7ZBV zgZ3TAB!JI3$LFpZ=j&K2j{){Znw7Vr6mVyL`?zS4lP<8p9x#NsJjx#JmYXc{C+t}Jj1>Y3Y<1XA7Pu~pUT6kAzpl4Y^bV2r zHlzdJ{bU{m?xs|BAgqN2_Re%uLVoyXqcL_d#>_!G#X$l;&oV>+YeiX^Ai&>0*2Ww7 z%X4uygV;Ql4>nM1bNN&TxpOQWX&@J-h4~KpmRuT=ps&cq2?^qkSsW!0OD&%OYR@SX z_V6|m$!X2|g`qK9;y*FYg_N?z0Bd8Re8@c;=x_+vSRpt*p=j+Z$H$@OvhCn()7+d6 z2DA3H!*Z(CcP4|8+*vqe=bq!%;~ILCl?R`A2Y0E0(SnO}Ey)#-ot{lryr#xg9VHf+ zq3%hLr-f(BInYWM}K1Am3ZK zvBKoiQZiGxZ!E)s0@S)PK24zSDu$zkt3^dVN0@IZ;30x|MVX%%Z4b4#v#UQngpW$Cluw0@uuvY!qMv%WRzx zm{zh~!oaAawMZbDQ|eoU@Q?ytA=pnSa8uQMy8_9JG zhr-d6ljd}(X6U$X4m>K?LpoizS-IX;(Cw1)-Hup{d&~ZY z93JH=8?yyZiwMrE-&7Qm!LmOS;Z&l$t+^v*?25RQJ|e0>=!@xinPBGse_|di*y%{o zF;?uJ=q^45jB5#<$@BBg4i6ALVD9aUZy{=l6m>EFH*QRJcK z*&jq6EO0B~e@_PD>&N|lc@7J6Q9g(gpzm#eu>#@$$Df$M*@R(%XO0?9(b;Rm+cfYe zXB}c1tbK8!Z)08_*QGD%Mu+DngW*Mr>#*O_feB6Dg_la+%z6kVnVS!csXg3j-U9?L-`l4^P)v=Te)OT5;xi-@wxem?L9q7( z+YY1-i!2G`U58)w>-yf4=^z{)7cV+!&p|0oBh7)ohi?^0DVTxXqM11`{nwM^;QwMh zwBewu-3F3Skn>ml)G3VUUd#4Lrwqe*7X>K zDhyHrsjA7Bex6sYslTwC!f>T=7-)S#q|)p)PlomaOs%K?6TI6wC1@rmEd2WrbzwGQ zPTa)UcL(R_EjVN0!qd530%2BKfU!eYK=;s5g=&h+SWt3RfkDaw1wjIbLz1q5W?x~j z6xi9b<8zuBLt$5i9;td!VMVpq%&_E25fyx!U`Pr)IOjmnVQeVClV33bEpIj}du7+@DkMj;jQ8c9>jQDfJ@;=?)hzx{qMqfj~+w~B_ zkVOYU?fPaJup%H-g_%Pn5D<2J6!HPpFh&eT!90+fR?hhA(+(u9WtP$Q&Vks2Bb2Ih zz{&&o1|p8I3T9BgL2->NkXCmM3RN6K(_p{2W1tlLRZ`XEe!(OdEN|^XKQ}a=W3cRk zvRX+WrkfjGFz{&w06pAYyG>~*ZWlDxn{f+-RY2F9IakYnjB7b>y%kFZPAND`x4rQb zgJ-M2m2`qbBmR?6&~Ojb=G^!MhD+T~#J#Rgm~Dn4uDS&BJOUX5AtlQXFZLTzcdg;= zlGP1@2Z`W01fPe#;{cov!LKWDRDh-3PLx%X&fqIjYk!CKKw8J7W*GRZUAqIdjxY2e zU2q>jg21V+0Cj1=l{MgYNmd&CFJU?-gaLnHt^gj!_yUBkJd&6wJGQw`;;z8Dhc43f zw&bdoz{n&Zav%z{Mu|fJfs#f#R`*mmLggxm?4>vErgrzE z@;`>UzEg(AIcl#ip&Q4AY<Q;u%Df|6cjCa1_I>Zavh3tpz}+QSOac&Gjk$f9H-ORHLb+Y zw9savTQ&HYee>`;qIGRKyhT$R8uwwJRxj<~xI8JM4_zkKPY~TOj4KO0=-ad5Slz4d z0SC8&+*0p@_rfK+9AJItCJ#K@$gVE6-RE!?Q+;6EN1XlLw9!$+mxoxK_#NXNVD@$& zYvM3^ZBH3Lmcu4DeYypY`8hMzf(|Yjflq2>+fG>Bf2#-6fVRusqF>S|9S~i3mP20G zse$7jj%nqk4~}ybp{pIYpkky8k$-25D4-=?NPdvbUn61u~ZMR{UUw!bnN4%Bm z*y8Zn;sHJ*#~N$H$}*oYz-){H@mLPGrT0+QaQd)u3}uJ>NJNn9o_%A$lRmum?{+8) z6th3R1DvMszv{0Zpe9^A{+&>NII^r95!kSqTkBS2`S}**cFa&e_y0BqaVx&12Fi=l z-LYb)ok&tTAuE8;gYs!Qd6_W5rpCQSI7BY#fuB(&&NF9IE%N3*d22WqCxEZN0tC7`B@tMxHNfQB;= zq=TC0ybMwOnbLxnk2At+OFdQRcUzNj@Z)2)=HZSl*W07`joF5>77D`}=GjWDyS&SG zG#T_frDdo}%a9f`%9}Db_P!`a^sTHumKdBzYhzfr12YXlT|KT(!mjiUVi)p z;vge=m%%fZzHFQkt}ivMw&rlq^P84Zl?Msd?_=cIi7%4lHp$iaN87J@|F-vVmh53+eTp7>Un=6=K8(BPFi`JGt65J%!9PL^0dZ%EMR>8{VD_wJ> z+4ipbY`%1vG1y4+1s39?8@7FH5WJM-=Rn=+jcSK1yuqvUz;nR#s$5zZu+dQOUP^{B zuQ215bbIs29wH6aTN*VYd@mK)IDWU<{gVj!UAV2=dh8wG92QoXiK><3z@qB7{11IM zaKQ}r|LLn`Pp4)+mwR@`2Tb&n_U=p&pf{mn1q5|H6Dbk6ci?X156TD8rYZwe3f#7zR<4=(q)Tvy+bU5>O=@g@g3pJhB=Ttad}f6aGSF(4Fc+Umt)!iaUFE~+-e8Z zFVRpn?xrF#OItDUChg*79k+2VA%zpf7d*F z^wUbzN$;=KIgr%a=@?Bl1oAh?G(9>Ic|0NgkQsDKrjLd|&MyjI5yN5m1 z?+3KLO?K%4ZNH4dkLFnafxySNug+*hw zg+wx&3b)(^8co1U*K<}0mOwnjCjQ5W(3xC%fq?K_!SMc0hE5 zf<2qc6D>qbo@K0}z2vE*#Y+(gTJ-&FkR{M~Mow7$1FA&fb@KZoVM{;C8dsb|4c!z7CW3RcpXp#8HZ9MvtGxwsopTc2vB^7X4C_huPegK*SNd zDZwr+18uaBE26rY9#DWbEM@458H;al0}@CX*brzXB&2X_Db0SzIrI@iyvf)OsM$?> zT5-gEElb+K7w1D z1}!Ns;+6P37aVm2)X+rvVHHTg&{6MtV7C``ARFH@){(i|r$`B(PFKu|ml@*-REyRIjsV$}HL?-V zr{jC}+<;l6%qtlY1S%pdjs#kZE8Zy(NL&X91W2EGPboIqoQU)o?s$U&3t!tpIUt7u z*;a2$e6ma~G_$1)o(&TYybaNiLIJ2g17EP8m6z}4VE_*<-G3uo+*prUy;oDg1SvJJxqMTC<;3_(?9Sr0q1`Z!cb{�M;q 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 -T;RjALr;gd(6Obl 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
R50sY(cXTzG%<7 z=W6QdoVka9-`ctWjvs_~L@t(E+fl_%xS2NOOq(??__EjglEws!hpe?$u#=+M2PAh7 z0iBvu3)~eup|xeDo{u8coLy_d7hD1m#iouRyJ^*Kye$wculFI1`Pw5co_}?NX>hg2 zbE>W673_qYsRet@E-ggb()&C<7xTHkk*9X!KCPFLX24=W*4y2tu$B$Fn(NYz=Dpa@ zwc#puB3jQPYh`XbucRf|i52Ql&tfLfC*Y5?9cVlslTU8ILmMG#j1FWMGZB4knIM|I zfsAU}%5)z56@nKP3ieXd&n;5cZP>}8&V&YT?#)_m=;W_v3Mc61_GjFY^Q1r zI6yK3r=Xr zA2xWs$Fsp&oj}DI|Kl-!m(zJ)m)^?Y*|u3}ev)3>exS0SHhkH!f$Os%ukqdpmZa}} zdE~|qm&`cetPQER<9)x$=MSpQ2vt0L&lWrRTnub2<6|cO1>7(He5IEg{+gF(agj}_ zW9;mlcS7+Cr*6+HR`+jDNh6@u7OT0wYc;|VYO(tDb(bO9bpgJ;4lguW?|GTiW%6R6?D+6CEVtxhoFa-BFM zV7I+i3uA$%v5rhNoK>!gG!??kL6xOxQDtxRt1b8E8E@OYuJ65j=yGGY4b(EMg$?@F z;RPf1A{Tajr2ioe0s95ky|vYe{-`5B*~G4y%T=>jEuay%*mP}MmAb=v2sg5{1>_{q z2wALmZMRC@@n-6f{znK7BAVBPs&{KyHRiW<6 zm$3Pb7JRvKP)jvM-T?LwyM}hOhRjF!MSN(jQI)!@W{4q&ZE|0*k*(Jk9Fr=(TWedP z?nZUSL(CZh{tG(dXfpUB4(jZ&Rmg`B$GQXcsXc1{_-KUYZ8K!;Bhap5LDM=LP4@aj z&;0EbV;)g7kLDVAK-)|%FilYe;|_2_J$-S>|H@%$W(|EaAwpe@HRgImDtmXkJX*0~`4m@o!d-v-+toh*re}muJ zZDw9NDA*PQz$TsL$%LUX?h~2+?Z8@?F0%$cV1kVy(L65RA3}Ygw-k z9HDFzX9V2kL{GUricVOk{FBOUeDqw|DW%^0M)#cR@#;E|d0 zf~4I%krF3LR=e?b{d2!yo3W0j8qxOH%-g6t+$)f`bo{ku7`rV6@CE)y z7^kbPd3W&5BSy~zhHRo7v7-F>jBnQY1dC$HN!9KgL%VN_(lXpa!@UK~qF6d(3cyyo zFH+iePONBI+Hp66IcwG{gE}L-<&;cqLson3#K4*dibi(LR+ZKqMDx!tQM-T9!NXO# z|BGpdT;@BOof{x%cl`ZBhj-iU*JaVo=+I{rca(9<>+`i%?N$)F?G>hzTcfzSRl60M z!U^0i+jnYV$*gPQx1sRPrc%(kNFN24@^H3+*4h)4FfR~Ow=Pv|NOcrTKB(4)eYo9U z!3&mWZMUmP$bu8v+Md8|=E_&=g?5ho6-$^TmDUC;L8#6{>!^ayDUEM6twHt$s=!#sft2+$I(plg(C%wkU zl8SgB7#^Vj(?Bf0LTiAW5kX2Ha$b$e7nql8eVOJdyKV|^;BHQqll#jfy1Qezz^KoS;qJ6uOqu&5)NH9o`;++hLyw$}d8rjAH-+8&_J&I7CV+J?Bn zrpDyOsn=7gwnva5stM3uutKO<>Ih?0ZI31a4Jp1T)mY##jk;ii#-WZ#Rk1zDwm^=J z)DCO-b%a}ly4PANwnvbT{1geO@-U$uM0yBDWM}Llw_7tVc*=v}8Ig-j)-6_Tk9|fB z5#wgf1)k;{TX%do#4FlkU0AU_5cD=f1R}Kw)Sdl=%0ARmi*CmPr#=9owdxW5bj0s^ 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

d zn9GSTn=P!}a3T!^g+w7S7W-n~&+7|u;16slH#Bq)O@!5MIk1N1N)L~aXA2^2vs%rY z)y8<(!~K+lBp3^O zvh;|xH{t9T_-32!`4*Y(u0sk}ulJ7QQ@NC*NbKlDb&Sd56`%2FXXG0_@(q>*b^THVrj0C^$`^1lgm0>x~1~N<6zcK`%Q55<}&wCHF*}k5jS$HLg^nk)4AXr!i1>tTpR}gL?*FiK} zXv2-SJ<#QWw;FgX_Kn-Vadr$0aW63TH_>z5JeL(7FgA)cEhX&B0t;{ASc+t58^K#R zvw?dgX#+^UZZ#Rs^I+kvoYg$sH>=%lL*K|RSHeD+3`UOd!qJBQfsr|}yxnfg-n$%mC11D?YcpIY4KHHZIWilM;WfXI7yxUET9kYRD4p+;4uu+_Wx0+1$ z5@+Yani$4#-!L#H!dxIp!`*73O?>laD10;YW+?aO&CpQJvxTpFUN6x$ia#{+vz6iJ z#l#nFvIf@nY+x-UW5--D^2(KRobj{)bD#}ZisdwzONM*JXki(~TvZOUgm8PkTrqGg z%dw~DXI2x-99Vv|7%lW{FPo4!zGkI3!amXVedT*$4W;cHfj&^Egn>b?m-l+TUawbp zBZoks&kF)e*awb5-;fBieM2Jd_07PV=nVmRwD0Fe*1{lAwoK@|#cbbhumHWp@#b>b zO3xJwJ=o2s7Lqqy%yn~Jx!FD#dBeqq%3BTeM)9NBVzJn*XxDm%@7S-lcRxa(v0639~&5-Z=8WyV`k_}h?{-j zNP^=~E*2E~JR$MN`}Vw99IKnI2*`q0LR5!%r=Y+V{b$f7o&aKa3Bp7W8jPSc`+Le1R{sTauk2f zM%*-7cq47NYaz`GLGUKh$g&35wMm%>eqab#yfG%jz21nh+BX~M1%nOU!!y*wlk<9p z<{7#tH&5;%5a>#IPdSeWZOD)GMi_Vt$FEis#T)rh&ies@#1~i&;(N2m;w~K%^IfV(EG)SAs(@m`E!>p|M=);UUQqce5?p zghZHYTj-knett$583Ms#VF?p$({Qg5SMD7Hfygi>1cn}v4ObHaLm=2t&IOCzX0DPP zq0LB=;18?}g~(V~8^w@x*<7S+m+K|cUf}EJ_Kh?02F6@o4s;Vj2qc;NZnPWu5=B@J zoD_dxwyz{(B^iT_By1!{FbL;;B@Ohx*sJ!@X0{j!zAk@$i7xQc`+MKR>d|HBW*)5*QHpBFmU$4Jo1$TU$hrajDg`#(93mL z3&XKI9LpF@6asBISCyQr$|Viw8pH3W7M>}^92mpm0%H&5N*GweK+g(K8*&tP<-ptc z1wDc`Tj-Uwkmm9{o9K-qEPT0+-M(w%=e?GnHR&4m+DaK$IfgFS>+^WZxT;tw477mpm83ws%pe>Arv@b|@do%QiqmAE9W(#SwZ?xfT zAQ&slj|^+DFa{$>8;<uB(#D#3&tj9GFOr*UY0)b??Z>)hd zFm{C`hi>F|?nZjG4L;8D>l-#N7isQ*KV$CBVDo3Mf-3z zh@tFnA&@5rSzrA>r+G%zTX zJ&GepZct?dvdTB`SS{ufe@M^sV4o`n`##wS*1nks#=LU8jbqFfu#4*WHQ`~biu@+*|YHjNir7N#A6{?3&Fb*b767QWBYER=aJ!9 zx+ZTkSD2-T=T`IHU@65n-Ut*M!Jiv>?Po^&Jo1CZhDsL=cFYErV`#&n4Ub|N^!v;mxm;i2;fV#=cu3e+`)b}#847uxkoZIH1-Zg;wnvk}w1h*W zNaDVmm*sMN)kIkAhWkqKMvHksFAoR^DE9$*w(!e+Fd^?NV>VKRQM7?G8%Vp|a4?$) zyR?C}AS@m^M9N5;ILcnRuQr0O8qQV=ZJ#IJY_kw(w2ipe-YonPgZ@hImHTRAI4f^o z?6ZY3FBh96!BNQbYIuni(iL}|IX9GcSgpsuuE=Wim$ItfA_=Q1UkO$g ?7M;$UvB*uanW`fS5qA_>Yu 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 S008U_0ssU600027>XMH?uiX6r literal 0 HcmV?d00001 diff --git a/apps/cluster-demo/package.lua b/apps/cluster-demo/package.lua new file mode 100644 index 00000000..d6f8cc4a --- /dev/null +++ b/apps/cluster-demo/package.lua @@ -0,0 +1,42 @@ +Name = "ClusterDemo" +StartupScreen = "ClusterDemo/Screens/Cluster" +WindowWidth = 1920 +WindowHeight = 720 +ScreenLibrary = { IsExternal = true } +SystemMessages = { + { Message="KeyDown", Key="q", Command="return" }, + { Message="WindowClosed", Command="return" }, + { Message="RequestReload", Command="window:refresh()" }, +} +EnginePlugins = { + { Name="orca.UIKit" }, + { Name="orca.SceneKit" }, +} +-- Shader uniforms. tools/blender-export.py reports any that are missing here. +PropertyTypes = { + { Name = "Color0", Category = "Uniform", DataType = "Color" }, + { Name = "Color1", Category = "Uniform", DataType = "Color" }, + { Name = "Color2", Category = "Uniform", DataType = "Color" }, + { Name = "ColorDark", Category = "Uniform", DataType = "Color" }, + { Name = "ColorLight", Category = "Uniform", DataType = "Color" }, + { Name = "ColorOff", Category = "Uniform", DataType = "Color" }, + { Name = "ColorOn", Category = "Uniform", DataType = "Color" }, + { Name = "EdgeDark", Category = "Uniform", DataType = "Float" }, + { Name = "FadeIn", Category = "Uniform", DataType = "Float" }, + { Name = "FadeOut", Category = "Uniform", DataType = "Float" }, + { Name = "InnerFade", Category = "Uniform", DataType = "Float" }, + { Name = "Intensity", Category = "Uniform", DataType = "Float" }, + { Name = "Level", Category = "Uniform", DataType = "Float" }, + { Name = "Lobes", Category = "Uniform", DataType = "Float" }, + { Name = "Phase", Category = "Uniform", DataType = "Float" }, + { Name = "Pos0", Category = "Uniform", DataType = "Float" }, + { Name = "Pos1", Category = "Uniform", DataType = "Float" }, + { Name = "Pos2", Category = "Uniform", DataType = "Float" }, + { Name = "Power", Category = "Uniform", DataType = "Float" }, + { Name = "RingContrast", Category = "Uniform", DataType = "Float" }, + { Name = "Rings", Category = "Uniform", DataType = "Float" }, + { Name = "Sharpness", Category = "Uniform", DataType = "Float" }, + { Name = "Soft", Category = "Uniform", DataType = "Float" }, + { Name = "Tail", Category = "Uniform", DataType = "Float" }, + { Name = "Tint", Category = "Uniform", DataType = "Color" }, +} diff --git a/tools/blender-export.py b/tools/blender-export.py new file mode 100644 index 00000000..13492a60 --- /dev/null +++ b/tools/blender-export.py @@ -0,0 +1,541 @@ +#!/usr/bin/env python3 +"""Blender -> ORCA exporter. + +Runs inside Blender and writes an ORCA project's 3D assets from the open file: + + Meshes/ FBX export + orca-fbx (tools/fbx-import.cpp): .mesh and + a declaration next to it + Shaders/ one per shader node group that has a ".frag" + text block (GLSL fragment body); ".vert" overrides the + default vertex stage + Materials/ one per material built on such a group. Uniform + values are the group node's inputs; "orca_blend" on the + material is opaque | alpha | additive + Images/ images used by Image Texture nodes + Animations/ one per action, plus Animations.lua describing them + Scenes/ .xml: the node hierarchy with transforms and one + AnimationPlayer per clip (Animations/), as a prefab rooted + in a Node3D + Screens/ .xml: Screen > Viewport3D > Scene with the active camera + and a PrefabView3D showing the prefab. Written once; it belongs + to the app afterwards (the export reports the camera to copy) + package.lua written once, if the project does not have one yet + +Usage: + blender -b scene.blend --python tools/blender-export.py -- + [--name Name] [--collection Name] [--screen Name] [--orca-fbx path] + +or, from a running Blender (e.g. through the Blender MCP): + import runpy + runpy.run_path("tools/blender-export.py")["export"]("") + +Engine behaviour this exporter relies on (see the comments where it does): + * custom uniforms have to be registered project property types + * a shader's own properties declare its uniforms; colour ones are sRGB + * 3D nodes draw in tree order with depth writes on +""" +import argparse +import math +import os +import re +import shutil +import subprocess +import sys +import tempfile +import xml.etree.ElementTree as ET + +import bpy +from mathutils import Euler, Matrix, Vector + +REPO = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +ORCA_FBX = os.path.join(REPO, "build", "bin", "orca-fbx") + +# Blender is Z up, ORCA is Y up with the camera looking down -Z: (x, y, z) -> (x, z, -y). +# The FBX export bakes the same rotation into the mesh data. +TO_ORCA = Matrix(((1, 0, 0, 0), (0, 0, 1, 0), (0, -1, 0, 0), (0, 0, 0, 1))) +FROM_ORCA = TO_ORCA.inverted() + +UNIFORM_CATEGORY = "Uniform" # custom uniforms are attached properties "Uniform." +BLEND = {"opaque": "Opaque", "alpha": "Alpha", "additive": "Additive"} + +DEFAULT_VERTEX = """ +in vec3 a_position; +in vec2 a_texcoord0; +out vec2 v_texcoord0; +uniform mat4 u_modelViewProjectionTransform; +void main() { + v_texcoord0 = a_texcoord0; + gl_Position = u_modelViewProjectionTransform * vec4(a_position, 1.0); +} +""" + + +def fmt(v): + s = "{:.5f}".format(v).rstrip("0").rstrip(".") + return "0" if s in ("-0", "") else s + + +def vec(values): + return " ".join(fmt(v) for v in values) + + +def hex_color(rgb): + """Linear RGB -> '#RRGGBB'. ORCA linearises colour uniforms with pow(c, 2.2) + (and renders to an sRGB framebuffer), so this is the exact inverse of that.""" + def ch(c): + return max(0, min(255, round(max(c, 0.0) ** (1 / 2.2) * 255))) + return "#{:02X}{:02X}{:02X}".format(*(ch(c) for c in rgb[:3])) + + +def write_xml(path, root, doctype=None): + ET.indent(root, space=" ") + os.makedirs(os.path.dirname(path), exist_ok=True) + with open(path, "w", encoding="utf-8") as f: + f.write('\n') + if doctype: + f.write(doctype + "\n") + f.write(ET.tostring(root, encoding="unicode")) + f.write("\n") + + +# ---------------------------------------------------------------- transforms + + +def local_matrix(ob): + """Matrix relative to the parent, as the scene graph sees it.""" + if ob.parent: + return ob.parent.matrix_world.inverted() @ ob.matrix_world + return ob.matrix_world.copy() + + +def orca_trs(m, hint=None, camera=False): + """Blender local matrix -> (translation, XYZ euler in degrees, scale) in ORCA space. + + Mesh nodes get a change of basis on both sides, because their vertex data is + converted too. Cameras look down their local -Z in both programs, so only + their placement is converted. `hint` is the Blender euler, used to pick the + equivalent ORCA euler closest to it (keeps single-axis rotations single-axis). + """ + m = TO_ORCA @ m if camera else TO_ORCA @ m @ FROM_ORCA + loc, rot, scale = m.decompose() + compat = Euler((hint[0], hint[2], -hint[1]), 'XYZ') if hint is not None and not camera else Euler((0, 0, 0), 'XYZ') + eul = rot.to_matrix().to_euler('XYZ', compat) + return tuple(loc), tuple(math.degrees(a) for a in eul), tuple(scale) + + +def transform_attr(ob): + t, r, s = orca_trs(local_matrix(ob), ob.rotation_euler if ob.rotation_mode == 'XYZ' else None, ob.type == 'CAMERA') + return "{} {} {}".format(vec(t), vec(r), vec(s)) + + +# ---------------------------------------------------------------- shaders and materials + + +def shader_node(mat): + """The group node that defines an exportable material, or None.""" + if not mat or not mat.node_tree: + return None + for node in mat.node_tree.nodes: + if node.type == 'GROUP' and node.node_tree and bpy.data.texts.get(node.node_tree.name + ".frag"): + return node + return None + + +def uniforms(node): + """[(name, 'Color' | 'Float', xml value)] from the group node's inputs.""" + out = [] + for sock in node.inputs: + if sock.type == 'RGBA': + out.append((sock.name, "Color", hex_color(sock.default_value))) + elif sock.type == 'VALUE': + out.append((sock.name, "Float", fmt(sock.default_value))) + return out + + +def group_uniforms(group): + """Same, from a group's interface defaults.""" + out = [] + for item in group.interface.items_tree: + if item.item_type != 'SOCKET' or item.in_out != 'INPUT': + continue + if item.socket_type == 'NodeSocketColor': + out.append((item.name, "Color", hex_color(item.default_value))) + elif item.socket_type == 'NodeSocketFloat': + out.append((item.name, "Float", fmt(item.default_value))) + return out + + +def export_shader(group, path): + # A shader's own properties are its uniform declarations: ORCA emits the GLSL + # "uniform" lines from them and treats the colour ones as sRGB. The text + # block's hand-written declarations of the same names would clash, so drop them. + declared = group_uniforms(group) + attrs = {"Name": group.name} + for name, _kind, value in declared: + attrs["{}.{}".format(UNIFORM_CATEGORY, name)] = value + names = "|".join(re.escape(n) for n, _k, _v in declared) + frag = bpy.data.texts[group.name + ".frag"].as_string() + if names: + frag = re.sub(r"^\s*uniform\s+\w+\s+(?:{})\s*;[^\n]*\n".format(names), "", frag, flags=re.MULTILINE) + root = ET.Element("Shader", attrs) + vert = bpy.data.texts.get(group.name + ".vert") + ET.SubElement(root, "VertexShader").text = vert.as_string() if vert else DEFAULT_VERTEX + ET.SubElement(root, "FragmentShader", {"Out": "FragColor"}).text = "\n" + frag + write_xml(path, root) + + +def export_image(image, image_dir): + os.makedirs(image_dir, exist_ok=True) + name = os.path.splitext(bpy.path.basename(image.filepath) or image.name)[0] + ".png" + src = bpy.path.abspath(image.filepath) if image.filepath else "" + if src.lower().endswith(".png") and os.path.exists(src): + shutil.copyfile(src, os.path.join(image_dir, name)) + else: + image.save(filepath=os.path.join(image_dir, name)) # packed or non-PNG: let Blender write it + return os.path.splitext(name)[0] + + +def export_material(mat, node, project, out_dir): + attrs = {"Name": mat.name, "Shader": "{}/Shaders/{}".format(project, node.node_tree.name), + "BlendMode": BLEND[mat.get("orca_blend", "opaque")]} + for name, _kind, value in uniforms(node): + attrs["{}.{}".format(UNIFORM_CATEGORY, name)] = value + images = [n.image for n in mat.node_tree.nodes if n.type == 'TEX_IMAGE' and n.image] + if images: + attrs["Texture"] = "{}/Images/{}".format(project, export_image(images[0], os.path.join(out_dir, "Images"))) + write_xml(os.path.join(out_dir, "Materials", mat.name + ".xml"), ET.Element("Material", attrs)) + + +# ---------------------------------------------------------------- meshes + + +def export_meshes(meshes, project, mesh_dir, orca_fbx): + """FBX -> orca-fbx, then one declaration per file.""" + if os.path.isdir(mesh_dir): + shutil.rmtree(mesh_dir) + with tempfile.TemporaryDirectory() as tmp: + fbx = os.path.join(tmp, "export.fbx") + view_layer = bpy.context.view_layer + previous = [(o, o.select_get()) for o in view_layer.objects] + for o in view_layer.objects: + o.select_set(o in meshes) + try: + # Y up / -Z forward with the space transform baked rotates the vertex + # data itself into ORCA space; FBX_SCALE_ALL keeps units 1:1. + bpy.ops.export_scene.fbx( + filepath=fbx, use_selection=True, object_types={'MESH'}, axis_forward='-Z', axis_up='Y', + bake_space_transform=True, apply_scale_options='FBX_SCALE_ALL', global_scale=1.0, + mesh_smooth_type='OFF', use_mesh_modifiers=True, bake_anim=False, add_leaf_bones=False) + finally: + for o, sel in previous: + o.select_set(sel) + done = subprocess.run([orca_fbx, fbx, mesh_dir], capture_output=True, text=True) + if done.returncode != 0: + raise RuntimeError("orca-fbx failed: " + (done.stderr or done.stdout)) + for ob in meshes: + if not os.path.exists(os.path.join(mesh_dir, ob.name + ".mesh")): + raise RuntimeError("orca-fbx wrote no mesh for " + ob.name) + write_xml(os.path.join(mesh_dir, ob.name + ".xml"), + ET.Element("Mesh", {"Name": ob.name, "Source": "{}/Meshes/{}.mesh".format(project, ob.name)})) + + +# ---------------------------------------------------------------- animation + +TRANSFORM_CHANNELS = (("location", "LayoutTransformTranslation"), ("rotation_euler", "LayoutTransformRotation"), + ("scale", "LayoutTransformScale")) +SOCKET_PATH = re.compile(r'nodes\["(.+?)"\]\.inputs\[(\d+)\]\.default_value') + + +def slot_fcurves(action, slot): + if hasattr(action, "fcurves"): # Blender < 5 + return list(action.fcurves) + from bpy_extras import anim_utils + bag = anim_utils.action_get_channelbag_for_slot(action, slot) + return list(bag.fcurves) if bag else [] + + +def animated_ids(action): + """[(id, fcurves)] for every object and node tree driven by the action.""" + out = [] + owners = list(bpy.data.objects) + [m.node_tree for m in bpy.data.materials if m.node_tree] + for owner in owners: + ad = owner.animation_data + if ad and ad.action == action: + out.append((owner, slot_fcurves(action, getattr(ad, "action_slot", None)))) + return out + + +def key_frames(fcurves): + """Frames to export: the keys themselves if every segment is linear, else every frame.""" + frames = sorted({kp.co[0] for fc in fcurves for kp in fc.keyframe_points}) + linear = all(kp.interpolation == 'LINEAR' for fc in fcurves for kp in fc.keyframe_points) + if linear or len(frames) < 2: + return frames + return [float(f) for f in range(math.floor(frames[0]), math.ceil(frames[-1]) + 1)] + + +def object_curves(ob, fcurves): + """[(property, [(frame, (x, y, z))])] for the animated transform groups of an object.""" + by_path = {} + for fc in fcurves: + by_path.setdefault(fc.data_path, {})[fc.array_index] = fc + animated = [(path, prop) for path, prop in TRANSFORM_CHANNELS if path in by_path] + if not animated: + return [] + frames = key_frames([fc for path, _p in animated for fc in by_path[path].values()]) + + def channel(path, current, frame): + return [by_path.get(path, {}).get(i).evaluate(frame) if i in by_path.get(path, {}) else current[i] for i in range(3)] + + samples = [] + for frame in frames: + loc = channel("location", ob.location, frame) + rot = channel("rotation_euler", ob.rotation_euler, frame) + scale = channel("scale", ob.scale, frame) + basis = Matrix.LocRotScale(Vector(loc), Euler(rot, ob.rotation_mode), Vector(scale)) + samples.append((frame, orca_trs(ob.matrix_parent_inverse @ basis, rot))) + index = {"location": 0, "rotation_euler": 1, "scale": 2} + return [(prop, [(frame, trs[index[path]]) for frame, trs in samples]) for path, prop in animated] + + +def uniform_curves(tree, fcurves): + """[(uniform name, [(frame, (value,))])] for animated shader inputs of a material node tree.""" + out = [] + for fc in fcurves: + m = SOCKET_PATH.fullmatch(fc.data_path) + if not m or m.group(1) not in tree.nodes: + continue + sock = tree.nodes[m.group(1)].inputs[int(m.group(2))] + out.append((sock.name, [(f, (fc.evaluate(f),)) for f in key_frames([fc])])) + return out + + +def export_animations(objects, node_path, project, out_dir): + """Write one clip per action. Returns [(action, duration, {object name: [uniform names]})].""" + fps = bpy.context.scene.render.fps / bpy.context.scene.render.fps_base + exported = set(objects) + clips = [] + for action in bpy.data.actions: + curves = [] # (target object, property, keys) + node_uniforms = {} + for owner, fcurves in animated_ids(action): + if isinstance(owner, bpy.types.Object): + if owner in exported: + curves += [(owner, prop, keys) for prop, keys in object_curves(owner, fcurves)] + continue + users = [o for o in exported if o.type == 'MESH' and any( + s.material and s.material.node_tree == owner for s in o.material_slots)] + for name, keys in uniform_curves(owner, fcurves): + for ob in users: + curves.append((ob, name, keys)) + node_uniforms.setdefault(ob.name, []).append(name) + if not curves: + continue + first = min(k[0][0] for _o, _p, k in curves) + last = max(k[-1][0] for _o, _p, k in curves) + duration = (last - first) / fps + root = ET.Element("AnimationClip", {"Name": action.name, "Mode": "PlayOnce", "StartTime": "0", "StopTime": fmt(duration)}) + for ob, prop, keys in curves: + # Players sit under /Animations/, hence the two steps up. + curve = ET.SubElement(root, "AnimationCurve", { + "Name": "{}.{}".format(ob.name, prop), "Path": "../../" + node_path[ob], "Property": prop}) + frames = ET.SubElement(curve, "AnimationCurve.Keyframes") + for frame, value in keys: + value = list(value) + [0.0] * (4 - len(value)) + ET.SubElement(frames, "Keyframe", {"Time": fmt((frame - first) / fps), "Value": vec(value), "TangentMode": "1"}) + write_xml(os.path.join(out_dir, "Animations", action.name + ".xml"), root) + clips.append((action, duration, node_uniforms)) + return clips + + +def write_animation_index(clips, project, screen, out_dir): + """Animations.lua: what each clip stands for, so the app can drive it from a signal.""" + lines = ["-- Generated by tools/blender-export.py. One entry per exported animation clip.", + "-- Scrub a clip by setting CurrentTime on its player node: time = Duration * (value - Min) / (Max - Min).", + "return {"] + for action, duration, _u in clips: + fields = ['Player = "Animations/{}"'.format(action.name), "Duration = {}".format(fmt(duration))] + if "orca_signal" in action: + fields += ['Signal = "{}"'.format(action["orca_signal"]), "Min = {}".format(fmt(action.get("orca_min", 0.0))), + "Max = {}".format(fmt(action.get("orca_max", 1.0)))] + lines.append("\t{} = {{ {} }},".format(action.name, ", ".join(fields))) + lines.append("}") + with open(os.path.join(out_dir, "Animations.lua"), "w", encoding="utf-8") as f: + f.write("\n".join(lines) + "\n") + + +# ---------------------------------------------------------------- scene + + +def camera_element(ob): + scene = bpy.context.scene + aspect = scene.render.resolution_x / scene.render.resolution_y + cam = ob.data + if cam.sensor_fit == 'VERTICAL' or (cam.sensor_fit == 'AUTO' and aspect < 1): + fov_v = 2 * math.atan(cam.sensor_height / 2 / cam.lens) + else: + fov_v = 2 * math.atan(math.tan(math.atan(cam.sensor_width / 2 / cam.lens)) / aspect) + return ET.Element("Camera", { + "Name": ob.name, "Fov": fmt(math.degrees(fov_v)), "FovType": "Yfov", + "ZNear": fmt(cam.clip_start), "ZFar": fmt(cam.clip_end), "LayoutTransform": transform_attr(ob)}) + + +def export_scene(objects, project, screen, out_dir, clips): + scene = bpy.context.scene + width, height = scene.render.resolution_x, scene.render.resolution_y + exported = set(objects) + camera = scene.camera if scene.camera in exported else None + cam_inv = camera.matrix_world.inverted() if camera else Matrix() + animated_uniforms = {} + for _a, _d, node_uniforms in clips: + for name, names in node_uniforms.items(): + animated_uniforms.setdefault(name, []).extend(names) + + def depth(ob): + return (cam_inv @ ob.matrix_world.translation).z # camera looks down -Z: most negative is farthest + + def element(ob): + attrs = {"Name": ob.name, "LayoutTransform": transform_attr(ob)} + node = shader_node(ob.material_slots[0].material) if ob.type == 'MESH' and ob.material_slots else None + if node: + mat = ob.material_slots[0].material + attrs["Mesh"] = "{}/Meshes/{}".format(project, ob.name) + attrs["Material"] = "{}/Materials/{}".format(project, mat.name) + # Animated uniforms live on the node: every node loads its own material + # instance, and node values take precedence over the material's. + values = {n: v for n, _k, v in uniforms(node)} + for name in animated_uniforms.get(ob.name, []): + attrs["{}.{}".format(UNIFORM_CATEGORY, name)] = values[name] + el = ET.Element("Model3D", attrs) + else: + el = ET.Element("Node3D", attrs) + # Nodes draw in tree order with depth writes on, so siblings go back to front. + for child in sorted((c for c in ob.children if c in exported and c.type != 'CAMERA'), key=depth): + el.append(element(child)) + return el + + # Prefab: everything the app should not have to touch after an export. + prefab = ET.Element("Node3D", {"Name": screen}) + for ob in sorted((o for o in objects if o.parent not in exported and o.type != 'CAMERA'), key=depth): + prefab.append(element(ob)) + if clips: + # An element is an object of its own, and curve paths are + # relative to it: /Animations/. + players = ET.SubElement(prefab, "Node3D", {"Name": "Animations"}) + for action, _duration, _u in clips: + ET.SubElement(players, "AnimationPlayer", { + "Name": action.name, "Clip": "{}/Animations/{}".format(project, action.name)}) + write_xml(os.path.join(out_dir, "Scenes", screen + ".xml"), prefab) + + # Screen: scaffolded once. The camera lookup only checks the scene's direct + # children, so the camera lives here rather than in the prefab. + cam_el = camera_element(camera) if camera else None + path = os.path.join(out_dir, "Screens", screen + ".xml") + if not os.path.exists(path): + root = ET.Element("Screen", {"Name": screen, "Width": str(width), "Height": str(height), "ClearColor": "#000000"}) + viewport = ET.SubElement(root, "Viewport3D", {"Name": "Viewport", "Width": str(width), "Height": str(height)}) + scene_el = ET.SubElement(viewport, "Scene", {"Name": "Scene"}) + if cam_el is not None: + scene_el.set("Camera", camera.name) + scene_el.append(cam_el) + ET.SubElement(scene_el, "PrefabView3D", {"Name": screen + "View", "Prefab": "{}/Scenes/{}".format(project, screen)}) + write_xml(path, root, '') + return ET.tostring(cam_el, encoding="unicode") if cam_el is not None else None + + +def node_paths(objects): + exported = set(objects) + + def path(ob): + return (path(ob.parent) + "/" if ob.parent in exported else "") + ob.name + return {ob: path(ob) for ob in objects} + + +# ---------------------------------------------------------------- project + + +def property_types(materials): + """Uniforms have to exist as project property types before a material can set them.""" + types = {} + for _mat, node in materials: + for name, kind, _value in uniforms(node): + if types.setdefault(name, kind) != kind: + raise RuntimeError("uniform {} is both a colour and a float".format(name)) + return ["\t{{ Name = \"{}\", Category = \"{}\", DataType = \"{}\" }},".format(n, UNIFORM_CATEGORY, k) + for n, k in sorted(types.items())] + + +def write_package(out_dir, project, screen, materials): + scene = bpy.context.scene + path = os.path.join(out_dir, "package.lua") + types = property_types(materials) + if os.path.exists(path): + text = open(path, encoding="utf-8").read() + return [t.strip() for t in types if t.split('"')[1] not in text] + with open(path, "w", encoding="utf-8") as f: + f.write("\n".join([ + 'Name = "{}"'.format(project), + 'StartupScreen = "{}/Screens/{}"'.format(project, screen), + "WindowWidth = {}".format(scene.render.resolution_x), + "WindowHeight = {}".format(scene.render.resolution_y), + "ScreenLibrary = { IsExternal = true }", + "SystemMessages = {", + '\t{ Message="KeyDown", Key="q", Command="return" },', + '\t{ Message="WindowClosed", Command="return" },', + '\t{ Message="RequestReload", Command="window:refresh()" },', + "}", + "EnginePlugins = {", + '\t{ Name="orca.UIKit" },', + '\t{ Name="orca.SceneKit" },', + "}", + "-- Shader uniforms. tools/blender-export.py reports any that are missing here.", + "PropertyTypes = {"] + types + ["}", ""])) + return [] + + +def export(out_dir, project=None, collection=None, screen="Cluster", orca_fbx=ORCA_FBX): + out_dir = os.path.abspath(out_dir) + project = project or "".join(w.capitalize() for w in re.split(r"[^A-Za-z0-9]+", os.path.basename(out_dir)) if w) + coll = bpy.data.collections.get(collection) if collection else None + objects = list(coll.all_objects) if coll else list(bpy.context.scene.objects) + bpy.context.view_layer.update() + + meshes = [o for o in objects if o.type == 'MESH' and o.material_slots and shader_node(o.material_slots[0].material)] + skipped = [o.name for o in objects if o.type == 'MESH' and o not in meshes] + materials = {} + for ob in meshes: + mat = ob.material_slots[0].material + materials[mat.name] = (mat, shader_node(mat)) + groups = {node.node_tree.name: node.node_tree for _m, node in materials.values()} + + for sub in ("Shaders", "Materials", "Animations"): + shutil.rmtree(os.path.join(out_dir, sub), ignore_errors=True) + export_meshes(meshes, project, os.path.join(out_dir, "Meshes"), orca_fbx) + for group in groups.values(): + export_shader(group, os.path.join(out_dir, "Shaders", group.name + ".xml")) + for mat, node in materials.values(): + export_material(mat, node, project, out_dir) + clips = export_animations(objects, node_paths(objects), project, out_dir) + if clips: + write_animation_index(clips, project, screen, out_dir) + camera = export_scene(objects, project, screen, out_dir, clips) + missing = write_package(out_dir, project, screen, list(materials.values())) + return { + "project": project, "out_dir": out_dir, "meshes": len(meshes), "shaders": sorted(groups), + "materials": len(materials), "clips": {a.name: round(d, 4) for a, d, _u in clips}, + "camera": camera, + "skipped_meshes_without_exportable_material": skipped, + "property_types_missing_from_package_lua": missing, + } + + +if __name__ == "__main__": + argv = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else [] + parser = argparse.ArgumentParser(prog="blender-export.py", description="Export the open Blender file as ORCA assets.") + parser.add_argument("project_dir") + parser.add_argument("--name", help="project name used in asset paths (default: from the directory name)") + parser.add_argument("--collection", help="export only this collection") + parser.add_argument("--screen", default="Cluster", help="name of the generated screen") + parser.add_argument("--orca-fbx", default=ORCA_FBX) + args = parser.parse_args(argv) + print(export(args.project_dir, args.name, args.collection, args.screen, args.orca_fbx)) From a1d254ba7eceb03ce71232b361a81ec2354b52b8 Mon Sep 17 00:00:00 2001 From: Igor Chernakov Date: Sat, 3 Oct 2026 07:57:27 +0200 Subject: [PATCH 3/3] Fix stale tests breaking CI and document the 3D pipeline as skills CI has failed on main since the SVG loader rework: three tests still described code that no longer exists. - test_filesystem.c tested _ParseLoaderArgs, removed with the .svg loader; keep only the inline-XML expansion test so the binary links again. - test_layout.lua expected the removed "&type=mask" icon query and an ImageView in IconCard; both are VectorView now. The CSS popup test expected a centred panel to stretch; align-items: center sizes it to its content, so assert that instead. - test_navigationhost.lua looked for "GameBack"; the back control moved into the NavigationBar prefab as "BackButton". Add two skills, .opencode/skills/orca-blender-pipeline (authoring a Blender scene so tools/blender-export.py can turn it into a project) and .opencode/skills/orca-3d-scene (project layout, scene XML, shaders and uniforms, animation players scrubbed from inputs, running and verifying), and expose all skills to Claude Code and Codex through .claude/skills and .agents/skills symlinks. AGENTS.md lists them; apps/cluster-demo/README.md explains the reference project. Ignore Blender's *.blend1 backups. Co-Authored-By: Claude Fable 5.1 --- .agents/skills | 1 + .claude/skills | 1 + .gitignore | 10 + .opencode/skills/orca-3d-scene/SKILL.md | 174 +++++++++++++++++ .../skills/orca-3d-scene/agents/openai.yaml | 4 + .../skills/orca-blender-pipeline/SKILL.md | 153 +++++++++++++++ .../orca-blender-pipeline/agents/openai.yaml | 4 + AGENTS.md | 9 +- apps/cluster-demo/README.md | 24 +++ tests/test_filesystem.c | 181 +----------------- tests/test_layout.lua | 19 +- tests/test_navigationhost.lua | 2 +- 12 files changed, 397 insertions(+), 185 deletions(-) create mode 120000 .agents/skills create mode 120000 .claude/skills create mode 100644 .opencode/skills/orca-3d-scene/SKILL.md create mode 100644 .opencode/skills/orca-3d-scene/agents/openai.yaml create mode 100644 .opencode/skills/orca-blender-pipeline/SKILL.md create mode 100644 .opencode/skills/orca-blender-pipeline/agents/openai.yaml create mode 100644 apps/cluster-demo/README.md diff --git a/.agents/skills b/.agents/skills new file mode 120000 index 00000000..e5da19da --- /dev/null +++ b/.agents/skills @@ -0,0 +1 @@ +../.opencode/skills \ No newline at end of file diff --git a/.claude/skills b/.claude/skills new file mode 120000 index 00000000..e5da19da --- /dev/null +++ b/.claude/skills @@ -0,0 +1 @@ +../.opencode/skills \ No newline at end of file diff --git a/.gitignore b/.gitignore index 2338f058..432dda6f 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,13 @@ generated/ !.opencode/agents/** !.opencode/skills/ !.opencode/skills/** +# Skill entry points for Claude Code and Codex: symlinks to .opencode/skills +!.claude/ +.claude/* +!.claude/skills +!.agents/ +.agents/* +!.agents/skills .opencode/node_modules/ .opencode/package.json .opencode/package-lock.json @@ -103,3 +110,6 @@ samples/Weather/**/*.lua !samples/Weather/config/*.lua Error /samples/Book/Images + +# Blender auto-backups next to committed .blend files +*.blend1 diff --git a/.opencode/skills/orca-3d-scene/SKILL.md b/.opencode/skills/orca-3d-scene/SKILL.md new file mode 100644 index 00000000..f08fed78 --- /dev/null +++ b/.opencode/skills/orca-3d-scene/SKILL.md @@ -0,0 +1,174 @@ +--- +name: orca-3d-scene +description: Set up, drive and debug an ORCA project that renders a 3D scene (SceneKit): package.lua, Screen > Viewport3D > Scene > Camera, Mesh/Material/Shader XML, custom uniforms as property types, blend and draw order, AnimationClip players scrubbed from input values, prefabs, running the app and verifying frames. Use for any 3D app, HMI display or cluster project in ORCA, whether exported from Blender or written by hand. +--- + +# ORCA 3D Scene + +`apps/cluster-demo/` is the worked example of everything here. Generated +assets come from `$orca-blender-pipeline`; this skill covers what the engine +expects and how to run it. Facts below were verified against the source in +`plugins/SceneKit/`, `source/renderer/` and `source/core/components/`. + +## Project layout + +``` +apps// + package.lua manifest (package.xml is NOT read any more) + Screens/.xml Screen > Viewport3D > Scene > Camera + content + Scenes/.xml Node3D prefab with the content (generated) + Meshes/.xml (+ .mesh, gitignored) + Shaders/.xml with VertexShader / FragmentShader text + Materials/.xml + Animations/.xml + Animations.lua index +``` + +`package.lua` essentials (see `apps/cluster-demo/package.lua`): + +```lua +Name = "ClusterDemo" -- asset path prefix +StartupScreen = "ClusterDemo/Screens/Cluster" +WindowWidth, WindowHeight = 1920, 720 +ScreenLibrary = { IsExternal = true } +SystemMessages = { { Message = "KeyDown", Key = "q", Command = "return" }, ... } -- field is Message, not Name +EnginePlugins = { { Name = "orca.UIKit" }, { Name = "orca.SceneKit" } } -- SceneKit must be listed +PropertyTypes = { { Name = "Level", Category = "Uniform", DataType = "Float" }, ... } +``` + +Asset paths are `/` without extension; `.xml` is tried +by the loader. Run with `build/bin/orca apps/`. + +## Scene XML + +```xml + + + + + + + + +``` + +- Coordinate system: right-handed, Y up, camera looks down its local -Z. +- `LayoutTransform="tx ty tz rx ry rz sx sy sz"`; rotation in degrees, + applied X then Y then Z. Atoms `LayoutTransformTranslation/Rotation/Scale` + are what animations target. `RenderTransform*` is an extra transform on top. +- The camera must be a **direct child of the Scene** (lookup is by name among + direct children). `Fov` is the full angle; use `FovType="Yfov"` with the + vertical FOV. `ProjectionType` is ignored (always perspective). +- `Viewport3D` renders its first direct `Scene` child and always draws to the + full window; make it full-size. +- `Model3D Mesh="

/Meshes/" Material="

/Materials/"`. ``'s + own `Material` is ignored. `#Quad` and `#Plane` are built-in mesh sources + for smoke tests. +- `PrefabView3D Prefab="..."` loads a file as its child (async, after Start). + +## Shaders and materials + +```xml + + +in vec3 a_position; in vec2 a_texcoord0; out vec2 v_texcoord0; +uniform mat4 u_modelViewProjectionTransform; +void main() { v_texcoord0 = a_texcoord0; gl_Position = u_modelViewProjectionTransform * vec4(a_position, 1.0); } + + +in vec2 v_texcoord0; +void main() { FragColor = vec4(Tint.rgb, Intensity); } + + + +``` + +- The engine prepends `#version 330 core` (`300 es` on QNX/WebGL), declares + `out lowp vec4 ;`, and emits `uniform ;` for **every + property set on the Shader element**. Declare custom uniforms there + (`Uniform.Name="default"`) so colours get the sRGB->linear conversion; do not + redeclare them in GLSL. Text may be plain or CDATA; escape `<` as `<` + in plain text. +- Attributes: `a_position`, `a_normal`, `a_tangent`, `a_binormal`, `a_color`, + `a_texcoord0..4`. Builtins: `u_modelViewProjectionTransform`, + `u_modelTransform`, `u_viewTransform`, `u_projectionTransform`, + `u_normalTransform`, `u_opacity`, `u_time`, `u_viewport`, + `u_cameraPosition`, `u_texture`, `u_color`. +- Custom uniforms are attached properties `Category.Name`; the uniform name + is the part after the dot. Each name needs a `PropertyTypes` entry in + `package.lua` (`DataType` `Float` or `Color`; vectors also work now but + keep to these two). Values set on the `Model3D` override the material's, + which is how per-node animation works. +- Built-in material colours (`Diffuse`, `Emissive`, ...) are also available + as uniforms by name. `BlendIntensity` is forced to the node opacity. +- `BlendMode` on the Material: `Opaque`, `Alpha`, `Additive` + (`SRC_ALPHA, ONE`), `PremultipliedAlpha`; `AlphaAutomatic` inherits the + Shader's `BlendMode`. A `Material.BlendMode` attribute on the `Model3D` + overrides both. Shader `DepthTestFunction` / `DepthWriteEnabled` apply too. +- Draw order is tree order with depth test `LessOrEqual` and depth writes on + by default: order transparent siblings back to front. Culling is off. +- Every `Model3D` loads its own Material and compiles its own Shader (no + cache); keep the material count reasonable. + +## Animation and binding + +```xml + + + + + + + + +... + + + +``` + +- An `` element is **an object of its own**; curve `Path`s + are relative to it (`..` allowed). `Keyframe` fields are `Time`, `Value` + (vec4), `TangentMode` (`1` = linear; default bezier uses `InSlope`, + `OutSlope`, `InWeight`, `OutWeight`). +- `Property` is the short name of any property on the target: transform + atoms, `Opacity`, or a uniform such as `Level` if the node declares it + (`Uniform.Level="0.5"` on the Model3D). +- **Scrubbing:** setting `CurrentTime` on a player that is not playing + applies the clip at that time. Bind an input to a gauge with + `player.CurrentTime = Duration * (value - Min) / (Max - Min)` using the + entries in `Animations.lua`. Another clip can do it too: curves with + `Property="CurrentTime"` targeting the players + (`apps/cluster-demo/Demo/FillAll.xml`). +- Playback: `AutoplayEnabled="true"`, `Mode="Loop|PingPong"` on the clip, + `Speed`, `Play/Stop/Pause/Resume` messages. Time advances once per painted + frame. + +## Run and verify + +```bash +build/bin/orca apps/ 2>&1 | tee /tmp/orca.log +``` + +Errors to grep for: `shader compilation failed`, `program link failed`, +`model not found`, `is not a MESH file`, `Could not set field`, `Unknown +property`, `Unknown element type`, `Failed to load prefab`. + +There is no screenshot command. On macOS capture only the orca window: + +```bash +WID=$(swift -e 'import CoreGraphics; for w in CGWindowListCopyWindowInfo(.optionOnScreenOnly, kCGNullWindowID) as! [[String: Any]] where (w["kCGWindowOwnerName"] as? String) == "orca" { print(w["kCGWindowNumber"]!) }' | head -1) +screencapture -x -o -l "$WID" frame.png +``` + +Take two captures a second apart and `cmp` them to prove animation runs. +`-test=` runs headless Lua against the engine without a window +(see `tests/test_animations.lua` for clips driven from Lua). + +## Engine limits to design around + +- `TextBlock3D` renders white unless `Color` is set, lays out at 512 px, and + cannot use custom shaders; baked text meshes are the alternative. +- No orthographic cameras; `Viewport3D` ignores its own rect. +- Vertex colours load (`a_color`, UINT8 normalised) when the FBX had them. +- Rebuild after editing `.cgen`: `make modules && make`. diff --git a/.opencode/skills/orca-3d-scene/agents/openai.yaml b/.opencode/skills/orca-3d-scene/agents/openai.yaml new file mode 100644 index 00000000..29f80aa6 --- /dev/null +++ b/.opencode/skills/orca-3d-scene/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "ORCA 3D Scene" + short_description: "Set up, drive and debug ORCA 3D scene projects" + default_prompt: "Use $orca-3d-scene to create or debug an ORCA project with a SceneKit scene: package.lua, Viewport3D/Scene/Camera XML, shaders and materials, animation players bound to input values, and verifying the running app." diff --git a/.opencode/skills/orca-blender-pipeline/SKILL.md b/.opencode/skills/orca-blender-pipeline/SKILL.md new file mode 100644 index 00000000..961b7fac --- /dev/null +++ b/.opencode/skills/orca-blender-pipeline/SKILL.md @@ -0,0 +1,153 @@ +--- +name: orca-blender-pipeline +description: Build 3D display content (instrument clusters, HMI scenes, dashboards) in Blender so that tools/blender-export.py turns it into a runnable ORCA project: shader node groups that become GLSL, UV-driven materials, value-driven "fill-up" animations, and the export, regeneration and verification loop. Use when authoring or changing a Blender scene for ORCA, exporting one, or debugging why an export looks or behaves differently in the engine. +--- + +# ORCA Blender Pipeline + +The pipeline is: Blender scene -> `tools/blender-export.py` (inside Blender) +-> FBX + `orca-fbx` for meshes, XML for everything else -> `build/bin/orca`. +`apps/cluster-demo/` is the reference: `blender/build_cluster.py` builds the +whole scene procedurally and documents every convention below in code. + +Read `$orca-3d-scene` for the engine side (project layout, XML, binding, +running). This skill is about what the Blender file must look like. + +## Setup + +```bash +brew install lz4 freetype jpeg libpng # engine deps on macOS +export PKG_CONFIG_PATH=/opt/homebrew/opt/jpeg/lib/pkgconfig:$PKG_CONFIG_PATH +make # engine +make orca-fbx # needs /Applications/Autodesk/FBX SDK/2020.2 +``` + +Blender 4.x/5.x. The exporter runs inside Blender (it uses `bpy`); the +Blender MCP server or `blender -b file.blend --python ...` both work. + +## Scene conventions + +- **Axes and units.** Author Z up with the camera on -Y looking +Y. The + exporter rotates everything into ORCA's Y-up, camera-looks-down--Z space, so + never pre-rotate for the engine. Units are arbitrary but keep them sane + (the cluster uses 1 unit = 10 cm); the camera frustum defines the display. +- **Camera = display.** One camera, perspective, `sensor_fit='HORIZONTAL'`, + and `scene.render.resolution_x/y` set to the target display. The exporter + derives the vertical FOV from these; the window size comes from the same + resolution. +- **Hierarchy.** Empties are fine as groups; every object's local transform is + exported as-is (`LayoutTransform`). Put a pivot where something rotates or + scales at runtime (needle origin on the dial centre, bar origin on its left + end). +- **Layering.** The engine draws siblings in tree order with depth writes on. + The exporter sorts siblings back-to-front by camera distance, so give + stacked transparent elements distinct depths (small Z offsets per layer) and + keep glows behind the things they glow around. +- **Panels that face the eye.** Place side panels on a cylinder around the + camera and yaw them towards it; nothing in the engine requires this, it is + what makes a wide display read correctly. +- **Text.** Bake text to mesh in the build script (`meshes.new_from_object`) + so the export is complete; keep the string, font and size in custom + properties (`orca_text*`) for a later `TextBlock3D` replacement. Fonts: the + cluster uses system DIN; any TTF works. +- **Collections.** Put everything exportable in one collection and export it + with `--collection`; keep runtime-driven objects in a sub-collection so they + are easy to find. + +## Materials are shader node groups + +A material is **one group node named `Shader` plus a blend mode**. The group +is the fragment shader: it reads UV0 and its inputs (the uniforms) and +outputs `Color` and `Alpha`. The material wraps that in Emission plus +Transparent (alpha) or Add Shader (additive) so EEVEE previews it faithfully. + +Rules the exporter depends on: + +- The group needs a Text datablock named `.frag` holding the GLSL + fragment body (`in vec2 v_texcoord0;` plus `void main()` writing + `FragColor`). ORCA adds the `#version`, the `out` declaration and the + `uniform` lines itself, so do not write `#version`, do not declare + `FragColor`, and any `uniform` lines you keep for readability are stripped on + export. An optional `.vert` overrides the default vertex stage. +- Keep the node graph to Math, Mix, Separate XYZ, Vector Math and Texture + Coordinate so group and GLSL stay equivalent; write both at the same time. +- Inputs: floats and colours only (ORCA passes other uniform types badly). + Name inputs so they do not shadow node properties (`Intensity`, `Tint`, not + `Opacity`, `Color`). Colour inputs are vec4 in GLSL; use `.rgb`. +- Colours are authored as display sRGB and converted to linear by the engine + (`pow 2.2`) before your shader runs, and the framebuffer is sRGB. Blender + with the `Standard` view transform shows the same result, so author colours + in the material's node inputs and preview with `Standard`. +- UV0 carries the shader coordinate: U along an element, V across it; for + rings U is the angle and V the radius. Build geometry with UVs that mean + something (sweep fraction, segment index, distance along a stroke). +- `material["orca_blend"]` is `opaque`, `alpha` or `additive`. +- No lights, no textures needed; if an Image Texture node is present its + image is copied to `Images/` and set as the material `Texture` (untested + path). + +The six groups in the cluster (`IC_Flat`, `IC_Gradient`, `IC_Sweep`, +`IC_Segments`, `IC_SpunMetal`, `IC_RadialGlow`) cover flat colour, ramps and +glows, gauge fills, segmented bars, fake brushed metal and soft blobs; start +from them. + +## Animations are value-driven clips + +Each gauge gets one action that fills it from empty (frame 0) to full (last +frame) with **linear** keys. The runtime never plays it: it sets the player's +`CurrentTime`, so `time / duration` is the reading. Author with +`scene.render.fps = 100` and frames 0..100 so the clip is exactly 1 s long and +time == normalised value. + +- One action may hold several slots: the needle's rotation (object) and the + sweep's `Level` (the material node tree's `nodes["Shader"].inputs[...]`) + live in the same `Gauge_Rev` action. +- Put the signal on the action: `action["orca_signal"]`, `orca_min`, + `orca_max`. The exporter writes them to `Animations.lua`. +- Supported channels: object `location`, `rotation_euler`, `scale` and shader + input `default_value`. Non-linear keys are baked per frame. +- Animated shader inputs are exported per node (each Model3D gets its own + `Uniform.`), because every node loads its own material instance. + +## Export + +```python +import runpy +runpy.run_path("tools/blender-export.py")["export"]( + "apps/", collection="") +``` + +or headless (untested): `blender -b scene.blend --python tools/blender-export.py -- apps/ --collection `. + +Outputs: `Meshes/` (binary `.mesh` are gitignored; the `` XML next to +them is committed), `Shaders/`, `Materials/`, `Animations/` + `Animations.lua`, +`Scenes/.xml` (prefab, regenerated every time), and once only +`Screens/.xml` and `package.lua` (app-owned afterwards; the export +result prints the camera element to copy if it changed, and lists property +types missing from `package.lua`). + +Save the `.blend` and the build script under `apps//blender/`. + +## Verify + +1. `build/bin/orca apps/` and read stderr: `shader compilation + failed`, `model not found`, `Could not set field`, `Unknown element` are the + usual export mistakes. +2. Compare against Blender's render through the display camera. Expect the + same layout and colours; a washed-out image means colours were exported + linear instead of sRGB or a uniform was not declared on the Shader. +3. For motion, capture the window twice and compare (see `$orca-3d-scene`). + +## Common mistakes + +- Blown-out or missing glow: wrong `orca_blend`, or two layers at the same + depth drawn in the wrong order. +- Mirrored or sideways scene: FBX exported with other axis settings than the + exporter uses (`-Z` forward, `Y` up, bake space transform). +- A uniform renders black/zero: its name is missing from `PropertyTypes` in + `package.lua` (the export result lists these), or it collides with an + engine property name. +- Gauge pose does not change: the clip's curve `Path` does not resolve; paths + are relative to the player object (`../../` from + `Animations/`), and `Keyframe` fields are `Time`, `Value`, + `TangentMode` (capitalised). diff --git a/.opencode/skills/orca-blender-pipeline/agents/openai.yaml b/.opencode/skills/orca-blender-pipeline/agents/openai.yaml new file mode 100644 index 00000000..0ad249be --- /dev/null +++ b/.opencode/skills/orca-blender-pipeline/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: "ORCA Blender Pipeline" + short_description: "Author Blender scenes that export to ORCA" + default_prompt: "Use $orca-blender-pipeline to build or change a Blender scene (shader node groups, UV-driven materials, fill-up animations) and export it with tools/blender-export.py into an ORCA project." diff --git a/AGENTS.md b/AGENTS.md index d07e4feb..1b4589d4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -3,8 +3,10 @@ ## Agents and skills Agents are classic implementation roles under `.opencode/agents/`; skills are -task playbooks under `.opencode/skills/`. Choose the task skill first, then use -an agent when delegation or specialist ownership is useful. +task playbooks under `.opencode/skills/`. The same skills are reachable as +`.claude/skills/` (Claude Code) and `.agents/skills/` (Codex); both are +symlinks, so edit only `.opencode/skills/`. Choose the task skill first, then +use an agent when delegation or specialist ownership is useful. | Typical task | Skill | Agent | |---|---|---| @@ -14,6 +16,8 @@ an agent when delegation or specialist ownership is useful. | Write Lua or MoonScript programs | `orca-lua-authoring` | `lua-developer` | | Write UI/package XML | `orca-xml-authoring` | `xml-ui-developer` | | Define images, textures, shaders, font families, or scenes | `orca-xml-assets-scenes` | `renderer-developer` | +| Build or debug a 3D app: SceneKit scene XML, shaders/materials, animation players bound to inputs, running it | `orca-3d-scene` | `renderer-developer` | +| Author a Blender scene for ORCA and export it (`tools/blender-export.py`, `orca-fbx`) | `orca-blender-pipeline` | `renderer-developer` | | Bind Lua to XML with controllers, events, or data bindings | `orca-controller-binding` | `lua-developer` or `xml-ui-developer` | | Add or update tests | `orca-testing` | `test-writer` | | Apply C or CSS conventions | `orca-c-style` or `orca-css` | relevant implementation agent | @@ -68,6 +72,7 @@ After `.cgen` changes, run `make modules`. | Lua API | generated Lua reference, then `docs/LUA_API.md` | | UI / layout / XML / style | `docs/UI_SYSTEM.md` | | Text rendering / fonts / glyphs | `docs/renderer-internals.md` → *Text Rendering Pipeline* | +| 3D scene / Blender export | `apps/cluster-demo/` (reference project), `docs/animations.md` | | C style | `docs/CODING_STYLE.md` | ## Working rules diff --git a/apps/cluster-demo/README.md b/apps/cluster-demo/README.md new file mode 100644 index 00000000..c38aa4fe --- /dev/null +++ b/apps/cluster-demo/README.md @@ -0,0 +1,24 @@ +# Cluster demo + +A 1920x720 digital instrument cluster authored in Blender and exported to ORCA +with `tools/blender-export.py`. It is the reference project for the +`orca-blender-pipeline` and `orca-3d-scene` skills. + +```bash +make && make orca-fbx # engine + FBX converter (needs the Autodesk FBX SDK) +# regenerate the binary meshes (gitignored) and the other assets from Blender: +blender -b apps/cluster-demo/blender/cluster.blend --python tools/blender-export.py \ + -- apps/cluster-demo --collection InstrumentCluster +build/bin/orca apps/cluster-demo +``` + +- `blender/build_cluster.py` builds the whole scene procedurally (run it inside + Blender); `blender/cluster.blend` is its saved result. +- Every gauge is an `AnimationClip` in `Animations/`; the app poses a gauge by + setting its player's `CurrentTime` (0..1 = empty..full). `Animations.lua` + lists each clip's signal name and range. +- `Demo/FillAll.xml` (used by `Screens/Cluster.xml`) scrubs all gauges + together as a stand-in for vehicle signals; `Demo/DriveCycle.xml` is a more + car-like alternative. +- `Screens/Cluster.xml` and `package.lua` are app-owned; everything else is + regenerated by the exporter. diff --git a/tests/test_filesystem.c b/tests/test_filesystem.c index ab29f696..03764234 100644 --- a/tests/test_filesystem.c +++ b/tests/test_filesystem.c @@ -1,15 +1,10 @@ /* - * test_filesystem.c — C unit tests for FS_LoadObject's query-arg parsing. + * test_filesystem.c — C unit tests for the XML loader helpers in + * source/filesystem/fs_xml_inline.h. * - * Tests cover the _ParseLoaderArgs contract: - * - No query string: argc stays at argc_start, argv[argc_start] = NULL - * - Single bare flag: argv[1] = "mask", argc = 2 - * - Key=value pair: argv[1] = "width=48", argc = 2 - * - Multiple args: splits on '&', all land in argv correctly - * - argv[argc] is always NULL (mirrors main() convention) - * - Truncation: arg longer than 64 chars is silently truncated to 64 chars - * - Too many args: extras beyond argc_max are silently dropped - * - Leading '?' in query string is stripped + * The query-string loader-argument parser (_ParseLoaderArgs) that this file + * used to cover was removed together with the .svg file loader; its tests + * went with it. * * Compiled via the `test-filesystem` Makefile target (depends on `buildlib`). */ @@ -32,30 +27,6 @@ extern int luaopen_orca_core(lua_State *L); extern int luaopen_orca_geometry(lua_State *L); extern int luaopen_orca_renderer(lua_State *L); -/* Mirror the constants from filesystem.c so we can declare matching arrays. - * If these diverge from the source, the _Static_assert below will catch it. */ -#define FS_LOADER_MAX_ARGS 16 -#define FS_LOADER_ARG_LEN 65 /* 64 visible chars + NUL */ - -/* _ParseLoaderArgs is non-static (exported from liborca.so for testability). */ -extern int _ParseLoaderArgs(const char *query_string, - const char *argv[], - int argc_start, - int argc_max, - char arg_buf[][FS_LOADER_ARG_LEN]); - -/* ------------------------------------------------------------------ */ -/* Helper: allocate argv + arg_buf, preset argv[0] = path. */ -/* ------------------------------------------------------------------ */ - -static int -call_parse(const char *path, const char *query, - const char **argv, char arg_buf[][FS_LOADER_ARG_LEN]) -{ - argv[0] = path; - return _ParseLoaderArgs(query, argv, 1, FS_LOADER_MAX_ARGS, arg_buf); -} - static void ensure_class_registry(void) { @@ -80,139 +51,6 @@ ensure_class_registry(void) /* Tests */ /* ------------------------------------------------------------------ */ -static void test_no_query(void) -{ - RUN_TEST("no_query_string", { - const char *argv[FS_LOADER_MAX_ARGS + 1]; - char arg_buf[FS_LOADER_MAX_ARGS][FS_LOADER_ARG_LEN]; - int argc = call_parse("img.png", NULL, argv, arg_buf); - EXPECT(argc == 1); - EXPECT(argv[0] != NULL); - EXPECT_STR_EQ(argv[0], "img.png"); - EXPECT(argv[1] == NULL); /* sentinel */ - }); -} - -static void test_empty_query(void) -{ - RUN_TEST("empty_query_string", { - const char *argv[FS_LOADER_MAX_ARGS + 1]; - char arg_buf[FS_LOADER_MAX_ARGS][FS_LOADER_ARG_LEN]; - int argc = call_parse("img.png", "", argv, arg_buf); - EXPECT(argc == 1); - EXPECT(argv[1] == NULL); - }); -} - -static void test_leading_question_mark(void) -{ - RUN_TEST("leading_question_mark_stripped", { - const char *argv[FS_LOADER_MAX_ARGS + 1]; - char arg_buf[FS_LOADER_MAX_ARGS][FS_LOADER_ARG_LEN]; - int argc = call_parse("img.png", "?mask", argv, arg_buf); - EXPECT(argc == 2); - EXPECT_STR_EQ(argv[1], "mask"); - EXPECT(argv[2] == NULL); - }); -} - -static void test_single_flag(void) -{ - RUN_TEST("single_bare_flag", { - const char *argv[FS_LOADER_MAX_ARGS + 1]; - char arg_buf[FS_LOADER_MAX_ARGS][FS_LOADER_ARG_LEN]; - int argc = call_parse("img.png", "?mask", argv, arg_buf); - EXPECT(argc == 2); - EXPECT_STR_EQ(argv[0], "img.png"); - EXPECT_STR_EQ(argv[1], "mask"); - EXPECT(argv[2] == NULL); - }); -} - -static void test_key_value(void) -{ - RUN_TEST("key_value_pair", { - const char *argv[FS_LOADER_MAX_ARGS + 1]; - char arg_buf[FS_LOADER_MAX_ARGS][FS_LOADER_ARG_LEN]; - int argc = call_parse("img.png", "?width=48", argv, arg_buf); - EXPECT(argc == 2); - EXPECT_STR_EQ(argv[1], "width=48"); - EXPECT(argv[2] == NULL); - }); -} - -static void test_multiple_args(void) -{ - RUN_TEST("multiple_args_split_on_ampersand", { - const char *argv[FS_LOADER_MAX_ARGS + 1]; - char arg_buf[FS_LOADER_MAX_ARGS][FS_LOADER_ARG_LEN]; - int argc = call_parse("img.png", "?width=48&type=mask&scale=2", argv, arg_buf); - EXPECT(argc == 4); - EXPECT_STR_EQ(argv[0], "img.png"); - EXPECT_STR_EQ(argv[1], "width=48"); - EXPECT_STR_EQ(argv[2], "type=mask"); - EXPECT_STR_EQ(argv[3], "scale=2"); - EXPECT(argv[4] == NULL); - }); -} - -static void test_sentinel_always_null(void) -{ - /* Verify argv[argc] == NULL for a non-trivial case. */ - RUN_TEST("argv_argc_always_null", { - const char *argv[FS_LOADER_MAX_ARGS + 1]; - char arg_buf[FS_LOADER_MAX_ARGS][FS_LOADER_ARG_LEN]; - int argc = call_parse("a.png", "?x=1&y=2", argv, arg_buf); - EXPECT(argc == 3); - EXPECT(argv[argc] == NULL); - }); -} - -static void test_truncation(void) -{ - /* An arg that is 65+ chars must be silently truncated to 64 visible chars. */ - RUN_TEST("long_arg_truncated_to_64_chars", { - /* 70 'a' characters */ - const char *argv[FS_LOADER_MAX_ARGS + 1]; - char arg_buf[FS_LOADER_MAX_ARGS][FS_LOADER_ARG_LEN]; - char long_arg[80]; - memset(long_arg, 'a', 70); - long_arg[70] = '\0'; - char query[80 + 1]; - snprintf(query, sizeof(query), "?%s", long_arg); - int argc = call_parse("img.png", query, argv, arg_buf); - EXPECT(argc == 2); - EXPECT(argv[1] != NULL); - EXPECT(strlen(argv[1]) == 64); /* truncated to 64 visible chars */ - EXPECT(argv[2] == NULL); - }); -} - -static void test_too_many_args(void) -{ - /* Build a query with MAX_LOADER_ARGS + 2 entries: only first MAX-1 should survive. */ - RUN_TEST("extra_args_beyond_max_dropped", { - const char *argv[FS_LOADER_MAX_ARGS + 1]; - char arg_buf[FS_LOADER_MAX_ARGS][FS_LOADER_ARG_LEN]; - /* Construct "?a0&a1&...&a17" — 18 args, more than the 15 slots available */ - char query[512]; - int pos = 0; - query[pos++] = '?'; - for (int i = 0; i < FS_LOADER_MAX_ARGS + 2; i++) { - if (i > 0) query[pos++] = '&'; - int rem = (int)sizeof(query) - pos; - if (rem <= 0) break; - pos += snprintf(query + pos, (size_t)rem, "a%d", i); - } - query[pos] = '\0'; - int argc = call_parse("img.png", query, argv, arg_buf); - /* argc_max = FS_LOADER_MAX_ARGS means at most FS_LOADER_MAX_ARGS-1 query args - * (since argv[0] = path uses slot 0 and argc_start = 1), giving argc == FS_LOADER_MAX_ARGS. */ - EXPECT(argc == FS_LOADER_MAX_ARGS); - EXPECT(argv[argc] == NULL); - }); -} - static void test_inline_xml_expansion(void) { RUN_TEST("inline_xml_expansion_supports_comma_and_nested_braces", { @@ -231,15 +69,6 @@ static void test_inline_xml_expansion(void) int main(void) { - test_no_query(); - test_empty_query(); - test_leading_question_mark(); - test_single_flag(); - test_key_value(); - test_multiple_args(); - test_sentinel_always_null(); - test_truncation(); - test_too_many_args(); test_inline_xml_expansion(); printf("\n%d test(s) run, %d failure(s)\n", s_tests_run, s_tests_failed); diff --git a/tests/test_layout.lua b/tests/test_layout.lua index 0f47a1ca..7dbfa55b 100644 --- a/tests/test_layout.lua +++ b/tests/test_layout.lua @@ -938,8 +938,12 @@ local function test_css_popup_padding_insets_stretched_panel() test.expect_near(card.BorderWidthLeft, 1, 0.001, ".popup > .panel CSS border should set panel border") test.expect_near(card.BorderRadius.TopLeftRadius, 16, 0.001, ".popup > .panel CSS border-radius should set panel corner radius") - test.expect_near(card.ActualWidth, root.Width - 32 - 2, 11, - "stretched panel should be inset by popup padding and its border") + -- align-items: center sizes the panel to its content (CSS semantics), so it + -- must fit inside the popup padding and wrap its body plus its own padding. + test.expect(card.ActualWidth <= root.Width - 32, + "centered panel should fit inside the popup padding") + test.expect(card.ActualWidth >= body.ActualWidth + 48, + "panel should wrap its body plus its own padding") test.expect(body.ActualWidth <= root.Width - 32 - 2 - 48, "body text should be measured inside popup and panel padding") @@ -1293,7 +1297,9 @@ local function test_example_application_xml() local city_image = appdata_xml:find("orca-tab-city", 1, true) or xml:find("orca-tab-city", 1, true) local lights_image = appdata_xml:find("orca-tab-lights", 1, true) or xml:find("orca-tab-lights", 1, true) local icon_count = count_occurrences(xml, "Example/Icons/") + count_occurrences(appdata_xml or "", "Example/Icons/") - local icon_mask_count = count_occurrences(xml, "&type=mask") + count_occurrences(appdata_xml or "", "&type=mask") + -- SVG icons are VectorViews now; the "&type=mask" loader query no longer exists. + local legacy_mask_count = count_occurrences(xml, "&type=mask") + count_occurrences(appdata_xml or "", "&type=mask") + local vector_icon_count = count_occurrences(xml, "= 10, "Example Application.xml should reference at least 10 SVG icons") - test.expect(icon_mask_count >= 10, "Example Application.xml should use masked SVG icons") + test.expect(legacy_mask_count == 0, "Example Application.xml should not use the removed mask query for icons") + test.expect(vector_icon_count >= 1, "Example Application.xml should render SVG icons with VectorView") test.expect(broken_icon_palette == nil, "Example Application.xml should not use the custom icon-* palette") test.expect(symbol_icon == nil, "Example Application.xml should not use text glyphs for card icons") test.expect(placeholder_refs == nil, "Example Application.xml should not reference placeholder icon filenames") @@ -1417,7 +1424,7 @@ local function test_example_application_xml() test.expect(xml_model_nested_padding ~= nil, "XmlModel nested rows should have Indent=48 in data") test.expect(xml_model_leaf_padding ~= nil, "XmlModel leaf rows should have Indent=48 in data") test.expect(xml_model_indent_binding ~= nil, "XmlModelNode prefab should bind Node.PaddingLeft to DataContext/Indent") - test.expect(icon_card_uses_image ~= nil, "IconCard prefab should render its icon as an image") + test.expect(icon_card_uses_image ~= nil, "IconCard prefab should render its icon as a vector image") test.expect(icon_card_header ~= nil, "IconCard should place its title and icon in a header row") test.expect(icon_card_title_binding ~= nil, "IconCard title should bind from DataContext") test.expect(icon_card_uses_deep_icon_binding ~= nil, "IconCard prefab should bind its icon from DataContext") diff --git a/tests/test_navigationhost.lua b/tests/test_navigationhost.lua index 09d3cedf..0949fa30 100644 --- a/tests/test_navigationhost.lua +++ b/tests/test_navigationhost.lua @@ -42,7 +42,7 @@ local function test_navigationhost_push_pop() test.expect(navigation.CanGoBack, "navigation host should report that it can go back") test.expect(detail.DataContext ~= nil, "pushed page should inherit the card data context") - screen:findChild("GameBack", true):send("Node.LeftButtonUp") + screen:findChild("BackButton", true):send("Node.LeftButtonUp") pump_messages(screen) test.expect(root.Visible, "root page should be restored after pop")

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