From 7861761de439d0f7a02769a17cdfe2d3aa676668 Mon Sep 17 00:00:00 2001 From: Marcus Weber Date: Thu, 4 Jul 2024 12:23:19 +0200 Subject: [PATCH] Release v2.2.0 --- CHANGELOG.md | 10 + CMakeLists.txt | 2 +- EditorApp/CMakeLists.txt | 1 - HeadlessApp/tests/CMakeLists.txt | 3 + PyAPITests/pyt_general.py | 11 +- .../libApplication/src/RaCoApplication.cpp | 6 + components/libApplication/src/RaCoProject.cpp | 6 + .../src/ramses_adaptor/SceneAdaptor.cpp | 2 +- .../src/ramses_adaptor/SceneBackend.cpp | 3 - .../src/ramses_base/BaseEngineBackend.cpp | 4 +- .../libRamsesBase/src/ramses_base/Utils.cpp | 37 +- .../libCore/include/core/ProjectMigration.h | 5 +- .../migrationTestData/version-current.rca | 12 +- datamodel/libUserTypes/tests/CMakeLists.txt | 2 + .../libUserTypes/tests/Material_test.cpp | 14 +- doc/basics/conventions/README.md | 41 +- doc/basics/introduction/README.md | 16 +- resources/empty-raco-2x-fl1.rca | 48 +- resources/empty-raco-2x-fl2.rca | 599 + resources/future-feature-level.rca | 1249 ++ resources/shaders/ubo.frag | 11 + resources/shaders/ubo.vert | 29 + screenshot_tests/CMakeLists.txt | 16 + screenshot_tests/expected/merge.png | 3 + .../expected/skinning-rigged-figure.png | 3 + screenshot_tests/merge_test.cmake | 19 + screenshot_tests/projects/merge-left.rca | 1662 +++ screenshot_tests/projects/merge-right.rca | 1662 +++ screenshot_tests/projects/meshes/cube.gltf | 160 + screenshot_tests/projects/meshes/monkey.gltf | 118 + .../projects/meshes/sphere-ico.glb | Bin 0 -> 132016 bytes .../projects/scripts/LightControl.lua | 56 + .../projects/scripts/camera-orbit.lua | 18 + .../projects/shaders/phong-struct.frag | 43 + .../projects/shaders/phong-struct.vert | 23 + screenshot_tests/projects/shaders/phong.frag | 40 + screenshot_tests/projects/shaders/phong.vert | 21 + .../projects/shaders/skin-rigged-figure.frag | 13 + .../projects/shaders/skin-rigged-figure.vert | 28 + .../projects/shaders/ubo_phong.frag | 43 + .../projects/shaders/ubo_phong.vert | 35 + .../projects/skinning-rigged-figure.rca | 10519 ++++++++++++++++ screenshot_tests/projects/ubo-phong.rca | 7294 +++++++++++ third_party/ramses | 2 +- 44 files changed, 23826 insertions(+), 63 deletions(-) create mode 100644 resources/empty-raco-2x-fl2.rca create mode 100644 resources/future-feature-level.rca create mode 100644 resources/shaders/ubo.frag create mode 100644 resources/shaders/ubo.vert create mode 100644 screenshot_tests/expected/merge.png create mode 100644 screenshot_tests/expected/skinning-rigged-figure.png create mode 100644 screenshot_tests/merge_test.cmake create mode 100644 screenshot_tests/projects/merge-left.rca create mode 100644 screenshot_tests/projects/merge-right.rca create mode 100644 screenshot_tests/projects/meshes/cube.gltf create mode 100644 screenshot_tests/projects/meshes/monkey.gltf create mode 100644 screenshot_tests/projects/meshes/sphere-ico.glb create mode 100644 screenshot_tests/projects/scripts/LightControl.lua create mode 100644 screenshot_tests/projects/scripts/camera-orbit.lua create mode 100644 screenshot_tests/projects/shaders/phong-struct.frag create mode 100644 screenshot_tests/projects/shaders/phong-struct.vert create mode 100644 screenshot_tests/projects/shaders/phong.frag create mode 100644 screenshot_tests/projects/shaders/phong.vert create mode 100644 screenshot_tests/projects/shaders/skin-rigged-figure.frag create mode 100644 screenshot_tests/projects/shaders/skin-rigged-figure.vert create mode 100644 screenshot_tests/projects/shaders/ubo_phong.frag create mode 100644 screenshot_tests/projects/shaders/ubo_phong.vert create mode 100644 screenshot_tests/projects/skinning-rigged-figure.rca create mode 100644 screenshot_tests/projects/ubo-phong.rca diff --git a/CHANGELOG.md b/CHANGELOG.md index 502d165a..1c794563 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,16 @@ If a copy of the MPL was not distributed with this file, You can obtain one at h --> +## [2.2.0] Ramses 28.2 update +* **File version number has changed. Files saved with RaCo 2.2.0 cannot be opened by previous versions.** +* **Export now supports Ramses feature levels up to 2. Scenes exported with feature level 2 can't be opened with Ramses before v2.2.0.** + +### Changes +* Updated Ramses from v28.0.0 to v28.2.0. +* Scenes exported with feature level 2 can be merged in Ramses. The `ramses-viewer` is now able to load and merge several exported files. +* Starting at feature level 2 uniform buffers objects with predefined semantics are supported as specified in the documentation. + + ## [2.1.0] Render View, Python Console, Performance Table, Misc Improvements and Bugfixes * **File version number has changed. Files saved with RaCo 2.1.0 cannot be opened by previous versions.** diff --git a/CMakeLists.txt b/CMakeLists.txt index 35e953cf..d6478d9b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.19) SET(CMAKE_CONFIGURATION_TYPES "Debug;RelWithDebInfo") -project(RaCoOS VERSION 2.1.0) +project(RaCoOS VERSION 2.2.0) SET(RACO_RELEASE_DIRECTORY ${CMAKE_BINARY_DIR}/release) diff --git a/EditorApp/CMakeLists.txt b/EditorApp/CMakeLists.txt index ae02469e..04eb274e 100644 --- a/EditorApp/CMakeLists.txt +++ b/EditorApp/CMakeLists.txt @@ -43,7 +43,6 @@ set_target_properties(RaCoEditor PROPERTIES OUTPUT_NAME "RamsesComposer" RUNTIME set(RACO_RELEASE_ROOT_FILES ${CMAKE_SOURCE_DIR}/README.md ${CMAKE_SOURCE_DIR}/CHANGELOG.md - ${CMAKE_SOURCE_DIR}/third_party/ramses-logic/tools/migrate/migrate_to_v1_0.py ) create_folder_structure("${RACO_RELEASE_ROOT_FILES}" ${RACO_RELEASE_DIRECTORY} RaCoPrepareReleaseFolder) diff --git a/HeadlessApp/tests/CMakeLists.txt b/HeadlessApp/tests/CMakeLists.txt index 6ee40231..f5d4d595 100644 --- a/HeadlessApp/tests/CMakeLists.txt +++ b/HeadlessApp/tests/CMakeLists.txt @@ -22,6 +22,9 @@ set_tests_properties(RaCoHeadless_load_no_such_file PROPERTIES WILL_FAIL True) add_racocommand_test(RaCoHeadless_load_future_version "${CMAKE_CURRENT_BINARY_DIR}" "-p" "${CMAKE_SOURCE_DIR}/resources/future-version.rca") set_tests_properties(RaCoHeadless_load_future_version PROPERTIES WILL_FAIL True) +add_racocommand_test(RaCoHeadless_load_future_feature_level "${CMAKE_CURRENT_BINARY_DIR}" "-p" "${CMAKE_SOURCE_DIR}/resources/future-feature-level.rca") +set_tests_properties(RaCoHeadless_load_future_feature_level PROPERTIES WILL_FAIL True) + add_racocommand_test(RaCoHeadless_load_no_json "${CMAKE_CURRENT_BINARY_DIR}" "-p" "${CMAKE_SOURCE_DIR}/resources/no-json.rca") set_tests_properties(RaCoHeadless_load_no_json PROPERTIES WILL_FAIL True) diff --git a/PyAPITests/pyt_general.py b/PyAPITests/pyt_general.py index 59e4d07f..c2cbec50 100644 --- a/PyAPITests/pyt_general.py +++ b/PyAPITests/pyt_general.py @@ -101,8 +101,15 @@ def test_load_raco_2x_feature_levels(self): raco.load(self.cwd() + "/../resources/empty-raco-2x-fl1.rca", raco.maxFeatureLevel()) self.assertEqual(raco.projectFeatureLevel(), raco.maxFeatureLevel()) - # TODO check that feature level downgrade is not possible: - # currently can't be tested since max feature level is 1 + raco.load(self.cwd() + "/../resources/empty-raco-2x-fl2.rca") + self.assertEqual(raco.projectFeatureLevel(), 2) + + # Feature level downgrade fails: + with self.assertRaises(RuntimeError): + raco.load(self.cwd() + "/../resources/empty-raco-2x-fl2.rca", 1) + + raco.load(self.cwd() + "/../resources/empty-raco-2x-fl2.rca", raco.maxFeatureLevel()) + self.assertEqual(raco.projectFeatureLevel(), raco.maxFeatureLevel()) def test_save_check_object_id(self): objectInitID = self.findObjectByType("ProjectSettings").objectID() diff --git a/components/libApplication/src/RaCoApplication.cpp b/components/libApplication/src/RaCoApplication.cpp index 97123e3f..395761e6 100644 --- a/components/libApplication/src/RaCoApplication.cpp +++ b/components/libApplication/src/RaCoApplication.cpp @@ -156,6 +156,12 @@ void RaCoApplication::switchActiveRaCoProject(const QString& file, std::function activeProject_ = RaCoProject::createNew(this, createDefaultScene, newFeatureLevel); } else { auto fileFeatureLevel = RaCoProject::preloadFeatureLevel(file, featureLevel); + + // We run into this case when there is a feature level upgrade without a file version upgrade: + if (fileFeatureLevel < ramses_base::BaseEngineBackend::minFeatureLevel || fileFeatureLevel > ramses_base::BaseEngineBackend::maxFeatureLevel) { + throw std::runtime_error(fmt::format("Project feature level {} outside valid range ({} ... {})", fileFeatureLevel, static_cast(ramses_base::BaseEngineBackend::minFeatureLevel), static_cast(ramses_base::BaseEngineBackend::maxFeatureLevel))); + } + engine_->setFeatureLevel(static_cast(fileFeatureLevel)); activeProject_ = RaCoProject::loadFromFile(file, this, loadContext, false, featureLevel, generateNewObjectIDs); } diff --git a/components/libApplication/src/RaCoProject.cpp b/components/libApplication/src/RaCoProject.cpp index 10db81b2..2712ca5b 100644 --- a/components/libApplication/src/RaCoProject.cpp +++ b/components/libApplication/src/RaCoProject.cpp @@ -413,6 +413,12 @@ std::unique_ptr RaCoProject::loadFromFile(const QString& filename, auto absPath = utils::u8path(info.path).normalizedAbsolutePath(p.currentFolder()); p.addExternalProjectMapping(id, absPath.string(), info.name); } + + // We run into this case when there is a feature level upgrade without a file version upgrade: + if (p.featureLevel() < ramses_base::BaseEngineBackend::minFeatureLevel || p.featureLevel() > ramses_base::BaseEngineBackend::maxFeatureLevel) { + throw std::runtime_error(fmt::format("Project feature level {} outside valid range ({} ... {})", p.featureLevel(), static_cast(ramses_base::BaseEngineBackend::minFeatureLevel), static_cast(ramses_base::BaseEngineBackend::maxFeatureLevel))); + } + if (featureLevel != -1) { if (featureLevel >= p.featureLevel() && featureLevel <= static_cast(ramses_base::BaseEngineBackend::maxFeatureLevel)) { p.setFeatureLevel(featureLevel); diff --git a/components/libRamsesBase/src/ramses_adaptor/SceneAdaptor.cpp b/components/libRamsesBase/src/ramses_adaptor/SceneAdaptor.cpp index 297817c3..8b0dc8bb 100644 --- a/components/libRamsesBase/src/ramses_adaptor/SceneAdaptor.cpp +++ b/components/libRamsesBase/src/ramses_adaptor/SceneAdaptor.cpp @@ -47,7 +47,7 @@ SceneAdaptor::SceneAdaptor(ramses::RamsesClient* client, ramses::sceneId_t id, P : client_{client}, project_(project), scene_{ramsesScene(id, client_)}, - logicEngine_{ramses_base::BaseEngineBackend::UniqueLogicEngine(scene_->createLogicEngine(), [this](ramses::LogicEngine* logicEngine) { scene_->destroy(*logicEngine); })}, + logicEngine_{ramses_base::BaseEngineBackend::UniqueLogicEngine(scene_->createLogicEngine("LogicEngine_" + project->projectName()), [this](ramses::LogicEngine* logicEngine) { scene_->destroy(*logicEngine); })}, subscription_{dispatcher->registerOnObjectsLifeCycle([this](SEditorObject obj) { createAdaptor(obj); }, [this](SEditorObject obj) { removeAdaptor(obj); })}, childrenSubscription_(dispatcher->registerOnPropertyChange("children", [this](core::ValueHandle handle) { adaptorStatusDirty_ = true; diff --git a/components/libRamsesBase/src/ramses_adaptor/SceneBackend.cpp b/components/libRamsesBase/src/ramses_adaptor/SceneBackend.cpp index 02fcf1fc..960fcd46 100644 --- a/components/libRamsesBase/src/ramses_adaptor/SceneBackend.cpp +++ b/components/libRamsesBase/src/ramses_adaptor/SceneBackend.cpp @@ -103,9 +103,6 @@ bool SceneBackend::discardRamsesMessage(std::string_view message) { if (message.find("has no outgoing links! Node should be deleted or properly linked!") != std::string::npos) { return true; } - if (message.find("rendergroup does not contain any meshes") != std::string::npos) { - return true; - } if (message.find("Unused [uniform]") != std::string::npos || message.find("Unused [in]") != std::string::npos || message.find("Unused [out]") != std::string::npos) { diff --git a/components/libRamsesBase/src/ramses_base/BaseEngineBackend.cpp b/components/libRamsesBase/src/ramses_base/BaseEngineBackend.cpp index 38cbbcbd..483f09d7 100644 --- a/components/libRamsesBase/src/ramses_base/BaseEngineBackend.cpp +++ b/components/libRamsesBase/src/ramses_base/BaseEngineBackend.cpp @@ -20,10 +20,12 @@ const ramses::EFeatureLevel BaseEngineBackend::minFeatureLevel = ramses::EFeatur // - feature level downgrade tests // - python api: in pyt_general.py -> test_load_raco_2x_feature_levels -const ramses::EFeatureLevel BaseEngineBackend::maxFeatureLevel = ramses::EFeatureLevel::EFeatureLevel_01; +const ramses::EFeatureLevel BaseEngineBackend::maxFeatureLevel = ramses::EFeatureLevel::EFeatureLevel_02; const std::string BaseEngineBackend::featureLevelDescriptions = R"(1 - Ramses v28.0.0 +2 - Ramses v28.2.0 + - scene merging )"; diff --git a/components/libRamsesBase/src/ramses_base/Utils.cpp b/components/libRamsesBase/src/ramses_base/Utils.cpp index 802c1f47..37a75b97 100644 --- a/components/libRamsesBase/src/ramses_base/Utils.cpp +++ b/components/libRamsesBase/src/ramses_base/Utils.cpp @@ -159,7 +159,11 @@ std::map defaultUniformSemantics = {"uViewMatrix", ramses::EEffectUniformSemantic::ViewMatrix}, {"uNormalMatrix", ramses::EEffectUniformSemantic::NormalMatrix}, {"uCameraPosition", ramses::EEffectUniformSemantic::CameraWorldPosition}, - {"uResolution", ramses::EEffectUniformSemantic::DisplayBufferResolution}}; + {"uResolution", ramses::EEffectUniformSemantic::DisplayBufferResolution}, + + {"uModelBlock", ramses::EEffectUniformSemantic::ModelBlock}, + {"uCameraBlock", ramses::EEffectUniformSemantic::CameraBlock}, + {"uModelCameraBlock", ramses::EEffectUniformSemantic::ModelCameraBlock}}; static std::map shaderTypeMap = { {ramses::EDataType::Bool, core::EnginePrimitive::Bool}, @@ -209,7 +213,9 @@ std::unique_ptr createEffectDescription(const std::st description->setGeometryShader(geometryShader.c_str()); for (auto item : defaultUniformSemantics) { - description->setUniformSemantic(item.first.c_str(), item.second); + if (!description->setUniformSemantic(item.first.c_str(), item.second)) { + LOG_ERROR(log_system::RAMSES_BACKEND, "Error setting uniform semantic for '{}' to '{}'", item.first.c_str(), item.second); + } } return description; } @@ -331,19 +337,36 @@ bool parseShaderText(ramses::Scene &scene, const std::string &vertexShader, cons bool success = false; if (effect) { uint32_t numUniforms = effect->getUniformInputCount(); + std::vector exclusions; for (uint32_t i{0}; i < numUniforms; i++) { ramses::UniformInput uniform = effect->getUniformInput(i).value(); if (uniform.getSemantics() == ramses::EEffectUniformSemantic::Invalid) { if (shaderTypeMap.find(uniform.getDataType()) != shaderTypeMap.end()) { auto engineType = shaderTypeMap[uniform.getDataType()]; buildUniformRecursive(std::string(uniform.getName()), outUniforms, engineType, uniform.getElementCount(), outError); - } else { - // mat4 uniforms are needed for skinning: they will be set directly by the LogicEngine + } else if (uniform.getDataType() == ramses::EDataType::UniformBuffer) { + outError += fmt::format("Uniform '{}' has type uniform buffer which currently can't be exported.", uniform.getName()); + } else if (uniform.getDataType() != ramses::EDataType::Matrix44F) { + // mat4 uniforms are needed for skinning: they will be set directly by the LogicEngine // so we don't need to expose but they shouldn't generate errors either: - if (uniform.getDataType() != ramses::EDataType::Matrix44F) { - outError += std::string(uniform.getName()) + " has unsupported type"; - } + outError += std::string(uniform.getName()) + " has unsupported type"; } + } else { + // For struct uniforms with UBO semantics the struct itself will have invalid semantics + // but the struct members in struct.member notation will have normal semantics. + // In order to remove those we need to build an exclusion list and remove them explicitly below. + exclusions.emplace_back(uniform.getName()); + } + } + + // This will remove struct members of uniforms with UBO semantics + for (auto excludedUniform : exclusions) { + auto it = std::find_if(outUniforms.begin(), outUniforms.end(), + [excludedUniform](auto interface) { + return interface.name == excludedUniform; + }); + if (it != outUniforms.end()) { + outUniforms.erase(it); } } diff --git a/datamodel/libCore/include/core/ProjectMigration.h b/datamodel/libCore/include/core/ProjectMigration.h index dcff17c4..691d368a 100644 --- a/datamodel/libCore/include/core/ProjectMigration.h +++ b/datamodel/libCore/include/core/ProjectMigration.h @@ -141,9 +141,12 @@ namespace raco::serialization { * - RenderBuffer and RenderBufferMS height and width * - BlitPass sourceX, sourceY, destinationX, destinationY, width, height * - BaseCamera::viewport width, height, offsetX, offsetY + * 2006: New Ramses feature level 2, but no RaCo data model changes. + * - Increase the file version to avoid problems when trying to load feature level 2 + * scenes with RaCo - linkable RenderPass properties
- added `enabled` Node property
- frustum planes for PerspectiveCameras -3 | 1.2.0 | 1.5.0 | dynamic control of render order via links in RenderLayer `renderableTags` properties -4 | 1.3.0 | 1.6.0 | added Skin type -5 | 1.4.0 | 1.6.0 | added support for LuaModules in LuaInterfaces -5 | 1.4.0 | 1.9.0 | linkable `instanceCount` MeshNode +1 | 2.0.0 | 2.0.0 | Base Features +2 | 2.2.0 | 2.2.0 | - support for scene merging + + diff --git a/resources/empty-raco-2x-fl1.rca b/resources/empty-raco-2x-fl1.rca index 00db17d9..42905cd3 100644 --- a/resources/empty-raco-2x-fl1.rca +++ b/resources/empty-raco-2x-fl1.rca @@ -2,7 +2,7 @@ "externalProjects": { }, "featureLevel": 1, - "fileVersion": 2001, + "fileVersion": 2005, "instances": [ { "properties": { @@ -66,6 +66,7 @@ "featureLevel": 1, "objectID": "8b3c93d7-63cb-4a0b-9cfd-b115741632a7", "objectName": "empty-raco-2x-fl1", + "pythonOnSaveScript": "", "saveAsZip": false, "sceneId": { "annotations": [ @@ -84,7 +85,7 @@ "annotations": [ { "properties": { - "max": 4096, + "max": 8192, "min": 0 }, "typeName": "RangeAnnotationInt" @@ -96,7 +97,7 @@ "annotations": [ { "properties": { - "max": 4096, + "max": 8192, "min": 0 }, "typeName": "RangeAnnotationInt" @@ -111,19 +112,14 @@ ], "links": [ ], - "logicEngineVersion": [ - 28, - 0, - 0 - ], "racoVersion": [ 2, - 0, + 1, 0 ], "ramsesVersion": [ 28, - 0, + 2, 0 ], "structPropMap": { @@ -241,7 +237,7 @@ "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" }, "Animation": { - "animationChannels": "Array[AnimationChannel]::DisplayNameAnnotation", + "animationChannels": "Array[AnimationChannelBase]::DisplayNameAnnotation::ResizableArray", "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", "metaData": "Table::DisplayNameAnnotation", "objectID": "String::HiddenProperty", @@ -260,6 +256,17 @@ "uri": "String::URIAnnotation::DisplayNameAnnotation", "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" }, + "AnimationChannelRaco": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "componentArraySize": "Int::DisplayNameAnnotation", + "componentType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "data": "Table::HiddenProperty", + "interpolationType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, "BlitPass": { "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", "destinationX": "Int::RangeAnnotationInt::DisplayNameAnnotation", @@ -463,6 +470,7 @@ "featureLevel": "Int::DisplayNameAnnotation::ReadOnlyAnnotation", "objectID": "String::HiddenProperty", "objectName": "String::DisplayNameAnnotation", + "pythonOnSaveScript": "String::DisplayNameAnnotation::URIAnnotation", "saveAsZip": "Bool::DisplayNameAnnotation", "sceneId": "Int::DisplayNameAnnotation::RangeAnnotationInt", "viewport": "Vec2i::DisplayNameAnnotation" @@ -471,27 +479,27 @@ "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", - "height": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", "metaData": "Table::DisplayNameAnnotation", "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", "objectID": "String::HiddenProperty", "objectName": "String::DisplayNameAnnotation", "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", - "width": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" }, "RenderBufferMS": { "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", - "height": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", "metaData": "Table::DisplayNameAnnotation", "objectID": "String::HiddenProperty", "objectName": "String::DisplayNameAnnotation", - "sampleCount": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "sampleCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", - "width": "Int::RangeAnnotationInt::DisplayNameAnnotation" + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" }, "RenderLayer": { "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", @@ -513,7 +521,7 @@ "enableClearDepth": "Bool::DisplayNameAnnotation", "enableClearStencil": "Bool::DisplayNameAnnotation", "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", - "layers": "Array[RenderLayer]::DisplayNameAnnotation::EmptyReferenceAllowable", + "layers": "Array[RenderLayer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", "metaData": "Table::DisplayNameAnnotation", "objectID": "String::HiddenProperty", "objectName": "String::DisplayNameAnnotation", @@ -523,7 +531,7 @@ "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" }, "RenderTarget": { - "buffers": "Array[RenderBuffer]::DisplayNameAnnotation::EmptyReferenceAllowable", + "buffers": "Array[RenderBuffer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", "metaData": "Table::DisplayNameAnnotation", "objectID": "String::HiddenProperty", @@ -531,7 +539,7 @@ "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" }, "RenderTargetMS": { - "buffers": "Array[RenderBufferMS]::DisplayNameAnnotation::EmptyReferenceAllowable", + "buffers": "Array[RenderBufferMS]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", "metaData": "Table::DisplayNameAnnotation", "objectID": "String::HiddenProperty", @@ -545,7 +553,7 @@ "objectID": "String::HiddenProperty", "objectName": "String::DisplayNameAnnotation", "skinIndex": "Int::DisplayNameAnnotation", - "targets": "Array[MeshNode]::DisplayNameAnnotation", + "targets": "Array[MeshNode]::DisplayNameAnnotation::ResizableArray", "uri": "String::URIAnnotation::DisplayNameAnnotation", "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" }, diff --git a/resources/empty-raco-2x-fl2.rca b/resources/empty-raco-2x-fl2.rca new file mode 100644 index 00000000..40a10f76 --- /dev/null +++ b/resources/empty-raco-2x-fl2.rca @@ -0,0 +1,599 @@ +{ + "externalProjects": { + }, + "featureLevel": 2, + "fileVersion": 2005, + "instances": [ + { + "properties": { + "backgroundColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "defaultResourceFolders": { + "imageSubdirectory": "images", + "interfaceSubdirectory": "interfaces", + "meshSubdirectory": "meshes", + "scriptSubdirectory": "scripts", + "shaderSubdirectory": "shaders" + }, + "featureLevel": 2, + "objectID": "8b3c93d7-63cb-4a0b-9cfd-b115741632a7", + "objectName": "empty-raco-2x-fl1", + "pythonOnSaveScript": "", + "saveAsZip": false, + "sceneId": { + "annotations": [ + { + "properties": { + "max": 1024, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 123 + }, + "viewport": { + "i1": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + }, + "i2": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + } + } + }, + "typeName": "ProjectSettings" + } + ], + "links": [ + ], + "racoVersion": [ + 2, + 1, + 0 + ], + "ramsesVersion": [ + 28, + 2, + 0 + ], + "structPropMap": { + "AnchorPointOutputs": { + "depth": "Double::DisplayNameAnnotation::LinkStartAnnotation", + "viewportCoords": "Vec2f::DisplayNameAnnotation::LinkStartAnnotation" + }, + "BlendOptions": { + "blendColor": "Vec4f::DisplayNameAnnotation", + "blendFactorDestAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorDestColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "colorWriteMask": "ColorWriteMask::DisplayNameAnnotation", + "cullmode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthFunction": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthwrite": "Bool::DisplayNameAnnotation", + "scissorOptions": "ScissorOptions::DisplayNameAnnotation", + "stencilOptions": "StencilOptions::DisplayNameAnnotation" + }, + "CameraViewport": { + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetX": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetY": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ColorWriteMask": { + "alpha": "Bool::DisplayNameAnnotation", + "blue": "Bool::DisplayNameAnnotation", + "green": "Bool::DisplayNameAnnotation", + "red": "Bool::DisplayNameAnnotation" + }, + "DefaultResourceDirectories": { + "imageSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "interfaceSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "meshSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "scriptSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "shaderSubdirectory": "String::DisplayNameAnnotation::URIAnnotation" + }, + "LuaStandardModuleSelection": { + "base": "Bool::DisplayNameAnnotation", + "debug": "Bool::DisplayNameAnnotation", + "math": "Bool::DisplayNameAnnotation", + "string": "Bool::DisplayNameAnnotation", + "table": "Bool::DisplayNameAnnotation" + }, + "OrthographicFrustum": { + "bottomPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "farPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "leftPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "nearPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "rightPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "topPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation" + }, + "ScissorOptions": { + "scissorEnable": "Bool::DisplayNameAnnotation", + "scissorRegion": "CameraViewport::DisplayNameAnnotation" + }, + "StencilOptions": { + "stencilFunc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilMask": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "stencilOpDepthFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpDepthSucc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpStencilFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilRef": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "TimerInput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkEndAnnotation" + }, + "TimerOutput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkStartAnnotation" + }, + "Vec2f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec2i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec3f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec3i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec4f": { + "w": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec4i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i4": "Int::DisplayNameAnnotation::RangeAnnotationInt" + } + }, + "userTypePropMap": { + "AnchorPoint": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "node": "Node::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "AnchorPointOutputs::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Animation": { + "animationChannels": "Array[AnimationChannelBase]::DisplayNameAnnotation::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "progress": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannel": { + "animationIndex": "Int::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "samplerIndex": "Int::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannelRaco": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "componentArraySize": "Int::DisplayNameAnnotation", + "componentType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "data": "Table::HiddenProperty", + "interpolationType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "BlitPass": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "destinationX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "destinationY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOrder": "Int::DisplayNameAnnotation", + "sourceRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "sourceY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "targetRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "targetRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation" + }, + "CubeMap": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "LuaInterface": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkStartAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScript": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScriptModule": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Material": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "options": "BlendOptions::DisplayNameAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "uniforms": "Table::DisplayNameAnnotation", + "uriDefines": "String::URIAnnotation::DisplayNameAnnotation", + "uriFragment": "String::URIAnnotation::DisplayNameAnnotation", + "uriGeometry": "String::URIAnnotation::DisplayNameAnnotation", + "uriVertex": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Mesh": { + "bakeMeshes": "Bool::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "materialNames": "Table::ArraySemanticAnnotation::HiddenProperty", + "meshIndex": "Int::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "MeshNode": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "instanceCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "materials": "Table::DisplayNameAnnotation", + "mesh": "Mesh::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Node": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "OrthographicCamera": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "frustum": "OrthographicFrustum::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "PerspectiveCamera": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "frustum": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "frustumType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Prefab": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "PrefabInstance": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "template": "Prefab::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ProjectSettings": { + "backgroundColor": "Vec4f::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "defaultResourceFolders": "DefaultResourceDirectories::DisplayNameAnnotation", + "featureLevel": "Int::DisplayNameAnnotation::ReadOnlyAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "pythonOnSaveScript": "String::DisplayNameAnnotation::URIAnnotation", + "saveAsZip": "Bool::DisplayNameAnnotation", + "sceneId": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "viewport": "Vec2i::DisplayNameAnnotation" + }, + "RenderBuffer": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "RenderBufferMS": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "sampleCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "RenderLayer": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "materialFilterMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "materialFilterTags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderableTags": "Table::RenderableTagContainerAnnotation::DisplayNameAnnotation", + "sortOrder": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderPass": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "clearColor": "Vec4f::DisplayNameAnnotation::LinkEndAnnotation", + "enableClearColor": "Bool::DisplayNameAnnotation", + "enableClearDepth": "Bool::DisplayNameAnnotation", + "enableClearStencil": "Bool::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "layers": "Array[RenderLayer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOnce": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "renderOrder": "Int::DisplayNameAnnotation::LinkEndAnnotation", + "target": "RenderTargetBase::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTarget": { + "buffers": "Array[RenderBuffer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTargetMS": { + "buffers": "Array[RenderBufferMS]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Skin": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "joints": "Array[Node]::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "skinIndex": "Int::DisplayNameAnnotation", + "targets": "Array[MeshNode]::DisplayNameAnnotation::ResizableArray", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Texture": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "flipTexture": "Bool::DisplayNameAnnotation", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uri": "String::URIAnnotation::DisplayNameAnnotation", + "level3uri": "String::URIAnnotation::DisplayNameAnnotation", + "level4uri": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "TextureExternal": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Timer": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "TimerInput::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "TimerOutput::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + } + } +} diff --git a/resources/future-feature-level.rca b/resources/future-feature-level.rca new file mode 100644 index 00000000..ddc46604 --- /dev/null +++ b/resources/future-feature-level.rca @@ -0,0 +1,1249 @@ +{ + "externalProjects": { + }, + "featureLevel": 234567, + "fileVersion": 2006, + "instances": [ + { + "properties": { + "backgroundColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "defaultResourceFolders": { + "imageSubdirectory": "images", + "interfaceSubdirectory": "interfaces", + "meshSubdirectory": "meshes", + "scriptSubdirectory": "scripts", + "shaderSubdirectory": "shaders" + }, + "featureLevel": 234567, + "objectID": "1578054c-bbbc-4307-ba13-53305bca8841", + "objectName": "future-feature-level", + "pythonOnSaveScript": "", + "saveAsZip": false, + "sceneId": { + "annotations": [ + { + "properties": { + "max": 1024, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 123 + }, + "viewport": { + "i1": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + }, + "i2": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + } + } + }, + "typeName": "ProjectSettings" + }, + { + "properties": { + "children": [ + "0f3aca61-7ef4-40b9-bf94-15ad3fb496c1" + ], + "enabled": true, + "objectID": "a4ab5e57-2566-442c-b265-bf891952eb86", + "objectName": "Node", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "tags": { + "properties": [ + { + "typeName": "String", + "value": "render_main" + } + ] + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "enabled": true, + "frustum": { + "order": [ + "nearPlane", + "farPlane", + "fieldOfView", + "aspectRatio" + ], + "properties": { + "aspectRatio": { + "annotations": [ + { + "properties": { + "name": "aspectRatio" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 4, + "min": 0.5 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 2 + }, + "farPlane": { + "annotations": [ + { + "properties": { + "name": "farPlane" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 10000, + "min": 100 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 1000 + }, + "fieldOfView": { + "annotations": [ + { + "properties": { + "name": "fieldOfView" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 120, + "min": 10 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 35 + }, + "nearPlane": { + "annotations": [ + { + "properties": { + "name": "nearPlane" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 1, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 0.1 + } + } + }, + "frustumType": 0, + "objectID": "9908e57d-7eca-49e3-a38a-b37b4fee5d98", + "objectName": "PerspectiveCamera", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 10 + } + }, + "viewport": { + "height": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + }, + "visibility": true + }, + "typeName": "PerspectiveCamera" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": -1 + }, + "mesh": null, + "objectID": "0f3aca61-7ef4-40b9-bf94-15ad3fb496c1", + "objectName": "MeshNode", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 2 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 2 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 2 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "materialFilterMode": 1, + "objectID": "5ecbe0cb-b5d0-4387-97f8-1f66a70fa843", + "objectName": "MainRenderLayer", + "renderableTags": { + "order": [ + "render_main" + ], + "properties": { + "render_main": { + "annotations": [ + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Int::LinkEndAnnotation", + "value": 0 + } + } + }, + "sortOrder": 0 + }, + "typeName": "RenderLayer" + }, + { + "properties": { + "camera": "9908e57d-7eca-49e3-a38a-b37b4fee5d98", + "clearColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "enableClearColor": true, + "enableClearDepth": true, + "enableClearStencil": true, + "enabled": true, + "layers": [ + "5ecbe0cb-b5d0-4387-97f8-1f66a70fa843" + ], + "objectID": "9cf553eb-cc77-4035-b370-c24c644136ad", + "objectName": "MainRenderPass", + "renderOnce": false, + "renderOrder": 1, + "target": null + }, + "typeName": "RenderPass" + } + ], + "links": [ + ], + "racoVersion": [ + 2, + 1, + 0 + ], + "ramsesVersion": [ + 28, + 2, + 0 + ], + "structPropMap": { + "AnchorPointOutputs": { + "depth": "Double::DisplayNameAnnotation::LinkStartAnnotation", + "viewportCoords": "Vec2f::DisplayNameAnnotation::LinkStartAnnotation" + }, + "BlendOptions": { + "blendColor": "Vec4f::DisplayNameAnnotation", + "blendFactorDestAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorDestColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "colorWriteMask": "ColorWriteMask::DisplayNameAnnotation", + "cullmode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthFunction": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthwrite": "Bool::DisplayNameAnnotation", + "scissorOptions": "ScissorOptions::DisplayNameAnnotation", + "stencilOptions": "StencilOptions::DisplayNameAnnotation" + }, + "CameraViewport": { + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetX": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetY": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ColorWriteMask": { + "alpha": "Bool::DisplayNameAnnotation", + "blue": "Bool::DisplayNameAnnotation", + "green": "Bool::DisplayNameAnnotation", + "red": "Bool::DisplayNameAnnotation" + }, + "DefaultResourceDirectories": { + "imageSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "interfaceSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "meshSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "scriptSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "shaderSubdirectory": "String::DisplayNameAnnotation::URIAnnotation" + }, + "LuaStandardModuleSelection": { + "base": "Bool::DisplayNameAnnotation", + "debug": "Bool::DisplayNameAnnotation", + "math": "Bool::DisplayNameAnnotation", + "string": "Bool::DisplayNameAnnotation", + "table": "Bool::DisplayNameAnnotation" + }, + "OrthographicFrustum": { + "bottomPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "farPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "leftPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "nearPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "rightPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "topPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation" + }, + "ScissorOptions": { + "scissorEnable": "Bool::DisplayNameAnnotation", + "scissorRegion": "CameraViewport::DisplayNameAnnotation" + }, + "StencilOptions": { + "stencilFunc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilMask": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "stencilOpDepthFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpDepthSucc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpStencilFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilRef": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "TimerInput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkEndAnnotation" + }, + "TimerOutput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkStartAnnotation" + }, + "Vec2f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec2i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec3f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec3i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec4f": { + "w": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec4i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i4": "Int::DisplayNameAnnotation::RangeAnnotationInt" + } + }, + "userTypePropMap": { + "AnchorPoint": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "node": "Node::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "AnchorPointOutputs::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Animation": { + "animationChannels": "Array[AnimationChannelBase]::DisplayNameAnnotation::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "progress": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannel": { + "animationIndex": "Int::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "samplerIndex": "Int::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannelRaco": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "componentArraySize": "Int::DisplayNameAnnotation", + "componentType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "data": "Table::HiddenProperty", + "interpolationType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "BlitPass": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "destinationX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "destinationY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOrder": "Int::DisplayNameAnnotation", + "sourceRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "sourceY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "targetRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "targetRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation" + }, + "CubeMap": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "LuaInterface": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkStartAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScript": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScriptModule": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Material": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "options": "BlendOptions::DisplayNameAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "uniforms": "Table::DisplayNameAnnotation", + "uriDefines": "String::URIAnnotation::DisplayNameAnnotation", + "uriFragment": "String::URIAnnotation::DisplayNameAnnotation", + "uriGeometry": "String::URIAnnotation::DisplayNameAnnotation", + "uriVertex": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Mesh": { + "bakeMeshes": "Bool::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "materialNames": "Table::ArraySemanticAnnotation::HiddenProperty", + "meshIndex": "Int::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "MeshNode": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "instanceCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "materials": "Table::DisplayNameAnnotation", + "mesh": "Mesh::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Node": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "OrthographicCamera": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "frustum": "OrthographicFrustum::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "PerspectiveCamera": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "frustum": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "frustumType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Prefab": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "PrefabInstance": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "template": "Prefab::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ProjectSettings": { + "backgroundColor": "Vec4f::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "defaultResourceFolders": "DefaultResourceDirectories::DisplayNameAnnotation", + "featureLevel": "Int::DisplayNameAnnotation::ReadOnlyAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "pythonOnSaveScript": "String::DisplayNameAnnotation::URIAnnotation", + "saveAsZip": "Bool::DisplayNameAnnotation", + "sceneId": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "viewport": "Vec2i::DisplayNameAnnotation" + }, + "RenderBuffer": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "RenderBufferMS": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "sampleCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "RenderLayer": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "materialFilterMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "materialFilterTags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderableTags": "Table::RenderableTagContainerAnnotation::DisplayNameAnnotation", + "sortOrder": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderPass": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "clearColor": "Vec4f::DisplayNameAnnotation::LinkEndAnnotation", + "enableClearColor": "Bool::DisplayNameAnnotation", + "enableClearDepth": "Bool::DisplayNameAnnotation", + "enableClearStencil": "Bool::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "layers": "Array[RenderLayer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOnce": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "renderOrder": "Int::DisplayNameAnnotation::LinkEndAnnotation", + "target": "RenderTargetBase::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTarget": { + "buffers": "Array[RenderBuffer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTargetMS": { + "buffers": "Array[RenderBufferMS]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Skin": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "joints": "Array[Node]::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "skinIndex": "Int::DisplayNameAnnotation", + "targets": "Array[MeshNode]::DisplayNameAnnotation::ResizableArray", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Texture": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "flipTexture": "Bool::DisplayNameAnnotation", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uri": "String::URIAnnotation::DisplayNameAnnotation", + "level3uri": "String::URIAnnotation::DisplayNameAnnotation", + "level4uri": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "TextureExternal": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Timer": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "TimerInput::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "TimerOutput::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + } + } +} diff --git a/resources/shaders/ubo.frag b/resources/shaders/ubo.frag new file mode 100644 index 00000000..53bd358c --- /dev/null +++ b/resources/shaders/ubo.frag @@ -0,0 +1,11 @@ +#version 320 es + +precision mediump float; + +out vec4 FragColor; + +uniform vec3 u_color; + +void main() { + FragColor = vec4(u_color.r, u_color.g, u_color.b, 1.0); +} diff --git a/resources/shaders/ubo.vert b/resources/shaders/ubo.vert new file mode 100644 index 00000000..e8409723 --- /dev/null +++ b/resources/shaders/ubo.vert @@ -0,0 +1,29 @@ +#version 320 es + +precision mediump float; + +in vec3 a_Position; + +layout(std140, binding = 0) uniform ModelBlock_t { + mat4 modelMat; +} uModelBlock; + +layout(std140, binding = 1) uniform CameraBlock_t +{ + mat4 projMat; + mat4 viewMat; + vec3 camPos; +} uCameraBlock; + +layout(std140, binding = 2) uniform CameraModelBlock_t +{ + mat4 mvpMat; + mat4 mvMat; + mat4 normalMat; +} uModelCameraBlock; + +void main() { + float offset = float(gl_InstanceID) * 0.2; + + gl_Position = uCameraBlock.projMat * uCameraBlock.viewMat * uModelBlock.modelMat * vec4(a_Position.x + offset, a_Position.yz, 1.0); +} diff --git a/screenshot_tests/CMakeLists.txt b/screenshot_tests/CMakeLists.txt index 74d713d8..5c97298b 100644 --- a/screenshot_tests/CMakeLists.txt +++ b/screenshot_tests/CMakeLists.txt @@ -25,6 +25,8 @@ macro(add_screenshot_test TESTNAME PROJECTPATH) set_tests_properties("screenshot_${TESTNAME}" PROPERTIES ATTACHED_FILES_ON_FAIL "${CMAKE_CURRENT_SOURCE_DIR}/actual/${TESTNAME}.png") endmacro() + + # Run screenshot tests only on windows as long as the linux build server can't run the GUI application if(WIN32) # Note: don't include simple_broken here: this project is intentionally different from the expected screenshot to @@ -35,6 +37,12 @@ if(WIN32) empty duck skinning + skinning-rigged-figure + # TODO enable the ubo test once the ramses ubo export is fixed: + # currently leading this scene with ramses-viewer will crash: + # ubo-phong + #merge-left + #merge-right ) set(RACO_DOC_PROJECTS @@ -93,4 +101,12 @@ if(WIN32) add_screenshot_test(simple_broken ${CMAKE_CURRENT_SOURCE_DIR}/projects/simple_broken.rca) set_tests_properties(screenshot_simple_broken PROPERTIES WILL_FAIL True) + + add_test( + NAME "screenshot_merge" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND ${CMAKE_COMMAND} -D RACO_EXE=${RACO_EXE} -D VIEWER_EXE=${VIEWER_EXE} -D PY_EXE=${PYTHON_DEPLOYMENT_FOLDER}/python.exe -D PY_CMD=compare_screenshots.py -P "${CMAKE_CURRENT_SOURCE_DIR}/merge_test.cmake" + ) + set_tests_properties("screenshot_merge" PROPERTIES ATTACHED_FILES_ON_FAIL "${CMAKE_CURRENT_SOURCE_DIR}/actual/merge.png") + endif() diff --git a/screenshot_tests/expected/merge.png b/screenshot_tests/expected/merge.png new file mode 100644 index 00000000..7308be86 --- /dev/null +++ b/screenshot_tests/expected/merge.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e1460ea04352b031f837d07c123a2916e009c38df5e362a6b54bd5dbab93ea1 +size 239012 diff --git a/screenshot_tests/expected/skinning-rigged-figure.png b/screenshot_tests/expected/skinning-rigged-figure.png new file mode 100644 index 00000000..811a80f8 --- /dev/null +++ b/screenshot_tests/expected/skinning-rigged-figure.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:734dcba8fd9b6200f1eacda0be7f3c4bfc9b6bdb0720fcbf949900e2abbc754d +size 18825 diff --git a/screenshot_tests/merge_test.cmake b/screenshot_tests/merge_test.cmake new file mode 100644 index 00000000..827acb58 --- /dev/null +++ b/screenshot_tests/merge_test.cmake @@ -0,0 +1,19 @@ +file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/exported/") +file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/actual/") +file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/diff/") +execute_process( + COMMAND ${RACO_EXE} -p ${CMAKE_CURRENT_SOURCE_DIR}/projects/merge-left.rca -e exported/merge-left -l 3 + COMMAND_ERROR_IS_FATAL ANY +) +execute_process( + COMMAND ${RACO_EXE} -p ${CMAKE_CURRENT_SOURCE_DIR}/projects/merge-right.rca -e exported/merge-right -l 3 + COMMAND_ERROR_IS_FATAL ANY +) +execute_process( + COMMAND ${VIEWER_EXE} --gui on --exec-lua "R.screenshot('actual/merge.png')" exported/merge-left.ramses exported/merge-right.ramses + COMMAND_ERROR_IS_FATAL ANY +) +execute_process( + COMMAND ${PY_EXE} ${PY_CMD} merge + COMMAND_ERROR_IS_FATAL ANY +) diff --git a/screenshot_tests/projects/merge-left.rca b/screenshot_tests/projects/merge-left.rca new file mode 100644 index 00000000..f744e15c --- /dev/null +++ b/screenshot_tests/projects/merge-left.rca @@ -0,0 +1,1662 @@ +{ + "externalProjects": { + }, + "featureLevel": 2, + "fileVersion": 2005, + "instances": [ + { + "properties": { + "enabled": true, + "frustum": { + "order": [ + "nearPlane", + "farPlane", + "fieldOfView", + "aspectRatio" + ], + "properties": { + "aspectRatio": { + "annotations": [ + { + "properties": { + "name": "aspectRatio" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 4, + "min": 0.5 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 2 + }, + "farPlane": { + "annotations": [ + { + "properties": { + "name": "farPlane" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 10000, + "min": 100 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 1000 + }, + "fieldOfView": { + "annotations": [ + { + "properties": { + "name": "fieldOfView" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 120, + "min": 10 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 35 + }, + "nearPlane": { + "annotations": [ + { + "properties": { + "name": "nearPlane" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 1, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 0.1 + } + } + }, + "frustumType": 0, + "objectID": "304aaf29-72fb-4108-9df5-9353e234c09c", + "objectName": "PerspectiveCamera", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 10 + } + }, + "viewport": { + "height": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + }, + "visibility": true + }, + "typeName": "PerspectiveCamera" + }, + { + "properties": { + "children": [ + "dd8bcfc1-9c5b-4ace-9735-99daea7f3cad" + ], + "enabled": true, + "objectID": "bcac3fc2-91a4-4be6-a345-1ca055e835f9", + "objectName": "Node", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "tags": { + "properties": [ + { + "typeName": "String", + "value": "render_main" + } + ] + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "backgroundColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "defaultResourceFolders": { + "imageSubdirectory": "images", + "interfaceSubdirectory": "interfaces", + "meshSubdirectory": "meshes", + "scriptSubdirectory": "scripts", + "shaderSubdirectory": "shaders" + }, + "featureLevel": 2, + "objectID": "ee85a4d6-4a4d-439e-85fe-e590dd9967cd", + "objectName": "merge-left", + "pythonOnSaveScript": "", + "saveAsZip": false, + "sceneId": { + "annotations": [ + { + "properties": { + "max": 1024, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 101 + }, + "viewport": { + "i1": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + }, + "i2": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + } + } + }, + "typeName": "ProjectSettings" + }, + { + "properties": { + "materialFilterMode": 1, + "objectID": "3256d315-0a3f-47bc-b42b-678a153fdc51", + "objectName": "MainRenderLayer", + "renderableTags": { + "order": [ + "render_main" + ], + "properties": { + "render_main": { + "annotations": [ + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Int::LinkEndAnnotation", + "value": 0 + } + } + }, + "sortOrder": 0 + }, + "typeName": "RenderLayer" + }, + { + "properties": { + "camera": "304aaf29-72fb-4108-9df5-9353e234c09c", + "clearColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "enableClearColor": true, + "enableClearDepth": true, + "enableClearStencil": true, + "enabled": true, + "layers": [ + "3256d315-0a3f-47bc-b42b-678a153fdc51", + null, + null, + null, + null, + null, + null, + null + ], + "objectID": "79f2e106-038a-4e6e-bdd8-42bd1033ab48", + "objectName": "MainRenderPass", + "renderOnce": false, + "renderOrder": 1, + "target": null + }, + "typeName": "RenderPass" + }, + { + "properties": { + "objectID": "dc228392-e269-4ab2-8937-d79e0aea3296", + "objectName": "Material", + "options": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "uriDefines": "", + "uriFragment": "shaders/default-highp.frag", + "uriGeometry": "", + "uriVertex": "shaders/default-highp.vert" + }, + "typeName": "Material" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "dc228392-e269-4ab2-8937-d79e0aea3296" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "e1e5bd15-b9fc-4aba-90c5-dbcf723310e8", + "objectID": "dd8bcfc1-9c5b-4ace-9735-99daea7f3cad", + "objectName": "MeshNode", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.8 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 7 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "bakeMeshes": true, + "materialNames": { + "properties": [ + { + "typeName": "String", + "value": "material" + } + ] + }, + "meshIndex": 0, + "metaData": { + "order": [ + "meshInfo" + ], + "properties": { + "meshInfo": { + "annotations": [ + { + "typeName": "ReadOnlyAnnotation" + } + ], + "order": [ + "triangles", + "vertices" + ], + "properties": { + "triangles": { + "typeName": "Int", + "value": 4212 + }, + "vertices": { + "typeName": "Int", + "value": 2399 + } + }, + "typeName": "Table::ReadOnlyAnnotation" + } + } + }, + "objectID": "e1e5bd15-b9fc-4aba-90c5-dbcf723310e8", + "objectName": "Mesh", + "uri": "../../resources/meshes/Duck.glb" + }, + "typeName": "Mesh" + } + ], + "links": [ + ], + "racoVersion": [ + 2, + 1, + 0 + ], + "ramsesVersion": [ + 28, + 2, + 0 + ], + "structPropMap": { + "AnchorPointOutputs": { + "depth": "Double::DisplayNameAnnotation::LinkStartAnnotation", + "viewportCoords": "Vec2f::DisplayNameAnnotation::LinkStartAnnotation" + }, + "BlendOptions": { + "blendColor": "Vec4f::DisplayNameAnnotation", + "blendFactorDestAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorDestColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "colorWriteMask": "ColorWriteMask::DisplayNameAnnotation", + "cullmode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthFunction": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthwrite": "Bool::DisplayNameAnnotation", + "scissorOptions": "ScissorOptions::DisplayNameAnnotation", + "stencilOptions": "StencilOptions::DisplayNameAnnotation" + }, + "CameraViewport": { + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetX": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetY": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ColorWriteMask": { + "alpha": "Bool::DisplayNameAnnotation", + "blue": "Bool::DisplayNameAnnotation", + "green": "Bool::DisplayNameAnnotation", + "red": "Bool::DisplayNameAnnotation" + }, + "DefaultResourceDirectories": { + "imageSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "interfaceSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "meshSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "scriptSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "shaderSubdirectory": "String::DisplayNameAnnotation::URIAnnotation" + }, + "LuaStandardModuleSelection": { + "base": "Bool::DisplayNameAnnotation", + "debug": "Bool::DisplayNameAnnotation", + "math": "Bool::DisplayNameAnnotation", + "string": "Bool::DisplayNameAnnotation", + "table": "Bool::DisplayNameAnnotation" + }, + "OrthographicFrustum": { + "bottomPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "farPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "leftPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "nearPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "rightPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "topPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation" + }, + "ScissorOptions": { + "scissorEnable": "Bool::DisplayNameAnnotation", + "scissorRegion": "CameraViewport::DisplayNameAnnotation" + }, + "StencilOptions": { + "stencilFunc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilMask": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "stencilOpDepthFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpDepthSucc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpStencilFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilRef": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "TimerInput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkEndAnnotation" + }, + "TimerOutput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkStartAnnotation" + }, + "Vec2f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec2i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec3f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec3i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec4f": { + "w": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec4i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i4": "Int::DisplayNameAnnotation::RangeAnnotationInt" + } + }, + "userTypePropMap": { + "AnchorPoint": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "node": "Node::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "AnchorPointOutputs::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Animation": { + "animationChannels": "Array[AnimationChannelBase]::DisplayNameAnnotation::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "progress": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannel": { + "animationIndex": "Int::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "samplerIndex": "Int::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannelRaco": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "componentArraySize": "Int::DisplayNameAnnotation", + "componentType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "data": "Table::HiddenProperty", + "interpolationType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "BlitPass": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "destinationX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "destinationY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOrder": "Int::DisplayNameAnnotation", + "sourceRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "sourceY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "targetRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "targetRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation" + }, + "CubeMap": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "LuaInterface": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkStartAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScript": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScriptModule": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Material": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "options": "BlendOptions::DisplayNameAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "uniforms": "Table::DisplayNameAnnotation", + "uriDefines": "String::URIAnnotation::DisplayNameAnnotation", + "uriFragment": "String::URIAnnotation::DisplayNameAnnotation", + "uriGeometry": "String::URIAnnotation::DisplayNameAnnotation", + "uriVertex": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Mesh": { + "bakeMeshes": "Bool::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "materialNames": "Table::ArraySemanticAnnotation::HiddenProperty", + "meshIndex": "Int::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "MeshNode": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "instanceCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "materials": "Table::DisplayNameAnnotation", + "mesh": "Mesh::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Node": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "OrthographicCamera": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "frustum": "OrthographicFrustum::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "PerspectiveCamera": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "frustum": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "frustumType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Prefab": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "PrefabInstance": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "template": "Prefab::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ProjectSettings": { + "backgroundColor": "Vec4f::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "defaultResourceFolders": "DefaultResourceDirectories::DisplayNameAnnotation", + "featureLevel": "Int::DisplayNameAnnotation::ReadOnlyAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "pythonOnSaveScript": "String::DisplayNameAnnotation::URIAnnotation", + "saveAsZip": "Bool::DisplayNameAnnotation", + "sceneId": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "viewport": "Vec2i::DisplayNameAnnotation" + }, + "RenderBuffer": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "RenderBufferMS": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "sampleCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "RenderLayer": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "materialFilterMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "materialFilterTags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderableTags": "Table::RenderableTagContainerAnnotation::DisplayNameAnnotation", + "sortOrder": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderPass": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "clearColor": "Vec4f::DisplayNameAnnotation::LinkEndAnnotation", + "enableClearColor": "Bool::DisplayNameAnnotation", + "enableClearDepth": "Bool::DisplayNameAnnotation", + "enableClearStencil": "Bool::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "layers": "Array[RenderLayer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOnce": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "renderOrder": "Int::DisplayNameAnnotation::LinkEndAnnotation", + "target": "RenderTargetBase::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTarget": { + "buffers": "Array[RenderBuffer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTargetMS": { + "buffers": "Array[RenderBufferMS]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Skin": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "joints": "Array[Node]::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "skinIndex": "Int::DisplayNameAnnotation", + "targets": "Array[MeshNode]::DisplayNameAnnotation::ResizableArray", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Texture": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "flipTexture": "Bool::DisplayNameAnnotation", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uri": "String::URIAnnotation::DisplayNameAnnotation", + "level3uri": "String::URIAnnotation::DisplayNameAnnotation", + "level4uri": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "TextureExternal": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Timer": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "TimerInput::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "TimerOutput::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + } + } +} diff --git a/screenshot_tests/projects/merge-right.rca b/screenshot_tests/projects/merge-right.rca new file mode 100644 index 00000000..7ebc6884 --- /dev/null +++ b/screenshot_tests/projects/merge-right.rca @@ -0,0 +1,1662 @@ +{ + "externalProjects": { + }, + "featureLevel": 2, + "fileVersion": 2005, + "instances": [ + { + "properties": { + "enabled": true, + "frustum": { + "order": [ + "nearPlane", + "farPlane", + "fieldOfView", + "aspectRatio" + ], + "properties": { + "aspectRatio": { + "annotations": [ + { + "properties": { + "name": "aspectRatio" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 4, + "min": 0.5 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 2 + }, + "farPlane": { + "annotations": [ + { + "properties": { + "name": "farPlane" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 10000, + "min": 100 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 1000 + }, + "fieldOfView": { + "annotations": [ + { + "properties": { + "name": "fieldOfView" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 120, + "min": 10 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 35 + }, + "nearPlane": { + "annotations": [ + { + "properties": { + "name": "nearPlane" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 1, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 0.1 + } + } + }, + "frustumType": 0, + "objectID": "304aaf29-72fb-4108-9df5-9353e234c09c", + "objectName": "PerspectiveCamera", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 10 + } + }, + "viewport": { + "height": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + }, + "visibility": true + }, + "typeName": "PerspectiveCamera" + }, + { + "properties": { + "children": [ + "dd8bcfc1-9c5b-4ace-9735-99daea7f3cad" + ], + "enabled": true, + "objectID": "bcac3fc2-91a4-4be6-a345-1ca055e835f9", + "objectName": "Node", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "tags": { + "properties": [ + { + "typeName": "String", + "value": "render_main" + } + ] + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "backgroundColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "defaultResourceFolders": { + "imageSubdirectory": "images", + "interfaceSubdirectory": "interfaces", + "meshSubdirectory": "meshes", + "scriptSubdirectory": "scripts", + "shaderSubdirectory": "shaders" + }, + "featureLevel": 2, + "objectID": "ee85a4d6-4a4d-439e-85fe-e590dd9967cd", + "objectName": "merge-right", + "pythonOnSaveScript": "", + "saveAsZip": false, + "sceneId": { + "annotations": [ + { + "properties": { + "max": 1024, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 102 + }, + "viewport": { + "i1": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + }, + "i2": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + } + } + }, + "typeName": "ProjectSettings" + }, + { + "properties": { + "materialFilterMode": 1, + "objectID": "3256d315-0a3f-47bc-b42b-678a153fdc51", + "objectName": "MainRenderLayer", + "renderableTags": { + "order": [ + "render_main" + ], + "properties": { + "render_main": { + "annotations": [ + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Int::LinkEndAnnotation", + "value": 0 + } + } + }, + "sortOrder": 0 + }, + "typeName": "RenderLayer" + }, + { + "properties": { + "camera": "304aaf29-72fb-4108-9df5-9353e234c09c", + "clearColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "enableClearColor": true, + "enableClearDepth": true, + "enableClearStencil": true, + "enabled": true, + "layers": [ + "3256d315-0a3f-47bc-b42b-678a153fdc51", + null, + null, + null, + null, + null, + null, + null + ], + "objectID": "79f2e106-038a-4e6e-bdd8-42bd1033ab48", + "objectName": "MainRenderPass", + "renderOnce": false, + "renderOrder": 1, + "target": null + }, + "typeName": "RenderPass" + }, + { + "properties": { + "objectID": "dc228392-e269-4ab2-8937-d79e0aea3296", + "objectName": "Material", + "options": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "uriDefines": "", + "uriFragment": "shaders/default-highp.frag", + "uriGeometry": "", + "uriVertex": "shaders/default-highp.vert" + }, + "typeName": "Material" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "dc228392-e269-4ab2-8937-d79e0aea3296" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "e1e5bd15-b9fc-4aba-90c5-dbcf723310e8", + "objectID": "dd8bcfc1-9c5b-4ace-9735-99daea7f3cad", + "objectName": "MeshNode", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.8 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 7 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "bakeMeshes": true, + "materialNames": { + "properties": [ + { + "typeName": "String", + "value": "material" + } + ] + }, + "meshIndex": 0, + "metaData": { + "order": [ + "meshInfo" + ], + "properties": { + "meshInfo": { + "annotations": [ + { + "typeName": "ReadOnlyAnnotation" + } + ], + "order": [ + "triangles", + "vertices" + ], + "properties": { + "triangles": { + "typeName": "Int", + "value": 4212 + }, + "vertices": { + "typeName": "Int", + "value": 2399 + } + }, + "typeName": "Table::ReadOnlyAnnotation" + } + } + }, + "objectID": "e1e5bd15-b9fc-4aba-90c5-dbcf723310e8", + "objectName": "Mesh", + "uri": "../../resources/meshes/Duck.glb" + }, + "typeName": "Mesh" + } + ], + "links": [ + ], + "racoVersion": [ + 2, + 1, + 0 + ], + "ramsesVersion": [ + 28, + 2, + 0 + ], + "structPropMap": { + "AnchorPointOutputs": { + "depth": "Double::DisplayNameAnnotation::LinkStartAnnotation", + "viewportCoords": "Vec2f::DisplayNameAnnotation::LinkStartAnnotation" + }, + "BlendOptions": { + "blendColor": "Vec4f::DisplayNameAnnotation", + "blendFactorDestAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorDestColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "colorWriteMask": "ColorWriteMask::DisplayNameAnnotation", + "cullmode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthFunction": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthwrite": "Bool::DisplayNameAnnotation", + "scissorOptions": "ScissorOptions::DisplayNameAnnotation", + "stencilOptions": "StencilOptions::DisplayNameAnnotation" + }, + "CameraViewport": { + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetX": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetY": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ColorWriteMask": { + "alpha": "Bool::DisplayNameAnnotation", + "blue": "Bool::DisplayNameAnnotation", + "green": "Bool::DisplayNameAnnotation", + "red": "Bool::DisplayNameAnnotation" + }, + "DefaultResourceDirectories": { + "imageSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "interfaceSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "meshSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "scriptSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "shaderSubdirectory": "String::DisplayNameAnnotation::URIAnnotation" + }, + "LuaStandardModuleSelection": { + "base": "Bool::DisplayNameAnnotation", + "debug": "Bool::DisplayNameAnnotation", + "math": "Bool::DisplayNameAnnotation", + "string": "Bool::DisplayNameAnnotation", + "table": "Bool::DisplayNameAnnotation" + }, + "OrthographicFrustum": { + "bottomPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "farPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "leftPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "nearPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "rightPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "topPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation" + }, + "ScissorOptions": { + "scissorEnable": "Bool::DisplayNameAnnotation", + "scissorRegion": "CameraViewport::DisplayNameAnnotation" + }, + "StencilOptions": { + "stencilFunc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilMask": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "stencilOpDepthFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpDepthSucc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpStencilFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilRef": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "TimerInput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkEndAnnotation" + }, + "TimerOutput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkStartAnnotation" + }, + "Vec2f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec2i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec3f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec3i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec4f": { + "w": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec4i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i4": "Int::DisplayNameAnnotation::RangeAnnotationInt" + } + }, + "userTypePropMap": { + "AnchorPoint": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "node": "Node::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "AnchorPointOutputs::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Animation": { + "animationChannels": "Array[AnimationChannelBase]::DisplayNameAnnotation::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "progress": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannel": { + "animationIndex": "Int::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "samplerIndex": "Int::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannelRaco": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "componentArraySize": "Int::DisplayNameAnnotation", + "componentType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "data": "Table::HiddenProperty", + "interpolationType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "BlitPass": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "destinationX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "destinationY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOrder": "Int::DisplayNameAnnotation", + "sourceRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "sourceY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "targetRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "targetRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation" + }, + "CubeMap": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "LuaInterface": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkStartAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScript": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScriptModule": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Material": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "options": "BlendOptions::DisplayNameAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "uniforms": "Table::DisplayNameAnnotation", + "uriDefines": "String::URIAnnotation::DisplayNameAnnotation", + "uriFragment": "String::URIAnnotation::DisplayNameAnnotation", + "uriGeometry": "String::URIAnnotation::DisplayNameAnnotation", + "uriVertex": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Mesh": { + "bakeMeshes": "Bool::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "materialNames": "Table::ArraySemanticAnnotation::HiddenProperty", + "meshIndex": "Int::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "MeshNode": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "instanceCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "materials": "Table::DisplayNameAnnotation", + "mesh": "Mesh::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Node": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "OrthographicCamera": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "frustum": "OrthographicFrustum::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "PerspectiveCamera": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "frustum": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "frustumType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Prefab": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "PrefabInstance": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "template": "Prefab::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ProjectSettings": { + "backgroundColor": "Vec4f::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "defaultResourceFolders": "DefaultResourceDirectories::DisplayNameAnnotation", + "featureLevel": "Int::DisplayNameAnnotation::ReadOnlyAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "pythonOnSaveScript": "String::DisplayNameAnnotation::URIAnnotation", + "saveAsZip": "Bool::DisplayNameAnnotation", + "sceneId": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "viewport": "Vec2i::DisplayNameAnnotation" + }, + "RenderBuffer": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "RenderBufferMS": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "sampleCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "RenderLayer": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "materialFilterMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "materialFilterTags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderableTags": "Table::RenderableTagContainerAnnotation::DisplayNameAnnotation", + "sortOrder": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderPass": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "clearColor": "Vec4f::DisplayNameAnnotation::LinkEndAnnotation", + "enableClearColor": "Bool::DisplayNameAnnotation", + "enableClearDepth": "Bool::DisplayNameAnnotation", + "enableClearStencil": "Bool::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "layers": "Array[RenderLayer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOnce": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "renderOrder": "Int::DisplayNameAnnotation::LinkEndAnnotation", + "target": "RenderTargetBase::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTarget": { + "buffers": "Array[RenderBuffer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTargetMS": { + "buffers": "Array[RenderBufferMS]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Skin": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "joints": "Array[Node]::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "skinIndex": "Int::DisplayNameAnnotation", + "targets": "Array[MeshNode]::DisplayNameAnnotation::ResizableArray", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Texture": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "flipTexture": "Bool::DisplayNameAnnotation", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uri": "String::URIAnnotation::DisplayNameAnnotation", + "level3uri": "String::URIAnnotation::DisplayNameAnnotation", + "level4uri": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "TextureExternal": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Timer": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "TimerInput::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "TimerOutput::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + } + } +} diff --git a/screenshot_tests/projects/meshes/cube.gltf b/screenshot_tests/projects/meshes/cube.gltf new file mode 100644 index 00000000..62293d44 --- /dev/null +++ b/screenshot_tests/projects/meshes/cube.gltf @@ -0,0 +1,160 @@ +{ + "asset" : { + "generator" : "Khronos glTF Blender I/O v1.6.16", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 0, + 1, + 2 + ] + } + ], + "nodes" : [ + { + "mesh" : 0, + "name" : "Cube" + }, + { + "name" : "Light", + "rotation" : [ + 0.16907575726509094, + 0.27217137813568115, + 0.7558803558349609, + 0.570947527885437 + ], + "translation" : [ + 4.076245307922363, + 1.0054539442062378, + 5.903861999511719 + ] + }, + { + "camera" : 0, + "name" : "Camera", + "rotation" : [ + 0.483536034822464, + 0.20870360732078552, + 0.33687159419059753, + 0.7804827094078064 + ], + "translation" : [ + 7.358891487121582, + -6.925790786743164, + 4.958309173583984 + ] + } + ], + "cameras" : [ + { + "name" : "Camera", + "perspective" : { + "aspectRatio" : 1.7777777777777777, + "yfov" : 0.39959652046304894, + "zfar" : 100, + "znear" : 0.10000000149011612 + }, + "type" : "perspective" + } + ], + "materials" : [ + { + "doubleSided" : true, + "name" : "Material", + "pbrMetallicRoughness" : { + "baseColorFactor" : [ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor" : 0, + "roughnessFactor" : 0.4000000059604645 + } + } + ], + "meshes" : [ + { + "name" : "Cube", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2 + }, + "indices" : 3, + "material" : 0 + } + ] + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 24, + "max" : [ + 1, + 1, + 1 + ], + "min" : [ + -1, + -1, + -1 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 24, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 24, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5123, + "count" : 36, + "type" : "SCALAR" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 288, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 288, + "byteOffset" : 288 + }, + { + "buffer" : 0, + "byteLength" : 192, + "byteOffset" : 576 + }, + { + "buffer" : 0, + "byteLength" : 72, + "byteOffset" : 768 + } + ], + "buffers" : [ + { + "byteLength" : 840, + "uri" : "data:application/octet-stream;base64,AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AAAAAAAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAAAAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAAAAAACAPwAAAAAAAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AACAPwAAAAAAAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIC/AACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAAAAAACAvwAAAAAAAAAAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAAAAAACAvwAAAAAAAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AACAvwAAAAAAAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIC/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AAGA/AAAAPwAAID8AAEA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAMA+AAAAAAAAAD4AAIA+AAANABQAAAAUAAcACQAGABMACQATABYAFQASAAwAFQAMAA8AEAADAAoAEAAKABcABQACAAgABQAIAAsAEQAOAAEAEQABAAQA" + } + ] +} diff --git a/screenshot_tests/projects/meshes/monkey.gltf b/screenshot_tests/projects/meshes/monkey.gltf new file mode 100644 index 00000000..8ce086b6 --- /dev/null +++ b/screenshot_tests/projects/meshes/monkey.gltf @@ -0,0 +1,118 @@ +{ + "asset" : { + "generator" : "Khronos glTF Blender I/O v1.4.40", + "version" : "2.0" + }, + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 0, + 1, + 2 + ] + } + ], + "nodes" : [ + { + "name" : "Light", + "rotation" : [ + 0.16907575726509094, + 0.7558803558349609, + -0.27217137813568115, + 0.570947527885437 + ], + "translation" : [ + 4.076245307922363, + 5.903861999511719, + -1.0054539442062378 + ] + }, + { + "name" : "Camera", + "rotation" : [ + 0.483536034822464, + 0.33687159419059753, + -0.20870360732078552, + 0.7804827094078064 + ], + "translation" : [ + 7.358891487121582, + 4.958309173583984, + 6.925790786743164 + ] + }, + { + "mesh" : 0, + "name" : "Suzanne" + } + ], + "meshes" : [ + { + "name" : "Suzanne", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1 + }, + "indices" : 2 + } + ] + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 1966, + "max" : [ + 1.3671875, + 0.984375, + 0.8515625 + ], + "min" : [ + -1.3671875, + -0.984375, + -0.8515625 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 1966, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5123, + "count" : 2904, + "type" : "SCALAR" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 23592, + "byteOffset" : 0 + }, + { + "buffer" : 0, + "byteLength" : 23592, + "byteOffset" : 23592 + }, + { + "buffer" : 0, + "byteLength" : 5808, + "byteOffset" : 47184 + } + ], + "buffers" : [ + { + "byteLength" : 52992, + "uri" : "data:application/octet-stream;base64,AADgPgAAKD4AAEQ/AADgPgAAKD4AAEQ/AADgPgAAKD4AAEQ/AADgPgAAKD4AAEQ/AADgvgAAKD4AAEQ/AADgvgAAKD4AAEQ/AADgvgAAKD4AAEQ/AADgvgAAKD4AAEQ/AAAAPwAAwD0AADA/AAAAPwAAwD0AADA/AAAAPwAAwD0AADA/AAAAPwAAwD0AADA/AAAAvwAAwD0AADA/AAAAvwAAwD0AADA/AAAAvwAAwD0AADA/AAAAvwAAwD0AADA/AAAMPwAAYD0AABQ/AAAMPwAAYD0AABQ/AAAMvwAAYD0AABQ/AAAMvwAAYD0AABQ/AAC0PgAAwLwAAB4/AAC0PgAAwLwAAB4/AAC0vgAAwLwAAB4/AAC0vgAAwLwAAB4/AAC0PgAAAD0AADg/AAC0PgAAAD0AADg/AAC0PgAAAD0AADg/AAC0PgAAAD0AADg/AAC0vgAAAD0AADg/AAC0vgAAAD0AADg/AAC0vgAAAD0AADg/AAC0vgAAAD0AADg/AAC0PgAACD4AAEg/AAC0PgAACD4AAEg/AAC0PgAACD4AAEg/AAC0PgAACD4AAEg/AAC0vgAACD4AAEg/AAC0vgAACD4AAEg/AAC0vgAACD4AAEg/AAC0vgAACD4AAEg/AACMPgAAKD4AAEw/AACMPgAAKD4AAEw/AACMPgAAKD4AAEw/AACMPgAAKD4AAEw/AACMvgAAKD4AAEw/AACMvgAAKD4AAEw/AACMvgAAKD4AAEw/AACMvgAAKD4AAEw/AABQPgAAwD0AAD4/AABQPgAAwD0AAD4/AABQPgAAwD0AAD4/AABQPgAAwD0AAD4/AABQvgAAwD0AAD4/AABQvgAAwD0AAD4/AABQvgAAwD0AAD4/AABQvgAAwD0AAD4/AAAgPgAAYD0AACY/AAAgPgAAYD0AACY/AAAgvgAAYD0AACY/AAAgvgAAYD0AACY/AACgPQAAeD4AACg/AACgPQAAeD4AACg/AACgvQAAeD4AACg/AACgvQAAeD4AACg/AAAQPgAAeD4AAD4/AAAQPgAAeD4AAD4/AAAQPgAAeD4AAD4/AAAQPgAAeD4AAD4/AAAQvgAAeD4AAD4/AAAQvgAAeD4AAD4/AAAQvgAAeD4AAD4/AAAQvgAAeD4AAD4/AAB4PgAAeD4AAEw/AAB4PgAAeD4AAEw/AAB4PgAAeD4AAEw/AAB4PgAAeD4AAEw/AAB4vgAAeD4AAEw/AAB4vgAAeD4AAEw/AAB4vgAAeD4AAEw/AAB4vgAAeD4AAEw/AACMPgAAqD4AAEw/AACMPgAAqD4AAEw/AACMPgAAqD4AAEw/AACMPgAAqD4AAEw/AACMvgAAqD4AAEw/AACMvgAAqD4AAEw/AACMvgAAqD4AAEw/AACMvgAAqD4AAEw/AABQPgAAyD4AAD4/AABQPgAAyD4AAD4/AABQPgAAyD4AAD4/AABQPgAAyD4AAD4/AABQvgAAyD4AAD4/AABQvgAAyD4AAD4/AABQvgAAyD4AAD4/AABQvgAAyD4AAD4/AAAgPgAA4D4AACY/AAAgPgAA4D4AACY/AAAgvgAA4D4AACY/AAAgvgAA4D4AACY/AAC0PgAABD8AAB4/AAC0PgAABD8AAB4/AAC0vgAABD8AAB4/AAC0vgAABD8AAB4/AAC0PgAA6D4AADg/AAC0PgAA6D4AADg/AAC0PgAA6D4AADg/AAC0PgAA6D4AADg/AAC0vgAA6D4AADg/AAC0vgAA6D4AADg/AAC0vgAA6D4AADg/AAC0vgAA6D4AADg/AAC0PgAAuD4AAEg/AAC0PgAAuD4AAEg/AAC0PgAAuD4AAEg/AAC0PgAAuD4AAEg/AAC0vgAAuD4AAEg/AAC0vgAAuD4AAEg/AAC0vgAAuD4AAEg/AAC0vgAAuD4AAEg/AADgPgAAqD4AAEQ/AADgPgAAqD4AAEQ/AADgPgAAqD4AAEQ/AADgPgAAqD4AAEQ/AADgvgAAqD4AAEQ/AADgvgAAqD4AAEQ/AADgvgAAqD4AAEQ/AADgvgAAqD4AAEQ/AAAAPwAAyD4AADA/AAAAPwAAyD4AADA/AAAAPwAAyD4AADA/AAAAPwAAyD4AADA/AAAAvwAAyD4AADA/AAAAvwAAyD4AADA/AAAAvwAAyD4AADA/AAAAvwAAyD4AADA/AAAMPwAA4D4AABQ/AAAMPwAA4D4AABQ/AAAMvwAA4D4AABQ/AAAMvwAA4D4AABQ/AAAgPwAAeD4AABA/AAAgPwAAeD4AABA/AAAgvwAAeD4AABA/AAAgvwAAeD4AABA/AAAQPwAAeD4AACw/AAAQPwAAeD4AACw/AAAQPwAAeD4AACw/AAAQPwAAeD4AACw/AAAQvwAAeD4AACw/AAAQvwAAeD4AACw/AAAQvwAAeD4AACw/AAAQvwAAeD4AACw/AADwPgAAeD4AAEI/AADwPgAAeD4AAEI/AADwPgAAeD4AAEI/AADwPgAAeD4AAEI/AADwvgAAeD4AAEI/AADwvgAAeD4AAEI/AADwvgAAeD4AAEI/AADwvgAAeD4AAEI/AAD0PgAAeD4AAEY/AAD0PgAAeD4AAEY/AAD0PgAAeD4AAEY/AAD0PgAAeD4AAEY/AAD0vgAAeD4AAEY/AAD0vgAAeD4AAEY/AAD0vgAAeD4AAEY/AAD0vgAAeD4AAEY/AADkPgAArD4AAEg/AADkPgAArD4AAEg/AADkPgAArD4AAEg/AADkPgAArD4AAEg/AADkvgAArD4AAEg/AADkvgAArD4AAEg/AADkvgAArD4AAEg/AADkvgAArD4AAEg/AAC0PgAAwD4AAE4/AAC0PgAAwD4AAE4/AAC0PgAAwD4AAE4/AAC0PgAAwD4AAE4/AAC0vgAAwD4AAE4/AAC0vgAAwD4AAE4/AAC0vgAAwD4AAE4/AAC0vgAAwD4AAE4/AACIPgAArD4AAFI/AACIPgAArD4AAFI/AACIPgAArD4AAFI/AACIPgAArD4AAFI/AACIvgAArD4AAFI/AACIvgAArD4AAFI/AACIvgAArD4AAFI/AACIvgAArD4AAFI/AABoPgAAeD4AAFI/AABoPgAAeD4AAFI/AABoPgAAeD4AAFI/AABoPgAAeD4AAFI/AABovgAAeD4AAFI/AABovgAAeD4AAFI/AABovgAAeD4AAFI/AABovgAAeD4AAFI/AACIPgAAID4AAFI/AACIPgAAID4AAFI/AACIPgAAID4AAFI/AACIPgAAID4AAFI/AACIvgAAID4AAFI/AACIvgAAID4AAFI/AACIvgAAID4AAFI/AACIvgAAID4AAFI/AAC0PgAAeD4AAFQ/AAC0PgAAeD4AAFQ/AAC0PgAAeD4AAFQ/AAC0PgAAeD4AAFQ/AAC0PgAAeD4AAFQ/AAC0PgAAeD4AAFQ/AAC0PgAAeD4AAFQ/AAC0PgAAeD4AAFQ/AAC0vgAAeD4AAFQ/AAC0vgAAeD4AAFQ/AAC0vgAAeD4AAFQ/AAC0vgAAeD4AAFQ/AAC0vgAAeD4AAFQ/AAC0vgAAeD4AAFQ/AAC0vgAAeD4AAFQ/AAC0vgAAeD4AAFQ/AAC0PgAA8D0AAE4/AAC0PgAA8D0AAE4/AAC0PgAA8D0AAE4/AAC0PgAA8D0AAE4/AAC0vgAA8D0AAE4/AAC0vgAA8D0AAE4/AAC0vgAA8D0AAE4/AAC0vgAA8D0AAE4/AADkPgAAID4AAEg/AADkPgAAID4AAEg/AADkPgAAID4AAEg/AADkPgAAID4AAEg/AADkvgAAID4AAEg/AADkvgAAID4AAEg/AADkvgAAID4AAEg/AADkvgAAID4AAEg/AAAAAAAA3D4AAD4/AAAAAAAA3D4AAD4/AAAAAAAA3D4AAD4/AAAAAAAA3D4AAD4/AAAAAAAAtD4AAFI/AAAAAAAAtD4AAFI/AAAAAAAAtD4AAFI/AAAAAAAAtD4AAFI/AAAAAAAAtD4AAFI/AAAAAAAAtD4AAFI/AAAAAAAALr8AADw/AAAAAAAALr8AADw/AAAAAAAALr8AADw/AAAAAAAApL4AAEg/AAAAAAAApL4AAEg/AAAAAAAApL4AAEg/AAAAAAAApL4AAEg/AAAAAAAAQL4AAEw/AAAAAAAAQL4AAEw/AAAAAAAAQL4AAEw/AAAAAAAAQL4AAEw/AAAAAAAARr8AADg/AAAAAAAARr8AADg/AAAAAAAARr8AADg/AAAAAAAARr8AADg/AAAAAAAA0D4AABo/AAAAAAAA0D4AABo/AAAAAAAA0D4AABo/AAAAAAAA0D4AABo/AAAAAAAAEj8AABI/AAAAAAAAEj8AABI/AAAAAAAAEj8AABI/AAAAAAAAEj8AABI/AAAAAAAAEj8AABI/AAAAAAAAEj8AABI/AAAAAAAAZj8AAAy/AAAAAAAAZj8AAAy/AAAAAAAAZj8AAAy/AAAAAAAAZj8AAAy/AAAAAAAAED8AAFq/AAAAAAAAED8AAFq/AAAAAAAAED8AAFq/AAAAAAAAED8AAFq/AAAAAAAAkD0AAFS/AAAAAAAAkD0AAFS/AAAAAAAAkD0AAFS/AAAAAAAAkD0AAFS/AAAAAAAAxL4AALS+AAAAAAAAxL4AALS+AAAAAAAAxL4AALS+AAAAAAAAxL4AALS+AABQPgAAQL4AABA/AABQPgAAQL4AABA/AABQPgAAQL4AABA/AABQPgAAQL4AABA/AABQvgAAQL4AABA/AABQvgAAQL4AABA/AABQvgAAQL4AABA/AABQvgAAQL4AABA/AACgPgAA4L4AABI/AACgPgAA4L4AABI/AACgPgAA4L4AABI/AACgPgAA4L4AABI/AACgvgAA4L4AABI/AACgvgAA4L4AABI/AACgvgAA4L4AABI/AACgvgAA4L4AABI/AAC0PgAAMr8AABI/AAC0PgAAMr8AABI/AAC0PgAAMr8AABI/AAC0PgAAMr8AABI/AAC0vgAAMr8AABI/AAC0vgAAMr8AABI/AAC0vgAAMr8AABI/AAC0vgAAMr8AABI/AAC8PgAAZL8AAAg/AAC8PgAAZL8AAAg/AAC8PgAAZL8AAAg/AAC8PgAAZL8AAAg/AAC8vgAAZL8AAAg/AAC8vgAAZL8AAAg/AAC8vgAAZL8AAAg/AAC8vgAAZL8AAAg/AACoPgAAcr8AAAY/AACoPgAAcr8AAAY/AACoPgAAcr8AAAY/AACoPgAAcr8AAAY/AACovgAAcr8AAAY/AACovgAAcr8AAAY/AACovgAAcr8AAAY/AACovgAAcr8AAAY/AAA4PgAAeL8AAA4/AAA4PgAAeL8AAA4/AAA4PgAAeL8AAA4/AAA4PgAAeL8AAA4/AAA4vgAAeL8AAA4/AAA4vgAAeL8AAA4/AAA4vgAAeL8AAA4/AAA4vgAAeL8AAA4/AAAAAAAAfL8AABQ/AAAAAAAAfL8AABQ/AAAAAAAAfL8AABQ/AAAAAAAAfL8AABQ/AADgPgAAEL4AAAg/AADgPgAAEL4AAAg/AADgPgAAEL4AAAg/AADgPgAAEL4AAAg/AADgvgAAEL4AAAg/AADgvgAAEL4AAAg/AADgvgAAEL4AAAg/AADgvgAAEL4AAAg/AAAiPwAAIL0AAAo/AAAiPwAAIL0AAAo/AAAiPwAAIL0AAAo/AAAiPwAAIL0AAAo/AAAivwAAIL0AAAo/AAAivwAAIL0AAAo/AAAivwAAIL0AAAo/AAAivwAAIL0AAAo/AABUPwAAGD4AAOQ+AABUPwAAGD4AAOQ+AABUPwAAGD4AAOQ+AABUPwAAGD4AAOQ+AABUvwAAGD4AAOQ+AABUvwAAGD4AAOQ+AABUvwAAGD4AAOQ+AABUvwAAGD4AAOQ+AABcPwAA3D4AABg/AABcPwAA3D4AABg/AABcPwAA3D4AABg/AABcPwAA3D4AABg/AABcvwAA3D4AABg/AABcvwAA3D4AABg/AABcvwAA3D4AABg/AABcvwAA3D4AABg/AAA2PwAA+D4AACA/AAA2PwAA+D4AACA/AAA2PwAA+D4AACA/AAA2PwAA+D4AACA/AAA2vwAA+D4AACA/AAA2vwAA+D4AACA/AAA2vwAA+D4AACA/AAA2vwAA+D4AACA/AAD8PgAAGj8AADA/AAD8PgAAGj8AADA/AAD8PgAAGj8AADA/AAD8PgAAGj8AADA/AAD8vgAAGj8AADA/AAD8vgAAGj8AADA/AAD8vgAAGj8AADA/AAD8vgAAGj8AADA/AACkPgAAQj8AADw/AACkPgAAQj8AADw/AACkPgAAQj8AADw/AACkPgAAQj8AADw/AACkvgAAQj8AADw/AACkvgAAQj8AADw/AACkvgAAQj8AADw/AACkvgAAQj8AADw/AAAgPgAAOD8AAEI/AAAgPgAAOD8AAEI/AAAgPgAAOD8AAEI/AAAgPgAAOD8AAEI/AAAgvgAAOD8AAEI/AAAgvgAAOD8AAEI/AAAgvgAAOD8AAEI/AAAgvgAAOD8AAEI/AACAPQAA/D4AAEA/AACAPQAA/D4AAEA/AACAPQAA/D4AAEA/AACAPQAA/D4AAEA/AACAvQAA/D4AAEA/AACAvQAA/D4AAEA/AACAvQAA/D4AAEA/AACAvQAA/D4AAEA/AAAoPgAA1D4AAEY/AAAoPgAA1D4AAEY/AAAoPgAA1D4AAEY/AAAoPgAA1D4AAEY/AAAovgAA1D4AAEY/AAAovgAA1D4AAEY/AAAovgAA1D4AAEY/AAAovgAA1D4AAEY/AAAAPgAAnD4AAEQ/AAAAPgAAnD4AAEQ/AAAAPgAAnD4AAEQ/AAAAPgAAnD4AAEQ/AAAAvgAAnD4AAEQ/AAAAvgAAnD4AAEQ/AAAAvgAAnD4AAEQ/AAAAvgAAnD4AAEQ/AABQPgAAwD0AAD4/AABQPgAAwD0AAD4/AABQPgAAwD0AAD4/AABQPgAAwD0AAD4/AABQvgAAwD0AAD4/AABQvgAAwD0AAD4/AABQvgAAwD0AAD4/AABQvgAAwD0AAD4/AADAPgAAgDwAADQ/AADAPgAAgDwAADQ/AADAPgAAgDwAADQ/AADAPgAAgDwAADQ/AADAvgAAgDwAADQ/AADAvgAAgDwAADQ/AADAvgAAgDwAADQ/AADAvgAAgDwAADQ/AAD8PgAAgD0AACw/AAD8PgAAgD0AACw/AAD8PgAAgD0AACw/AAD8PgAAgD0AACw/AAD8vgAAgD0AACw/AAD8vgAAgD0AACw/AAD8vgAAgD0AACw/AAD8vgAAgD0AACw/AAAgPwAAQD4AACY/AAAgPwAAQD4AACY/AAAgPwAAQD4AACY/AAAgPwAAQD4AACY/AAAgvwAAQD4AACY/AAAgvwAAQD4AACY/AAAgvwAAQD4AACY/AAAgvwAAQD4AACY/AAAkPwAAmD4AACY/AAAkPwAAmD4AACY/AAAkPwAAmD4AACY/AAAkPwAAmD4AACY/AAAkvwAAmD4AACY/AAAkvwAAmD4AACY/AAAkvwAAmD4AACY/AAAkvwAAmD4AACY/AAAaPwAAwD4AACo/AAAaPwAAwD4AACo/AAAaPwAAwD4AACo/AAAaPwAAwD4AACo/AAAavwAAwD4AACo/AAAavwAAwD4AACo/AAAavwAAwD4AACo/AAAavwAAwD4AACo/AADcPgAA4D4AADg/AADcPgAA4D4AADg/AADcPgAA4D4AADg/AADcPgAA4D4AADg/AADcvgAA4D4AADg/AADcvgAA4D4AADg/AADcvgAA4D4AADg/AADcvgAA4D4AADg/AACAPgAA8D4AAEI/AACAPgAA8D4AAEI/AACAPgAA8D4AAEI/AACAPgAA8D4AAEI/AACAvgAA8D4AAEI/AACAvgAA8D4AAEI/AACAvgAA8D4AAEI/AACAvgAA8D4AAEI/AAAAAAAARL8AADw/AAAAAAAARL8AADw/AAAAAAAARL8AADw/AADgPQAAOL8AADw/AADgPQAAOL8AADw/AADgPQAAOL8AADw/AADgPQAAOL8AADw/AADgPQAAOL8AADw/AADgvQAAOL8AADw/AADgvQAAOL8AADw/AADgvQAAOL8AADw/AADgvQAAOL8AADw/AADgvQAAOL8AADw/AADwPQAAVr8AADY/AADwPQAAVr8AADY/AADwPQAAVr8AADY/AADwPQAAVr8AADY/AADwvQAAVr8AADY/AADwvQAAVr8AADY/AADwvQAAVr8AADY/AADwvQAAVr8AADY/AACAPQAAYr8AADI/AACAPQAAYr8AADI/AACAPQAAYr8AADI/AACAPQAAYr8AADI/AACAvQAAYr8AADI/AACAvQAAYr8AADI/AACAvQAAYr8AADI/AACAvQAAYr8AADI/AAAAAAAAZL8AADA/AAAAAAAAZL8AADA/AAAAAAAAZL8AADA/AAAAAAAAZL8AADA/AAAAAAAASL4AAEA/AAAAAAAASL4AAEA/AAAAAAAAEL4AAD4/AAAAAAAAEL4AAD4/AAAAAAAAEL4AAD4/AAAAAAAAEL4AAD4/AAAAAAAAEL4AAD4/AAAAAAAAEL4AAD4/AADQPQAAGL4AAD4/AADQPQAAGL4AAD4/AADQPQAAGL4AAD4/AADQPQAAGL4AAD4/AADQvQAAGL4AAD4/AADQvQAAGL4AAD4/AADQvQAAGL4AAD4/AADQvQAAGL4AAD4/AAAAPgAAaL4AAEA/AAAAPgAAaL4AAEA/AAAAPgAAaL4AAEA/AAAAPgAAaL4AAEA/AAAAvgAAaL4AAEA/AAAAvgAAaL4AAEA/AAAAvgAAaL4AAEA/AAAAvgAAaL4AAEA/AACwPQAAlL4AAD4/AACwPQAAlL4AAD4/AACwPQAAlL4AAD4/AACwPQAAlL4AAD4/AACwPQAAlL4AAD4/AACwvQAAlL4AAD4/AACwvQAAlL4AAD4/AACwvQAAlL4AAD4/AACwvQAAlL4AAD4/AACwvQAAlL4AAD4/AADMPgAAQL0AACw/AADMPgAAQL0AACw/AADMPgAAQL0AACw/AADMPgAAQL0AACw/AADMvgAAQL0AACw/AADMvgAAQL0AACw/AADMvgAAQL0AACw/AADMvgAAQL0AACw/AAAePwAAYD0AACA/AAAePwAAYD0AACA/AAAePwAAYD0AACA/AAAePwAAYD0AACA/AAAevwAAYD0AACA/AAAevwAAYD0AACA/AAAevwAAYD0AACA/AAAevwAAYD0AACA/AAA6PwAAUD4AABo/AAA6PwAAUD4AABo/AAA6PwAAUD4AABo/AAA6PwAAUD4AABo/AAA6vwAAUD4AABo/AAA6vwAAUD4AABo/AAA6vwAAUD4AABo/AAA6vwAAUD4AABo/AAA+PwAAwD4AACg/AAA+PwAAwD4AACg/AAA+PwAAwD4AACg/AAA+PwAAwD4AACg/AAA+vwAAwD4AACg/AAA+vwAAwD4AACg/AAA+vwAAwD4AACg/AAA+vwAAwD4AACg/AAAwPwAA1D4AADo/AAAwPwAA1D4AADo/AAAwPwAA1D4AADo/AAAwPwAA1D4AADo/AAAwvwAA1D4AADo/AAAwvwAA1D4AADo/AAAwvwAA1D4AADo/AAAwvwAA1D4AADo/AADgPgAADD8AAEw/AADgPgAADD8AAEw/AADgPgAADD8AAEw/AADgPgAADD8AAEw/AADgvgAADD8AAEw/AADgvgAADD8AAEw/AADgvgAADD8AAEw/AADgvgAADD8AAEw/AACgPgAAJD8AAFY/AACgPgAAJD8AAFY/AACgPgAAJD8AAFY/AACgPgAAJD8AAFY/AACgvgAAJD8AAFY/AACgvgAAJD8AAFY/AACgvgAAJD8AAFY/AACgvgAAJD8AAFY/AABQPgAAHj8AAFo/AABQPgAAHj8AAFo/AABQPgAAHj8AAFo/AABQPgAAHj8AAFo/AABQvgAAHj8AAFo/AABQvgAAHj8AAFo/AABQvgAAHj8AAFo/AABQvgAAHj8AAFo/AADQPQAA3D4AAFg/AADQPQAA3D4AAFg/AADQPQAA3D4AAFg/AADQPQAA3D4AAFg/AADQvQAA3D4AAFg/AADQvQAA3D4AAFg/AADQvQAA3D4AAFg/AADQvQAA3D4AAFg/AAAAPgAA0L0AAFA/AAAAPgAA0L0AAFA/AAAAPgAA0L0AAFA/AAAAPgAA0L0AAFA/AAAAPgAA0L0AAFA/AAAAPgAA0L0AAFA/AAAAvgAA0L0AAFA/AAAAvgAA0L0AAFA/AAAAvgAA0L0AAFA/AAAAvgAA0L0AAFA/AAAAvgAA0L0AAFA/AAAAvgAA0L0AAFA/AABYPgAA5L4AADY/AABYPgAA5L4AADY/AABYPgAA5L4AADY/AABYPgAA5L4AADY/AABYvgAA5L4AADY/AABYvgAA5L4AADY/AABYvgAA5L4AADY/AABYvgAA5L4AADY/AACAPgAANL8AADA/AACAPgAANL8AADA/AACAPgAANL8AADA/AACAPgAANL8AADA/AACAvgAANL8AADA/AACAvgAANL8AADA/AACAvgAANL8AADA/AACAvgAANL8AADA/AACIPgAAUr8AACo/AACIPgAAUr8AACo/AACIPgAAUr8AACo/AACIPgAAUr8AACo/AACIvgAAUr8AACo/AACIvgAAUr8AACo/AACIvgAAUr8AACo/AACIvgAAUr8AACo/AABwPgAAar8AACI/AABwPgAAar8AACI/AABwPgAAar8AACI/AABwPgAAar8AACI/AABwvgAAar8AACI/AABwvgAAar8AACI/AABwvgAAar8AACI/AABwvgAAar8AACI/AAAoPgAAbr8AACI/AAAoPgAAbr8AACI/AAAoPgAAbr8AACI/AAAoPgAAbr8AACI/AAAovgAAbr8AACI/AAAovgAAbr8AACI/AAAovgAAbr8AACI/AAAovgAAbr8AACI/AAAAAAAAcr8AACQ/AAAAAAAAcr8AACQ/AAAAAAAAcr8AACQ/AAAAAAAAcr8AACQ/AAAAAAAAQD0AADo/AAAAAAAAQD0AADo/AAAAAAAAQD0AADo/AAAAAAAAQD0AADo/AAAAAAAAQD0AADo/AAAAAAAAQD0AADo/AAAAAAAAWD4AAEQ/AAAAAAAAWD4AAEQ/AAAAAAAAWD4AAEQ/AAAAAAAAWD4AAEQ/AACoPgAA9D4AAD4/AACoPgAA9D4AAD4/AACoPgAA9D4AAD4/AACoPgAA9D4AAD4/AACovgAA9D4AAD4/AACovgAA9D4AAD4/AACovgAA9D4AAD4/AACovgAA9D4AAD4/AAAoPgAAED4AAEA/AAAoPgAAED4AAEA/AAAoPgAAED4AAEA/AAAoPgAAED4AAEA/AAAovgAAED4AAEA/AAAovgAAED4AAEA/AAAovgAAED4AAEA/AAAovgAAED4AAEA/AAAIPgAAWD4AAEI/AAAIPgAAWD4AAEI/AAAIPgAAWD4AAEI/AAAIPgAAWD4AAEI/AAAIvgAAWD4AAEI/AAAIvgAAWD4AAEI/AAAIvgAAWD4AAEI/AAAIvgAAWD4AAEI/AADwPQAAML8AADw/AADwPQAAML8AADw/AADwPQAAML8AADw/AADwPQAAML8AADw/AADwvQAAML8AADw/AADwvQAAML8AADw/AADwvQAAML8AADw/AADwvQAAML8AADw/AACgPQAA5L4AAEA/AACgPQAA5L4AAEA/AACgPQAA5L4AAEA/AACgPQAA5L4AAEA/AACgvQAA5L4AAEA/AACgvQAA5L4AAEA/AACgvQAA5L4AAEA/AACgvQAA5L4AAEA/AAAAAAAA5L4AAEA/AAAAAAAA5L4AAEA/AAAAAAAA5L4AAEA/AAAAAAAA5L4AAEA/AAAAAAAAqL4AAD4/AAAAAAAAqL4AAD4/AAAAAAAAqL4AAD4/AAAAAAAAqL4AAD4/AADAPQAAjL4AAEg/AADAPQAAjL4AAEg/AADAPQAAjL4AAEg/AADAPQAAjL4AAEg/AADAvQAAjL4AAEg/AADAvQAAjL4AAEg/AADAvQAAjL4AAEg/AADAvQAAjL4AAEg/AAAIPgAAaL4AAEw/AAAIPgAAaL4AAEw/AAAIPgAAaL4AAEw/AAAIPgAAaL4AAEw/AAAIvgAAaL4AAEw/AAAIvgAAaL4AAEw/AAAIvgAAaL4AAEw/AAAIvgAAaL4AAEw/AADgPQAACL4AAEg/AADgPQAACL4AAEg/AADgPQAACL4AAEg/AADgPQAACL4AAEg/AADgvQAACL4AAEg/AADgvQAACL4AAEg/AADgvQAACL4AAEg/AADgvQAACL4AAEg/AAAgPQAAAL4AAEg/AAAgPQAAAL4AAEg/AAAgPQAAAL4AAEg/AAAgPQAAAL4AAEg/AAAgvQAAAL4AAEg/AAAgvQAAAL4AAEg/AAAgvQAAAL4AAEg/AAAgvQAAAL4AAEg/AAAAAAAAUL4AAFQ/AAAAAAAAUL4AAFQ/AAAAAAAAUL4AAFQ/AAAAAAAAUL4AAFQ/AAAAAAAAUL4AAFQ/AAAAAAAAUL4AAFQ/AABAPQAAGL4AAFA/AABAPQAAGL4AAFA/AABAPQAAGL4AAFA/AABAvQAAGL4AAFA/AABAvQAAGL4AAFA/AABAvQAAGL4AAFA/AADAPQAAIL4AAFA/AADAPQAAIL4AAFA/AADAPQAAIL4AAFA/AADAvQAAIL4AAFA/AADAvQAAIL4AAFA/AADAvQAAIL4AAFA/AADgPQAAaL4AAFQ/AADgPQAAaL4AAFQ/AADgPQAAaL4AAFQ/AADgPQAAaL4AAFQ/AADgvQAAaL4AAFQ/AADgvQAAaL4AAFQ/AADgvQAAaL4AAFQ/AADgvQAAaL4AAFQ/AACgPQAAgL4AAE4/AACgPQAAgL4AAE4/AACgPQAAgL4AAE4/AACgvQAAgL4AAE4/AACgvQAAgL4AAE4/AACgvQAAgL4AAE4/AAAAAAAAlL4AAE4/AAAAAAAAlL4AAE4/AAAAAAAAlL4AAE4/AAAAAAAAlL4AAE4/AACEPgAAoL4AAA4/AACEPgAAoL4AAA4/AACEPgAAoL4AAA4/AACEPgAAoL4AAA4/AACEvgAAoL4AAA4/AACEvgAAoL4AAA4/AACEvgAAoL4AAA4/AACEvgAAoL4AAA4/AAAoPgAAeL4AADY/AAAoPgAAeL4AADY/AAAoPgAAeL4AADY/AAAoPgAAeL4AADY/AAAovgAAeL4AADY/AAAovgAAeL4AADY/AAAovgAAeL4AADY/AAAovgAAeL4AADY/AAA4PgAAoL4AADY/AAA4PgAAoL4AADY/AAA4PgAAoL4AADY/AAA4PgAAoL4AADY/AAA4vgAAoL4AADY/AAA4vgAAoL4AADY/AAA4vgAAoL4AADY/AAA4vgAAoL4AADY/AABwPgAAgL4AAA4/AABwPgAAgL4AAA4/AABwPgAAgL4AAA4/AABwPgAAgL4AAA4/AABwvgAAgL4AAA4/AABwvgAAgL4AAA4/AABwvgAAgL4AAA4/AABwvgAAgL4AAA4/AAAAAAAAYL8AADA/AAAAAAAAYL8AADA/AAAAAAAAYL8AADA/AAAAAAAAYL8AADA/AABAPQAAXr8AADA/AABAPQAAXr8AADA/AABAPQAAXr8AADA/AABAPQAAXr8AADA/AABAvQAAXr8AADA/AABAvQAAXr8AADA/AABAvQAAXr8AADA/AABAvQAAXr8AADA/AADAPQAAUr8AADY/AADAPQAAUr8AADY/AADAPQAAUr8AADY/AADAPQAAUr8AADY/AADAvQAAUr8AADY/AADAvQAAUr8AADY/AADAvQAAUr8AADY/AADAvQAAUr8AADY/AADAPQAAPr8AADo/AADAPQAAPr8AADo/AADAPQAAPr8AADo/AADAPQAAPr8AADo/AADAvQAAPr8AADo/AADAvQAAPr8AADo/AADAvQAAPr8AADo/AADAvQAAPr8AADo/AAAAAAAASL8AACg/AAAAAAAASL8AACg/AAAAAAAASL8AACg/AAAAAAAASL8AACg/AADAPQAAQL8AACo/AADAPQAAQL8AACo/AADAPQAAQL8AACo/AADAPQAAQL8AACo/AADAvQAAQL8AACo/AADAvQAAQL8AACo/AADAvQAAQL8AACo/AADAvQAAQL8AACo/AADAPQAAUL8AACQ/AADAPQAAUL8AACQ/AADAPQAAUL8AACQ/AADAvQAAUL8AACQ/AADAvQAAUL8AACQ/AADAvQAAUL8AACQ/AABAPQAAWr8AACI/AABAPQAAWr8AACI/AABAPQAAWr8AACI/AABAPQAAWr8AACI/AABAvQAAWr8AACI/AABAvQAAWr8AACI/AABAvQAAWr8AACI/AABAvQAAWr8AACI/AAAAAAAAXL8AACI/AAAAAAAAXL8AACI/AAAAAAAAXL8AACI/AAAAAAAAXL8AACI/AAAwPgAAYD4AAEg/AAAwPgAAYD4AAEg/AAAwPgAAYD4AAEg/AAAwPgAAYD4AAEg/AAAwvgAAYD4AAEg/AAAwvgAAYD4AAEg/AAAwvgAAYD4AAEg/AAAwvgAAYD4AAEg/AABAPgAAID4AAEY/AABAPgAAID4AAEY/AABAPgAAID4AAEY/AABAPgAAID4AAEY/AABAvgAAID4AAEY/AABAvgAAID4AAEY/AABAvgAAID4AAEY/AABAvgAAID4AAEY/AACsPgAA3D4AAEI/AACsPgAA3D4AAEI/AACsPgAA3D4AAEI/AACsPgAA3D4AAEI/AACsvgAA3D4AAEI/AACsvgAA3D4AAEI/AACsvgAA3D4AAEI/AACsvgAA3D4AAEI/AACMPgAA2D4AAEY/AACMPgAA2D4AAEY/AACMPgAA2D4AAEY/AACMPgAA2D4AAEY/AACMvgAA2D4AAEY/AACMvgAA2D4AAEY/AACMvgAA2D4AAEY/AACMvgAA2D4AAEY/AADYPgAAzD4AAEY/AADYPgAAzD4AAEY/AADYPgAAzD4AAEY/AADYPgAAzD4AAEY/AADYvgAAzD4AAEY/AADYvgAAzD4AAEY/AADYvgAAzD4AAEY/AADYvgAAzD4AAEY/AAAQPwAAtD4AADI/AAAQPwAAtD4AADI/AAAQPwAAtD4AADI/AAAQPwAAtD4AADI/AAAQvwAAtD4AADI/AAAQvwAAtD4AADI/AAAQvwAAtD4AADI/AAAQvwAAtD4AADI/AAAWPwAAlD4AADA/AAAWPwAAlD4AADA/AAAWPwAAlD4AADA/AAAWPwAAlD4AADA/AAAWvwAAlD4AADA/AAAWvwAAlD4AADA/AAAWvwAAlD4AADA/AAAWvwAAlD4AADA/AAAUPwAASD4AAC4/AAAUPwAASD4AAC4/AAAUPwAASD4AAC4/AAAUPwAASD4AAC4/AAAUvwAASD4AAC4/AAAUvwAASD4AAC4/AAAUvwAASD4AAC4/AAAUvwAASD4AAC4/AAD0PgAA0D0AADg/AAD0PgAA0D0AADg/AAD0PgAA0D0AADg/AAD0PgAA0D0AADg/AAD0vgAA0D0AADg/AAD0vgAA0D0AADg/AAD0vgAA0D0AADg/AAD0vgAA0D0AADg/AADAPgAAgD0AAD4/AADAPgAAgD0AAD4/AADAPgAAgD0AAD4/AADAPgAAgD0AAD4/AADAvgAAgD0AAD4/AADAvgAAgD0AAD4/AADAvgAAgD0AAD4/AADAvgAAgD0AAD4/AABoPgAA4D0AAEg/AABoPgAA4D0AAEg/AABoPgAA4D0AAEg/AABoPgAA4D0AAEg/AABovgAA4D0AAEg/AABovgAA4D0AAEg/AABovgAA4D0AAEg/AABovgAA4D0AAEg/AAA4PgAAmD4AAEg/AAA4PgAAmD4AAEg/AAA4PgAAmD4AAEg/AAA4PgAAmD4AAEg/AAA4vgAAmD4AAEg/AAA4vgAAmD4AAEg/AAA4vgAAmD4AAEg/AAA4vgAAmD4AAEg/AABYPgAAwD4AAEg/AABYPgAAwD4AAEg/AABYPgAAwD4AAEg/AABYPgAAwD4AAEg/AABYvgAAwD4AAEg/AABYvgAAwD4AAEg/AABYvgAAwD4AAEg/AABYvgAAwD4AAEg/AABwPgAAuD4AAEI/AABwPgAAuD4AAEI/AABwvgAAuD4AAEI/AABwvgAAuD4AAEI/AABIPgAAmD4AAEI/AABIPgAAmD4AAEI/AABIvgAAmD4AAEI/AABIvgAAmD4AAEI/AAB4PgAAAD4AAEI/AAB4PgAAAD4AAEI/AAB4vgAAAD4AAEI/AAB4vgAAAD4AAEI/AADAPgAAsD0AADo/AADAPgAAsD0AADo/AADAvgAAsD0AADo/AADAvgAAsD0AADo/AADsPgAA8D0AADQ/AADsPgAA8D0AADQ/AADsvgAA8D0AADQ/AADsvgAA8D0AADQ/AAAMPwAAWD4AACw/AAAMPwAAWD4AACw/AAAMvwAAWD4AACw/AAAMvwAAWD4AACw/AAAOPwAAkD4AACw/AAAOPwAAkD4AACw/AAAOvwAAkD4AACw/AAAOvwAAkD4AACw/AAAIPwAArD4AAC4/AAAIPwAArD4AAC4/AAAIvwAArD4AAC4/AAAIvwAArD4AAC4/AADUPgAAyD4AAEA/AADUPgAAyD4AAEA/AADUvgAAyD4AAEA/AADUvgAAyD4AAEA/AACQPgAAzD4AAEQ/AACQPgAAzD4AAEQ/AACQvgAAzD4AAEQ/AACQvgAAzD4AAEQ/AACsPgAA0D4AAEA/AACsPgAA0D4AAEA/AACsvgAA0D4AAEA/AACsvgAA0D4AAEA/AABQPgAAMD4AAEA/AABQPgAAMD4AAEA/AABQvgAAMD4AAEA/AABQvgAAMD4AAEA/AABIPgAAaD4AAEA/AABIPgAAaD4AAEA/AABIvgAAaD4AAEA/AABIvgAAaD4AAEA/AADgPQAA7D4AABw/AADgPQAA7D4AABw/AADgPQAA7D4AABw/AADgPQAA7D4AABw/AADgPQAA7D4AABw/AADgvQAA7D4AABw/AADgvQAA7D4AABw/AADgvQAA7D4AABw/AADgvQAA7D4AABw/AADgvQAA7D4AABw/AABIPgAAKj8AAB4/AABIPgAAKj8AAB4/AABIPgAAKj8AAB4/AABIvgAAKj8AAB4/AABIvgAAKj8AAB4/AABIvgAAKj8AAB4/AACsPgAAMD8AABg/AACsPgAAMD8AABg/AACsPgAAMD8AABg/AACsvgAAMD8AABg/AACsvgAAMD8AABg/AACsvgAAMD8AABg/AAD4PgAADj8AAA4/AAD4PgAADj8AAA4/AAD4PgAADj8AAA4/AAD4PgAADj8AAA4/AAD4PgAADj8AAA4/AAD4vgAADj8AAA4/AAD4vgAADj8AAA4/AAD4vgAADj8AAA4/AAD4vgAADj8AAA4/AAD4vgAADj8AAA4/AAAuPwAA6D4AAPw+AAAuPwAA6D4AAPw+AAAuPwAA6D4AAPw+AAAuPwAA6D4AAPw+AAAuvwAA6D4AAPw+AAAuvwAA6D4AAPw+AAAuvwAA6D4AAPw+AAAuvwAA6D4AAPw+AABMPwAA0D4AAOw+AABMPwAA0D4AAOw+AABMPwAA0D4AAOw+AABMPwAA0D4AAOw+AABMvwAA0D4AAOw+AABMvwAA0D4AAOw+AABMvwAA0D4AAOw+AABMvwAA0D4AAOw+AABGPwAAKD4AAMA+AABGPwAAKD4AAMA+AABGPwAAKD4AAMA+AABGPwAAKD4AAMA+AABGvwAAKD4AAMA+AABGvwAAKD4AAMA+AABGvwAAKD4AAMA+AABGvwAAKD4AAMA+AAAaPwAAAAAAANQ+AAAaPwAAAAAAANQ+AAAaPwAAAAAAANQ+AAAaPwAAAAAAANQ+AAAavwAAAAAAANQ+AAAavwAAAAAAANQ+AAAavwAAAAAAANQ+AAAavwAAAAAAANQ+AADgPgAAwL0AAPA+AADgPgAAwL0AAPA+AADgPgAAwL0AAPA+AADgPgAAwL0AAPA+AADgPgAAwL0AAPA+AADgvgAAwL0AAPA+AADgvgAAwL0AAPA+AADgvgAAwL0AAPA+AADgvgAAwL0AAPA+AADgvgAAwL0AAPA+AAAAAAAAZj8AAJQ+AAAAAAAAZj8AAJQ+AAAAAAAAZj8AAJQ+AAAAAAAAZj8AAJQ+AAAAAAAAfD8AAKC9AAAAAAAAfD8AAKC9AAAAAAAAfD8AAKC9AAAAAAAAfD8AAKC9AAAAAAAASL4AACy/AAAAAAAASL4AACy/AAAAAAAASL4AACy/AAAAAAAASL4AACy/AAAAAAAA7L4AAEA+AAAAAAAA7L4AAEA+AAAAAAAA7L4AAEA+AAAAAAAA7L4AAEA+AAAAAAAAer8AAOw+AAAAAAAAer8AAOw+AAAAAAAAer8AAOw+AAAAAAAAer8AAOw+AAAAAAAATr8AALA+AAAAAAAATr8AALA+AAAAAAAATr8AALA+AAAAAAAATr8AALA+AAAAAAAAEr8AAKQ+AAAAAAAAEr8AAKQ+AAAAAAAAEr8AAKQ+AAAAAAAAEr8AAKQ+AAAAAAAA+L4AAJA+AAAAAAAA+L4AAJA+AAAAAAAA+L4AAJA+AAAAAAAA+L4AAJA+AABaPwAAcD4AAGA9AABaPwAAcD4AAGA9AABaPwAAcD4AAGA9AABaPwAAcD4AAGA9AABavwAAcD4AAGA9AABavwAAcD4AAGA9AABavwAAcD4AAGA9AABavwAAcD4AAGA9AABcPwAApD4AAEC9AABcPwAApD4AAEC9AABcPwAApD4AAEC9AABcPwAApD4AAEC9AABcPwAApD4AAEC9AABcvwAApD4AAEC9AABcvwAApD4AAEC9AABcvwAApD4AAEC9AABcvwAApD4AAEC9AABcvwAApD4AAEC9AABGPwAAiD4AAOC+AABGPwAAiD4AAOC+AABGPwAAiD4AAOC+AABGPwAAiD4AAOC+AABGPwAAiD4AAOC+AABGvwAAiD4AAOC+AABGvwAAiD4AAOC+AABGvwAAiD4AAOC+AABGvwAAiD4AAOC+AABGvwAAiD4AAOC+AADsPgAA4D4AADS/AADsPgAA4D4AADS/AADsPgAA4D4AADS/AADsPgAA4D4AADS/AADsvgAA4D4AADS/AADsvgAA4D4AADS/AADsvgAA4D4AADS/AADsvgAA4D4AADS/AAA8PwAAQL0AAJA9AAA8PwAAQL0AAJA9AAA8PwAAQL0AAJA9AAA8PwAAQL0AAJA9AAA8PwAAQL0AAJA9AAA8vwAAQL0AAJA9AAA8vwAAQL0AAJA9AAA8vwAAQL0AAJA9AAA8vwAAQL0AAJA9AAA8vwAAQL0AAJA9AAAYPwAAAL4AACi+AAAYPwAAAL4AACi+AAAYPwAAAL4AACi+AAAYPwAAAL4AACi+AAAYPwAAAL4AACi+AAAYvwAAAL4AACi+AAAYvwAAAL4AACi+AAAYvwAAAL4AACi+AAAYvwAAAL4AACi+AAAYvwAAAL4AACi+AAAkPwAAALwAANy+AAAkPwAAALwAANy+AAAkPwAAALwAANy+AAAkPwAAALwAANy+AAAkvwAAALwAANy+AAAkvwAAALwAANy+AAAkvwAAALwAANy+AAAkvwAAALwAANy+AACsPgAAYD0AACq/AACsPgAAYD0AACq/AACsPgAAYD0AACq/AACsPgAAYD0AACq/AACsvgAAYD0AACq/AACsvgAAYD0AACq/AACsvgAAYD0AACq/AACsvgAAYD0AACq/AABwPgAAtL4AANA+AABwPgAAtL4AANA+AABwPgAAtL4AANA+AABwPgAAtL4AANA+AABwvgAAtL4AANA+AABwvgAAtL4AANA+AABwvgAAtL4AANA+AABwvgAAtL4AANA+AAA4PgAA1L4AAIQ+AAA4PgAA1L4AAIQ+AAA4PgAA1L4AAIQ+AAA4PgAA1L4AAIQ+AAA4vgAA1L4AAIQ+AAA4vgAA1L4AAIQ+AAA4vgAA1L4AAIQ+AAA4vgAA1L4AAIQ+AACUPgAANr8AAMQ+AACUPgAANr8AAMQ+AACUPgAANr8AAMQ+AACUPgAANr8AAMQ+AACUvgAANr8AAMQ+AACUvgAANr8AAMQ+AACUvgAANr8AAMQ+AACUvgAANr8AAMQ+AACAPgAAAL8AAMg+AACAPgAAAL8AAMg+AACAPgAAAL8AAMg+AACAPgAAAL8AAMg+AACAvgAAAL8AAMg+AACAvgAAAL8AAMg+AACAvgAAAL8AAMg+AACAvgAAAL8AAMg+AACoPgAAar8AAMw+AACoPgAAar8AAMw+AACoPgAAar8AAMw+AACovgAAar8AAMw+AACovgAAar8AAMw+AACovgAAar8AAMw+AAAQPgAAQr8AALw+AAAQPgAAQr8AALw+AAAQPgAAQr8AALw+AAAQPgAAQr8AALw+AAAQvgAAQr8AALw+AAAQvgAAQr8AALw+AAAQvgAAQr8AALw+AAAQvgAAQr8AALw+AAAAPgAACr8AALg+AAAAPgAACr8AALg+AAAAPgAACr8AALg+AAAAPgAACr8AALg+AAAAvgAACr8AALg+AAAAvgAACr8AALg+AAAAvgAACr8AALg+AAAAvgAACr8AALg+AAAoPgAAcr8AAOA+AAAoPgAAcr8AAOA+AAAoPgAAcr8AAOA+AAAoPgAAcr8AAOA+AAAovgAAcr8AAOA+AAAovgAAcr8AAOA+AAAovgAAcr8AAOA+AAAovgAAcr8AAOA+AABgPgAAkL4AANw+AABgPgAAkL4AANw+AABgPgAAkL4AANw+AABgPgAAkL4AANw+AABgPgAAkL4AANw+AABgvgAAkL4AANw+AABgvgAAkL4AANw+AABgvgAAkL4AANw+AABgvgAAkL4AANw+AABgvgAAkL4AANw+AABYPgAAaL4AAPA+AABYPgAAaL4AAPA+AABYPgAAaL4AAPA+AABYPgAAaL4AAPA+AABYvgAAaL4AAPA+AABYvgAAaL4AAPA+AABYvgAAaL4AAPA+AABYvgAAaL4AAPA+AABQPgAAML4AAAA/AABQPgAAML4AAAA/AABQPgAAML4AAAA/AABQvgAAML4AAAA/AABQvgAAML4AAAA/AABQvgAAML4AAAA/AABYPgAAyL4AACg+AABYPgAAyL4AACg+AABYPgAAyL4AACg+AABYPgAAyL4AACg+AABYPgAAyL4AACg+AABYvgAAyL4AACg+AABYvgAAyL4AACg+AABYvgAAyL4AACg+AABYvgAAyL4AACg+AABYvgAAyL4AACg+AACYPgAAoL4AAIi+AACYPgAAoL4AAIi+AACYPgAAoL4AAIi+AACYPgAAoL4AAIi+AACYvgAAoL4AAIi+AACYvgAAoL4AAIi+AACYvgAAoL4AAIi+AACYvgAAoL4AAIi+AACwPgAAGL4AAAq/AACwPgAAGL4AAAq/AACwPgAAGL4AAAq/AACwPgAAGL4AAAq/AACwvgAAGL4AAAq/AACwvgAAGL4AAAq/AACwvgAAGL4AAAq/AACwvgAAGL4AAAq/AADoPgAAXj8AAMS+AADoPgAAXj8AAMS+AADoPgAAXj8AAMS+AADoPgAAXj8AAMS+AADovgAAXj8AAMS+AADovgAAXj8AAMS+AADovgAAXj8AAMS+AADovgAAXj8AAMS+AADoPgAAbj8AAJC9AADoPgAAbj8AAJC9AADoPgAAbj8AAJC9AADoPgAAbj8AAJC9AADovgAAbj8AAJC9AADovgAAbj8AAJC9AADovgAAbj8AAJC9AADovgAAbj8AAJC9AADoPgAAWj8AAHA+AADoPgAAWj8AAHA+AADoPgAAWj8AAHA+AADoPgAAWj8AAHA+AADovgAAWj8AAHA+AADovgAAWj8AAHA+AADovgAAWj8AAHA+AADovgAAWj8AAHA+AADsPgAABj8AANw+AADsPgAABj8AANw+AADsPgAABj8AANw+AADsPgAABj8AANw+AADsvgAABj8AANw+AADsvgAABj8AANw+AADsvgAABj8AANw+AADsvgAABj8AANw+AAA6PwAA0D4AAKw+AAA6PwAA0D4AAKw+AAA6PwAA0D4AAKw+AAA6PwAA0D4AAKw+AAA6vwAA0D4AAKw+AAA6vwAA0D4AAKw+AAA6vwAA0D4AAKw+AAA6vwAA0D4AAKw+AAAiPwAA6D4AAJA+AAAiPwAA6D4AAJA+AAAiPwAA6D4AAJA+AAAiPwAA6D4AAJA+AAAivwAA6D4AAJA+AAAivwAA6D4AAJA+AAAivwAA6D4AAJA+AAAivwAA6D4AAJA+AAAkPwAAND8AAGA9AAAkPwAAND8AAGA9AAAkPwAAND8AAGA9AAAkPwAAND8AAGA9AAAkvwAAND8AAGA9AAAkvwAAND8AAGA9AAAkvwAAND8AAGA9AAAkvwAAND8AAGA9AABMPwAAED8AAAA+AABMPwAAED8AAAA+AABMPwAAED8AAAA+AABMPwAAED8AAAA+AABMvwAAED8AAAA+AABMvwAAED8AAAA+AABMvwAAED8AAAA+AABMvwAAED8AAAA+AABMPwAAHj8AAPC9AABMPwAAHj8AAPC9AABMPwAAHj8AAPC9AABMPwAAHj8AAPC9AABMvwAAHj8AAPC9AABMvwAAHj8AAPC9AABMvwAAHj8AAPC9AABMvwAAHj8AAPC9AAAkPwAAQD8AAEi+AAAkPwAAQD8AAEi+AAAkPwAAQD8AAEi+AAAkPwAAQD8AAEi+AAAkvwAAQD8AAEi+AAAkvwAAQD8AAEi+AAAkvwAAQD8AAEi+AAAkvwAAQD8AAEi+AAAkPwAALj8AAOS+AAAkPwAALj8AAOS+AAAkPwAALj8AAOS+AAAkPwAALj8AAOS+AAAkvwAALj8AAOS+AAAkvwAALj8AAOS+AAAkvwAALj8AAOS+AAAkvwAALj8AAOS+AABMPwAACj8AALi+AABMPwAACj8AALi+AABMPwAACj8AALi+AABMvwAACj8AALi+AABMvwAACj8AALi+AABMvwAACj8AALi+AAAePwAAqD4AABa/AAAePwAAqD4AABa/AAAePwAAqD4AABa/AAAePwAAqD4AABa/AAAevwAAqD4AABa/AAAevwAAqD4AABa/AAAevwAAqD4AABa/AAAevwAAqD4AABa/AAD4PgAAwDwAAAy/AAD4PgAAwDwAAAy/AAD4PgAAwDwAAAy/AAD4PgAAwDwAAAy/AAD4PgAAwDwAAAy/AAD4vgAAwDwAAAy/AAD4vgAAwDwAAAy/AAD4vgAAwDwAAAy/AAD4vgAAwDwAAAy/AAD4vgAAwDwAAAy/AABSPwAAqD4AAFC+AABSPwAAqD4AAFC+AABSPwAAqD4AAFC+AABSPwAAqD4AAFC+AABSPwAAqD4AAFC+AABSvwAAqD4AAFC+AABSvwAAqD4AAFC+AABSvwAAqD4AAFC+AABSvwAAqD4AAFC+AABSvwAAqD4AAFC+AADQPgAAML4AABg+AADQPgAAML4AABg+AADQPgAAML4AABg+AADQPgAAML4AABg+AADQPgAAML4AABg+AADQvgAAML4AABg+AADQvgAAML4AABg+AADQvgAAML4AABg+AADQvgAAML4AABg+AADQvgAAML4AABg+AADcPgAASL4AAFi+AADcPgAASL4AAFi+AADcPgAASL4AAFi+AADcPgAASL4AAFi+AADcvgAASL4AAFi+AADcvgAASL4AAFi+AADcvgAASL4AAFi+AADcvgAASL4AAFi+AABkPwAA0D4AAHC+AABkPwAA0D4AAHC+AABkPwAA0D4AAHC+AABkPwAA0D4AAHC+AABkvwAA0D4AAHC+AABkvwAA0D4AAHC+AABkvwAA0D4AAHC+AABkvwAA0D4AAHC+AABGPwAAEL4AAAC+AABGPwAAEL4AAAC+AABGPwAAEL4AAAC+AABGPwAAEL4AAAC+AABGvwAAEL4AAAC+AABGvwAAEL4AAAC+AABGvwAAEL4AAAC+AABGvwAAEL4AAAC+AACFPwAA0L0AAKi+AACFPwAA0L0AAKi+AACFPwAA0L0AAKi+AACFPwAA0L0AAKi+AACFvwAA0L0AAKi+AACFvwAA0L0AAKi+AACFvwAA0L0AAKi+AACFvwAA0L0AAKi+AACkPwAAYD0AANy+AACkPwAAYD0AANy+AACkPwAAYD0AANy+AACkPwAAYD0AANy+AACkvwAAYD0AANy+AACkvwAAYD0AANy+AACkvwAAYD0AANy+AACkvwAAYD0AANy+AACtPwAApD4AANi+AACtPwAApD4AANi+AACtPwAApD4AANi+AACtPwAApD4AANi+AACtvwAApD4AANi+AACtvwAApD4AANi+AACtvwAApD4AANi+AACtvwAApD4AANi+AACePwAAAj8AANi+AACePwAAAj8AANi+AACePwAAAj8AANi+AACePwAAAj8AANi+AACevwAAAj8AANi+AACevwAAAj8AANi+AACevwAAAj8AANi+AACevwAAAj8AANi+AACDPwAA9D4AAKC+AACDPwAA9D4AAKC+AACDPwAA9D4AAKC+AACDPwAA9D4AAKC+AACDvwAA9D4AAKC+AACDvwAA9D4AAKC+AACDvwAA9D4AAKC+AACDvwAA9D4AAKC+AACCPwAA1D4AAJS+AACCPwAA1D4AAJS+AACCPwAA1D4AAJS+AACCPwAA1D4AAJS+AACCvwAA1D4AAJS+AACCvwAA1D4AAJS+AACCvwAA1D4AAJS+AACCvwAA1D4AAJS+AACYPwAA4D4AAMi+AACYPwAA4D4AAMi+AACYPwAA4D4AAMi+AACYPwAA4D4AAMi+AACYvwAA4D4AAMi+AACYvwAA4D4AAMi+AACYvwAA4D4AAMi+AACYvwAA4D4AAMi+AACiPwAAlD4AANC+AACiPwAAlD4AANC+AACiPwAAlD4AANC+AACiPwAAlD4AANC+AACivwAAlD4AANC+AACivwAAlD4AANC+AACivwAAlD4AANC+AACivwAAlD4AANC+AACbPwAAoD0AANC+AACbPwAAoD0AANC+AACbPwAAoD0AANC+AACbPwAAoD0AANC+AACbvwAAoD0AANC+AACbvwAAoD0AANC+AACbvwAAoD0AANC+AACbvwAAoD0AANC+AACEPwAAIL0AAJy+AACEPwAAIL0AAJy+AACEPwAAIL0AAJy+AACEPwAAIL0AAJy+AACEvwAAIL0AAJy+AACEvwAAIL0AAJy+AACEvwAAIL0AAJy+AACEvwAAIL0AAJy+AABUPwAAkL0AAAi+AABUPwAAkL0AAAi+AABUPwAAkL0AAAi+AABUPwAAkL0AAAi+AABUvwAAkL0AAAi+AABUvwAAkL0AAAi+AABUvwAAkL0AAAi+AABUvwAAkL0AAAi+AABsPwAAuD4AAGC+AABsPwAAuD4AAGC+AABsPwAAuD4AAGC+AABsPwAAuD4AAGC+AABsvwAAuD4AAGC+AABsvwAAuD4AAGC+AABsvwAAuD4AAGC+AABsvwAAuD4AAGC+AAByPwAAnD4AAJS+AAByPwAAnD4AAJS+AAByPwAAnD4AAJS+AAByPwAAnD4AAJS+AAByvwAAnD4AAJS+AAByvwAAnD4AAJS+AAByvwAAnD4AAJS+AAByvwAAnD4AAJS+AABiPwAAwLwAAFi+AABiPwAAwLwAAFi+AABiPwAAwLwAAFi+AABiPwAAwLwAAFi+AABivwAAwLwAAFi+AABivwAAwLwAAFi+AABivwAAwLwAAFi+AABivwAAwLwAAFi+AACFPwAAAAAAALy+AACFPwAAAAAAALy+AACFPwAAAAAAALy+AACFPwAAAAAAALy+AACFvwAAAAAAALy+AACFvwAAAAAAALy+AACFvwAAAAAAALy+AACFvwAAAAAAALy+AACYPwAAwD0AAOS+AACYPwAAwD0AAOS+AACYPwAAwD0AAOS+AACYPwAAwD0AAOS+AACYvwAAwD0AAOS+AACYvwAAwD0AAOS+AACYvwAAwD0AAOS+AACYvwAAwD0AAOS+AACePwAAgD4AAOS+AACePwAAgD4AAOS+AACePwAAgD4AAOS+AACePwAAgD4AAOS+AACevwAAgD4AAOS+AACevwAAgD4AAOS+AACevwAAgD4AAOS+AACevwAAgD4AAOS+AACWPwAAuD4AAOC+AACWPwAAuD4AAOC+AACWPwAAuD4AAOC+AACWPwAAuD4AAOC+AACWvwAAuD4AAOC+AACWvwAAuD4AAOC+AACWvwAAuD4AAOC+AACWvwAAuD4AAOC+AACDPwAAsD4AALi+AACDPwAAsD4AALi+AACDPwAAsD4AALi+AACDPwAAsD4AALi+AACDvwAAsD4AALi+AACDvwAAsD4AALi+AACDvwAAsD4AALi+AACDvwAAsD4AALi+AABYPwAAlD4AAFi+AABYPwAAlD4AAFi+AABYPwAAlD4AAFi+AABYPwAAlD4AAFi+AABYvwAAlD4AAFi+AABYvwAAlD4AAFi+AABYvwAAlD4AAFi+AABYvwAAlD4AAFi+AABWPwAAMD4AAIy+AABWPwAAMD4AAIy+AABWPwAAMD4AAIy+AABWPwAAMD4AAIy+AABWvwAAMD4AAIy+AABWvwAAMD4AAIy+AABWvwAAMD4AAIy+AABWvwAAMD4AAIy+AABCPwAAwD0AAIy+AABCPwAAwD0AAIy+AABCPwAAwD0AAIy+AABCPwAAwD0AAIy+AABCvwAAwD0AAIy+AABCvwAAwD0AAIy+AABCvwAAwD0AAIy+AABCvwAAwD0AAIy+AABSPwAAsD0AAIy+AABSPwAAsD0AAIy+AABSPwAAsD0AAIy+AABSvwAAsD0AAIy+AABSvwAAsD0AAIy+AABSvwAAsD0AAIy+AABYPwAAgDwAAIy+AABYPwAAgDwAAIy+AABYPwAAgDwAAIy+AABYPwAAgDwAAIy+AABYvwAAgDwAAIy+AABYvwAAgDwAAIy+AABYvwAAgDwAAIy+AABYvwAAgDwAAIy+AABQPwAAgLwAAIy+AABQPwAAgLwAAIy+AABQPwAAgLwAAIy+AABQPwAAgLwAAIy+AABQvwAAgLwAAIy+AABQvwAAgLwAAIy+AABQvwAAgLwAAIy+AABQvwAAgLwAAIy+AAA6PwAAAAAAAJC9AAA6PwAAAAAAAJC9AAA6PwAAAAAAAJC9AAA6PwAAAAAAAJC9AAA6vwAAAAAAAJC9AAA6vwAAAAAAAJC9AAA6vwAAAAAAAJC9AAA6vwAAAAAAAJC9AAA4PwAAwLwAADC+AAA4PwAAwLwAADC+AAA4PwAAwLwAADC+AAA4PwAAwLwAADC+AAA4PwAAwLwAADC+AAA4vwAAwLwAADC+AAA4vwAAwLwAADC+AAA4vwAAwLwAADC+AAA4vwAAwLwAADC+AAA4vwAAwLwAADC+AAA4PwAAID0AAEC+AAA4PwAAID0AAEC+AAA4PwAAID0AAEC+AAA4PwAAID0AAEC+AAA4PwAAID0AAEC+AAA4vwAAID0AAEC+AAA4vwAAID0AAEC+AAA4vwAAID0AAEC+AAA4vwAAID0AAEC+AAA4vwAAID0AAEC+AABMPwAAUD4AAFi+AABMPwAAUD4AAFi+AABMPwAAUD4AAFi+AABMPwAAUD4AAFi+AABMvwAAUD4AAFi+AABMvwAAUD4AAFi+AABMvwAAUD4AAFi+AABMvwAAUD4AAFi+AABkPwAAeD4AAIi+AABkPwAAeD4AAIi+AABkPwAAeD4AAIi+AABkPwAAeD4AAIi+AABkvwAAeD4AAIi+AABkvwAAeD4AAIi+AABkvwAAeD4AAIi+AABkvwAAeD4AAIi+AABkPwAAcD4AAKS+AABkPwAAcD4AAKS+AABkPwAAcD4AAKS+AABkPwAAcD4AAKS+AABkvwAAcD4AAKS+AABkvwAAcD4AAKS+AABkvwAAcD4AAKS+AABkvwAAcD4AAKS+AABQPwAAgLwAAKS+AABQPwAAgLwAAKS+AABQPwAAgLwAAKS+AABQvwAAgLwAAKS+AABQvwAAgLwAAKS+AABQvwAAgLwAAKS+AABaPwAAgDwAAKS+AABaPwAAgDwAAKS+AABaPwAAgDwAAKS+AABaPwAAgDwAAKS+AABavwAAgDwAAKS+AABavwAAgDwAAKS+AABavwAAgDwAAKS+AABavwAAgDwAAKS+AABUPwAAoD0AAKS+AABUPwAAoD0AAKS+AABUPwAAoD0AAKS+AABUPwAAoD0AAKS+AABUvwAAoD0AAKS+AABUvwAAoD0AAKS+AABUvwAAoD0AAKS+AABUvwAAoD0AAKS+AABEPwAAwD0AAKS+AABEPwAAwD0AAKS+AABEPwAAwD0AAKS+AABEvwAAwD0AAKS+AABEvwAAwD0AAKS+AABEvwAAwD0AAKS+AABYPwAAMD4AAKS+AABYPwAAMD4AAKS+AABYPwAAMD4AAKS+AABYPwAAMD4AAKS+AABYvwAAMD4AAKS+AABYvwAAMD4AAKS+AABYvwAAMD4AAKS+AABYvwAAMD4AAKS+AACFPwAAqD4AANS+AACFPwAAqD4AANS+AACFPwAAqD4AANS+AACFPwAAqD4AANS+AACFvwAAqD4AANS+AACFvwAAqD4AANS+AACFvwAAqD4AANS+AACFvwAAqD4AANS+AACYPwAAsD4AAPi+AACYPwAAsD4AAPi+AACYPwAAsD4AAPi+AACYPwAAsD4AAPi+AACYvwAAsD4AAPi+AACYvwAAsD4AAPi+AACYvwAAsD4AAPi+AACYvwAAsD4AAPi+AAChPwAAeD4AAPy+AAChPwAAeD4AAPy+AAChPwAAeD4AAPy+AAChPwAAeD4AAPy+AAChvwAAeD4AAPy+AAChvwAAeD4AAPy+AAChvwAAeD4AAPy+AAChvwAAeD4AAPy+AACbPwAAsD0AAPi+AACbPwAAsD0AAPi+AACbPwAAsD0AAPi+AACbPwAAsD0AAPi+AACbvwAAsD0AAPi+AACbvwAAsD0AAPi+AACbvwAAsD0AAPi+AACbvwAAsD0AAPi+AACGPwAAAAAAANi+AACGPwAAAAAAANi+AACGPwAAAAAAANi+AACGPwAAAAAAANi+AACGvwAAAAAAANi+AACGvwAAAAAAANi+AACGvwAAAAAAANi+AACGvwAAAAAAANi+AABiPwAAgLwAAIi+AABiPwAAgLwAAIi+AABiPwAAgLwAAIi+AABiPwAAgLwAAIi+AABivwAAgLwAAIi+AABivwAAgLwAAIi+AABivwAAgLwAAIi+AABivwAAgLwAAIi+AAB0PwAAlD4AALC+AAB0PwAAlD4AALC+AAB0PwAAlD4AALC+AAB0PwAAlD4AALC+AAB0vwAAlD4AALC+AAB0vwAAlD4AALC+AAB0vwAAlD4AALC+AAB0vwAAlD4AALC+AABkPwAA4D0AAKi+AABkPwAA4D0AAKi+AABkPwAA4D0AAKi+AABkPwAA4D0AAKi+AABkvwAA4D0AAKi+AABkvwAA4D0AAKi+AABkvwAA4D0AAKi+AABkvwAA4D0AAKi+AABwPwAAgD0AAKy+AABwPwAAgD0AAKy+AABwPwAAgD0AAKy+AABwPwAAgD0AAKy+AABwvwAAgD0AAKy+AABwvwAAgD0AAKy+AABwvwAAgD0AAKy+AABwvwAAgD0AAKy+AACAPwAAAD4AALy+AACAPwAAAD4AALy+AACAPwAAAD4AALy+AACAPwAAAD4AALy+AACAvwAAAD4AALy+AACAvwAAAD4AALy+AACAvwAAAD4AALy+AACAvwAAAD4AALy+AAB2PwAAMD4AALS+AAB2PwAAMD4AALS+AAB2PwAAMD4AALS+AAB2PwAAMD4AALS+AAB2vwAAMD4AALS+AAB2vwAAMD4AALS+AAB2vwAAMD4AALS+AAB2vwAAMD4AALS+AACCPwAAcD4AAMC+AACCPwAAcD4AAMC+AACCPwAAcD4AAMC+AACCPwAAcD4AAMC+AACCvwAAcD4AAMC+AACCvwAAcD4AAMC+AACCvwAAcD4AAMC+AACCvwAAcD4AAMC+AACHPwAAQD4AAMS+AACHPwAAQD4AAMS+AACHPwAAQD4AAMS+AACHPwAAQD4AAMS+AACHvwAAQD4AAMS+AACHvwAAQD4AAMS+AACHvwAAQD4AAMS+AACHvwAAQD4AAMS+AACOPwAAWD4AAMi+AACOPwAAWD4AAMi+AACOPwAAWD4AAMi+AACOvwAAWD4AAMi+AACOvwAAWD4AAMi+AACOvwAAWD4AAMi+AACLPwAAjD4AAMi+AACLPwAAjD4AAMi+AACLPwAAjD4AAMi+AACLPwAAjD4AAMi+AACLvwAAjD4AAMi+AACLvwAAjD4AAMi+AACLvwAAjD4AAMi+AACLvwAAjD4AAMi+AACDPwAA4D4AAPi+AACDPwAA4D4AAPi+AACDPwAA4D4AAPi+AACDPwAA4D4AAPi+AACDvwAA4D4AAPi+AACDvwAA4D4AAPi+AACDvwAA4D4AAPi+AACDvwAA4D4AAPi+AACgPwAA8D4AAAy/AACgPwAA8D4AAAy/AACgPwAA8D4AAAy/AACgPwAA8D4AAAy/AACgvwAA8D4AAAy/AACgvwAA8D4AAAy/AACgvwAA8D4AAAy/AACgvwAA8D4AAAy/AACvPwAAmD4AAAC/AACvPwAAmD4AAAC/AACvPwAAmD4AAAC/AACvvwAAmD4AAAC/AACvvwAAmD4AAAC/AACvvwAAmD4AAAC/AACoPwAAYD0AAAi/AACoPwAAYD0AAAi/AACoPwAAYD0AAAi/AACoPwAAYD0AAAi/AACovwAAYD0AAAi/AACovwAAYD0AAAi/AACovwAAYD0AAAi/AACovwAAYD0AAAi/AACFPwAAsL0AAPy+AACFPwAAsL0AAPy+AACFPwAAsL0AAPy+AACFPwAAsL0AAPy+AACFvwAAsL0AAPy+AACFvwAAsL0AAPy+AACFvwAAsL0AAPy+AACFvwAAsL0AAPy+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5wAnAC0A5wAtAM4AIgAAAOgAIgDoAOIA7wAHACUA7wAlAOUAAwCaAKIAAwCiAOsApQCdAAQApQAEAOwA1gDqAKAApwDtANkA4wDpANUA2gDuAOQA0gDLAOEA5gDMAN0A0QDDAMoAzQDEAN4A0AC6AMIAxQC9AN8A0wCxALsAvAC2ANwA1ACpALMAtACuANsA1wChAKoArQCmANgATQGnArECTQGxAlYBrgKsAlABrgJQAVMBRAGfAqkCRAGpAk4BqgKkAkkBqgJJAU8BOwGYAqECOwGhAkUBogKbAkIBogJCAUgBMwGQApkCMwGZAjwBmgKTAjoBmgI6AUEBKwGIApECKwGRAjQBkgKLAjIBkgIyATkBJAFYATICJAEyAn0COQJdASkBOQIpAYICWgFgATwCWgE8AjUCPwJlAVsBPwJbATYCYgFpAUUCYgFFAj0CRgJsAWMBRgJjAT4CaAFxAU0CaAFNAkQCTgJ0AW0BTgJtAUcCcAF6AVUCcAFVAkwCVgJ7AXUBVgJ1AU8CeQGAAVwCeQFcAlQCXwKFAXwBXwJ8AVcCggGKAWUCggFlAl0CZgKLAYMBZgKDAV4CiAGSAWsCiAFrAmMCcAKTAY0BcAKNAWgCkAGYAXICkAFyAmoCeQKdAZUBeQKVAXECmQHwAPQAmQH0AHMC+QDzAJwB+QCcAXgCogHqAW0CogFtAnUCbgLrAaMBbgKjAXYC6QG+AmQC6QFkAmwCZwLBAuwBZwLsAW8C4AFbAmIC4AFiArwCaQJgAuUBaQLlAcMC1wFSAloC1wFaAt8BYQJZAt4BYQLeAeYBzwFKAlMCzwFTAtgBWAJRAtYBWALWAd0BxwFCAksCxwFLAtABUAJJAs4BUALOAdUBwAE7AkMCwAFDAsgBSAJAAsUBSALFAc0BuAEzAjoCuAE6Ar8BQQI4Ar0BQQK9AcYBsgF+AjQCsgE0ArkBNwKBArMBNwKzAbwBsQHGArMCsQGzAnwCtgLJArQBtgK0AYMCoQF0AvgAoQH4AKoB9QB3AqQB9QCkAasBqQH3ALsCqQG7As8CuAL2AKwBuAKsAdACtQLHAs4CtQLOAroC0QLIArQC0QK0ArkCBgIOArACBgKwAqYCrwINAgkCrwIJAq0C/gEHAqgC/gGoAp4CqwIIAgECqwIBAqUC9QH/AaAC9QGgApYCowIAAvgBowL4AZ0ChwLfAtYChwLWAo4C2QLgAowC2QKMApUC9gGXAo8C9gGPAtcClAKcAvcBlAL3AdgCKALpAuQCKALkAtwC5wLqAjEC5wIxAuMC1ALdAuUC1ALlAvoA5gLiAtsC5gLbAvwA8AHzAdUC8AHVAvsA2gL6AfAB2gLwAfsAIgL2Au8CIgLvAiwC8AL5AiUC8AIlAi0CGwL/AvcCGwL3AiMC+AIAAxwC+AIcAiQCFQIGA/wCFQL8AhoCAwMJAxQCAwMUAh0CEAIBAQQDEAIEAxICCwMEARECCwMRAhcC6wIqAu4C6wLuAgAB8QIvAugC8QLoAv0A/wDsAicD/wAnAy8DKgPzAv4AKgP+ACwDAgEMAxIDAgESAwUDFwMRAwMBFwMDAQoDBwMUAxkDBwMZA/0CHAMVAwgDHAMIAwID/gIaAyED/gIhA/UCIgMbAwEDIgMBA/oC9AIgAygD9AIoA+0CKQMjA/sCKQP7AvICEAMfAxgDEAMYAxMDHQMkAw0DHQMNAxYDDwMuAyYDDwMmAx4DKwMtAw4DKwMOAyUDEwIYAnoCEwJ6ArIChQIfAhYChQIWArcCGQIgAnsCIAI4A3sCPwMnAoQCJwIeAoQCIQIrAkEDIQJBAzkDRgMuAiYCRgMmAj4DKQLeAoYCKQKGAkADjQLhAjACjQIwAkcDLAEwA0IDLAFCA4kCRQM3AzEBRQMxAYoCMQNIAzoDMQM6A0MDPQNPAzYDPQM2A0QDJQF/AjsDJQE7A0oDPAOAAigBPAMoAU0D9AHxAQcB9AEHAWYDBgHvAfkBBgH5AWkD/QHyAWUD/QFlA18DagP7AQICagMCAmADBAL8AV4DBAJeA1UDYQMDAgsCYQMLAloDDAIFAlcDDAJXA1EDWAMKAg8CWAMPAlIDUANWA38DUAN/A4YDhANZA1MDhANTA4kDVANdA3kDVAN5A34DfANiA1sDfANbA4UDXANkA3ADXANwA3gDdwNrA2MDdwNjA30DZwMIAW8DZwNvA3MDbAMFAWgDbANoA3QDbgOIA4ADbgOAA3EDgwOHA20DgwNtA3YDcgOBA3oDewOCA3UDzALFApMDzAKTA4oDmAPKAtMCmAPTApEDpwHNAosDpwGLA+IDkAPSAq4BkAOuAekDnwGoAeMDnwHjA+oD6AOtAaYB6AOmAfEDxAKvAdoDxALaA5ID4QO2AcsC4QPLApkDsAG3AdIDsAHSA9sD2QO+AbUB2QO1AeADugHBAcwDugHMA9UDzwPEAbsBzwO7AdYDwgHKAcUDwgHFA80DxgPLAcMBxgPDAc4DyQHRAbwDyQG8A8QDvwPUAcwBvwPMAccD0gHaAbUD0gG1A70DtgPbAdMBtgPTAb4D2QHiAa0D2QGtA7QDrgPjAdwBrgPcAbcD4QG/ApwD4QGcA6wDnwPAAuQBnwPkAa8DvQLoAaMDvQKjA5sDqAPtAcICqAPCAqAD5wGgAesD5wHrA6ID8AOlAe4B8APuAakDpQPsA/IDpQPyAxcE9QPvA6YD9QOmAxgEnQOkAxYEnQMWBBsEGQSnA54DGQSeAxwEqgOaAxoEqgMaBBIEHQShA7EDHQSxAxUEswOrAxMEswMTBA8EFASwA7gDFAS4AxAEuwOyAw4EuwMOBAsEEQS5A8ADEQTAAwwEwgO6AwoEwgMKBAYEDQTBA8kDDQTJAwkEygPDAwcEygMHBAIECATIA9EDCATRAwUE0wPLAwME0wMDBP4DBATQA9gDBATYAwEE3APUA/8D3AP/A/oDAATXA98DAATfA/0DlAPdA/sDlAP7Ax4E/APeA5cD/AOXAyEE7QPkA/YD7QP2A/MD+QPnA+4D+QPuA/QD5QONAyME5QMjBPcDJASOA+YDJATmA/gDjAOVAx8EjAMfBCIEIASWA48DIASPAyUE8QCaAScE8QAnBAkBLgSbAfIALgTyAAwBlwGPATAElwEwBCYENQSWAZ4BNQSeAS8EkQGHATYEkQE2BDEEOwSOAZQBOwSUATQEiQGBAUAEiQFABDgEQQSEAYwBQQSMATkEfwF4AUgEfwFIBD8ESwR9AYYBSwSGAUIEdwFvAU4EdwFOBEYEVQR2AX4BVQR+AU0EcgFqAVgEcgFYBFAEWwRrAXMBWwRzAVMEZwFhAWAEZwFgBFYEYwRkAW4BYwRuAV0EXwFZAWgEXwFoBF4EbQRcAWYBbQRmAWUEigSOBOAEigTgBAcF5wSNBIkE5wSJBAwFhwSLBAgFhwQIBQEFCwWIBIQECwWEBAIFgwSGBP8EgwT/BBAFBAWFBIAEBAWABBMFSwFVAYIESwGCBA8FgQRUAVIBgQRSARQFQwFMAREFQwERBfkEEgVRAUoBEgVKAfwEPgFGAfoEPgH6BOsE+wRHAT8B+wQ/AewENgE9AeoENgHqBPME7QRAATcB7QQ3AfQE6QQABQYF6QQGBfAEDQUDBe4EDQXuBPcE6AT4BA4F6AQOBf4EFQX9BO8EFQXvBAUF2ATxBAkF2AQJBeIECgX2BN8ECgXfBOUELgE1AfIELgHyBNoE9QQ4AS8B9QQvAd0EMwMZBSIFMwMiBUkDJQUcBTQDJQU0A04DLQHZBBgFLQEYBTIDHQXeBDABHQUwATUDJgFLAyMFJgEjBSoFJAVMAycBJAUnASsFIwEoBWYEIwFmBFcBbwQtBSoBbwQqAV4BHgHRBEEFHgFBBXsERgXWBBsBRgUbAXgEegRABTkFegQ5BSIBPgVHBXkEPgV5BB8BIQE4BS4FIQEuBX4ENwU/BSABNwUgAX0EfwQvBeEEfwThBI8E5gQ2BXwE5gR8BIwE2wTjBDIF2wQyBRoFMwXkBNwEMwXcBBsFVwRhBLcEVwS3BJAEugRiBFwEugRcBJcEGQGsBNAEGQHQBB0B1wSzBBgB1wQYARwBcgRYBVAFcgRQBXYEVwVfBXEEVwVxBHUEdwRRBUgFdwRIBRUBTwVWBXQETwV0BBQBFgFJBa0EFgGtBBoBsgROBRMBsgQTARcBSQRPBGkFSQRpBXIFbgVUBEoEbgVKBHUFcAVoBYAFcAWABXgFhwVvBXcFhwV3BX8FeQWBBYgFeQWIBZAFjwWGBX4FjwV+BZcFkgWJBaEFkgWhBZsFpAWOBZUFpAWVBZwFpQSpBZoFpQSaBaAFnQWqBagEnQWoBKUFrgRKBZgFrgSYBaYFnwVNBbEEnwWxBK0FSwVSBZEFSwWRBZkFlgVVBUwFlgVMBZ4FUwVaBXoFUwV6BZMFfQVdBVQFfQVUBZQFWwVjBXMFWwVzBXsFdAVkBVwFdAVcBXwFPgRHBHEFPgRxBWIFdgVMBEMEdgVDBGUFEgFhBVkFEgFZBXMEXgVmBQ0BXgUNAXAEKAQyBDcEKAQ3BDwEOgQzBC0EOgQtBEUEKgQ9BGAFKgRgBRABZwVEBCsEZwUrBA8BCgEpBA4BEQEsBAsBUQRZBJMEUQSTBGsFlARaBFIElARSBGwFkgSaBIIFkgSCBWoFhQWfBJUEhQWVBG0FmwS6BYoFmwSKBYMFjQW/BZ4EjQWeBIQFpgSiBYsFpgSLBbwFjAWjBacEjAWnBL0FMAU6Bc4FMAXOBcUF0QU9BTUF0QU1BcgFtATCBc0FtATNBcEE0gXLBb0E0gW9BMQEXwRpBMMFXwTDBbUEygVsBGQEygVkBLwEagQhBRYFagQWBcQFHwUmBWsEHwVrBMkFFwUxBcYFxwU0BR4FZwQpBSAFJwUsBW4EpATLBLEFpASxBagFtAXMBKkEtAWpBKsFrwSnBbAFrwSwBdMEtQWsBbAEtQWwBNQEwATMBa4FwASuBckEtwXTBcUEtwXFBM4EOwVDBbIFOwWyBc8FswVEBTwFswU8BdAF0gSvBUIFRQW2BdUEBgbXBT0GBgY9BgwGQgbYBQkGQgYJBhMGBwYOBhcGBwYXBv4FGAYRBggGGAYIBgEG/QUVBh8G/QUfBvUFIAYaBgIGIAYCBvoF9AUeBiYG9AUmBuwFKQYhBvsFKQb7BfMF7QUnBi4G7QUuBuUFMQYoBvIFMQbyBeoF5wUvBjcG5wU3Bt8FOAYwBugFOAboBeAFLQZXBk8GLQZPBjYGUAZYBjIGUAYyBjkGJQZfBlUGJQZVBiwGWgZgBioGWgYqBjMGHAZmBl0GHAZdBiQGYgZpBiMGYgYjBisGFAZtBmcGFAZnBh0GaAZyBhsGaAYbBiIGDQZ1Bm8GDQZvBhYGcAZ6BhIGcAYSBhkGDwY/BkYGDwZGBncGSQZABhAGSQYQBngGtgTCBLUGtgS1BqoGuAbDBLsEuAa7BLEGvwTdBTQGvwQ0BrIGOwbiBcYEOwbGBLsGkQS4BKsGkQSrBpgEsAa5BJYEsAaWBKEEuQV8BjwGuQU8BtYFQwaDBsAFQwbABdkFNQZOBqMGNQajBrMGqAZRBjoGqAY6BroGmwa9BrQGmwa0BqQGuQbEBqAGuQagBqcGjQa8BpoGjQaaBpUGoQbFBpIGoQaSBpgGhwbHBr4Ghwa+Bo8GwwbMBogGwwaIBpAGfQbGBoQGfQaEBs4GiwbNBoIGiwaCBtUGPgZ+Bs8GPgbPBkQG1AaBBkEG1AZBBksGnATJBn8GnAR/BrsFgAbKBp0EgAadBL4FmQSsBr8GmQS/BsgGwgavBqAEwgagBMsGrQa2BsAGwQa3Bq4GRwbQBtgGRwbYBjUH2wbTBkgG2wZIBjYH0QaGBv0G0Qb9BtkG/gaJBtIG/gbSBtoGhQaOBvYGhQb2BvwG9waRBooG9waKBv8GjAaUBu4GjAbuBvUG8QaZBpMG8QaTBvgGlgadBucGlgbnBu8G6AaeBpcG6AaXBvAGnAalBuAGnAbgBuYG4QamBp8G4QafBukGogZNBiwHogYsB98GLwdSBqkGLwepBuIGdgZFBjQHdgY0BwUHNwdKBnkGNwd5BgYHbgZ0BgIHbgYCBwsHCQd7BnEGCQdxBhAHZQZsBgoHZQYKBxMHEQdzBmoGEQdqBhgHXAZkBhIHXAYSBxoHGQdrBmMGGQdjBiEHVAZeBhsHVAYbByIHIAdhBlsGIAdbBikHTAZWBiMHTAYjBysHKAdZBlMGKAdTBjAH7QblBkMH7QZDBzsHSAfqBvIGSAfyBkAHPQdEB0sHPQdLB1QHUAdHBz4HUAc+B1cHUwdKB2MHUwdjB1sHaAdRB1gHaAdYB2AHWgdiB2oHWgdqB3AHbwdpB2EHbwdhB3cHBAcyB1wHBAdcB3IHXwc5BwcHXwcHB3UH1wZVB10H1wZdBzMHXgdWB9wGXgfcBjgH1gb7BjwH1gY8B1IHPwcAB90GPwfdBlkH7AY6B/oG7Ab6BvQGAQdBB/MGAQfzBvkG3gYqB+QGKgdCB+QGSQcxB+sGMQfjBusGJQdNB0UHJQdFBy0HRgdOByYHRgcmBy4HHAdkB0wHHAdMByQHTwdnBx8HTwcfBycHFAdrB2UHFAdlBx0HZgduBxcHZgcXBx4HDQdzB2wHDQdsBxUHbQd0Bw4HbQcOBxYHAwdxBwwHDwd2BwgH5AXeBaAH5AWgB5gHowfhBesFowfrBZsH7gXmBZkH7gWZB5AHmgfpBfEFmgfxBZMH9wXvBZEH9wWRB4oHkgfwBfgFkgf4BYsH/wX2BYkH/wWJB4MHjAf5BQAGjAcABoQHBQb8BYAHBQaAB3oHhwcDBgoGhwcKBn0H1QUEBnkH1QV5B6gHfgcLBtoFfgfaBasHeAeWB54HeAeeB6cHpQedB38HpQd/B6wHeweBB44HeweOB5cHlQeGB3wHlQd8B5wHggeIB48HlAeNB4UHogS4BdQFogTUBaYH2wXBBasE2wWrBK0HowSpB6EHowShB8oEogeqB6oEogeqBM0EvgTIBJ8HvgSfB9wFpAfPBMcEpAfHBOMF" + } + ] +} diff --git a/screenshot_tests/projects/meshes/sphere-ico.glb b/screenshot_tests/projects/meshes/sphere-ico.glb new file mode 100644 index 0000000000000000000000000000000000000000..7ed65157e2e68ff2be932e3a692bdb9cec6e7bec GIT binary patch literal 132016 zcmb?^2VB)R*FP#wT)1!#6zTwE5A`O9TDLe6w}OBQf}-HIZtGrkTcNGHb?%eW@quToa=HAQOW1r{u{-5XOrJqmz5|WeTBsn?fB}4)G50 z_we@e4f6E~^6?7__VEh{4EFH}Kw3~hKya|PAO7#>9}?&tf~0^TWDg4P4GInp@b?Qs zmHm^uCH70mB<}C!9Te#6AK>R56yoda7wG5V;J_e%KOfZR?-c@uc!&4|A+ujdu)n4Cy<__Iplxp$oz$;SkC@~b zS2ZryzI`!>|I@iX82Uaj(fxa-Vr@elF#@d@VsuM z{m=CIyB8j=eUf|j?x|X7?MAo${gZn}rSw<74smTB-l}2ihT+XDENB+qvT5xmXo!bv z>w1xO!oyqE?c(iPL)F|fv3t*GRm5+YWx{rg#&7+SlC3nOQetCck|TP?46x9NPU_t! zDKRFoe``y71AKe~!OEnRM658sV1M+ocejC<|2`O7%q8{X@9h^7fEnxS;iEd#6Dz8N z=fC;uzfDs`Y^;f>SH};_aEL2y68iK1Z_@up!1uo+;QKEv@cVZJEQy3EwidLiQ@cs+ zmX_)FcPA*HEj*4I)IX+4Ok!Mr%wGRM?_e-hC56YvS_GN*-#qwFvRf$pFGV00eE(5H zh_6rJ|5i&-;6K~sRqmHC@9*D5Yz68fcsC-?Y)O`p(9tOK8Q@SS~^nK^K=7=&@x!S_ez;3t#!i9MKy zI+#0^=7q#fp4#6?wpqCFS~{*Fp!^_sqpNkMWY1<~T?l zT({FnR%?E!+?X}H)WN&vjAPwPg-bCfht$DC(jS@f?TwV1&>kIJ;@6kEJZpB6*T5eg z?B3Q*JgnA9?!tKK;1e_J@$=0uvNX`q!8r;v=do4hvV-WC4sI3Lmf!DCn#}{Bb#Q_G z?Rcv}b2j{dao54B4G%h$7Mbm_7u$Fu2!HItwlNZ9yzIg@*={0o-Y#sD?TpBIyRc2R zGa~2h!Zz8?h@7_z+hjWC;HkfbTIk$q zSy}2}8Rl-GGZy=)4z7uHuJqex*xz+<{n3YnqB9%%h7OLLGr~e=6!ae*ygl%>S+%D- z^f4XmT6T{Z4t;(bacp)kO}4KEDETUI%-5dds=c=a*vqb#O$n zdNKt1{A9F82k(-t^Qry&35C&jaTc4NejvkTj7H%9C@yRgl6W5kZL3)^fr6S3p$!fMWR4SQe;vCSWQ@lMR=zh?Jm zYCh}WHdtRZq?xJprGq`O-WPoS%$8xj>)-&Z{NYOe=-?7odB~MK)WH?3@|i37tb=W~ z04H{VUDyeBibu^(T-hl)cr@&${Cgw$X7E`D3)pedrNX(g<8*L6t6j;JU8#eWZM$iV zmu1{_aJtp*<{L5YI=D?#BL5S9n}jM`nGWuKuRpH`zs<@yBbW|u^)8kF3ct^K;kP+lWvkG| z+x$MVOgi>r)t6v#n`QRPUVImP{*=6rDL(69HP#t{iy6k>Hp4a#?Zs*> z)T!daR@v5ty;!ZyPZOt^GS{iSxKd0MdmPq7UdDRY!JD6#WfSN0m%pQ5I@lby#5CaZ zPM#z@%4OX%Ps;eosf{Is_qH*|2? z!|MD#{Is7S$8_-aHg0?@{Iqwm-gR)9LB;rX_-Qv_z3bqtMICt;_-QjR4|Qpu9bgUb#oCb!wvyAFoTk)y5hhw0$-ht=gh$iqLeE_CqF@IcwvDxaAShHRIR z^Bi)X>0roq2|3Rp=a~*xyoH?SknA=}kFHJ%WEbo>20P9o$Lz&Qmcou>u;VOp)n2URJnXnk zeco;i+fBlbQ}zYZ!D{b=9jELa%RXo?R(mn*IAwoX_GNpqO*c?;CR0za3q!Uu$ayuN znGS|*S9%nOoM$>1vYkWDTh_Y{R=OqRyplf_J=0zc+0G&7Ipn<1!I147a$d=2p@VI< z0EZoyX&2aqZMF%A9hYgR*oBp?1UrtyjzOduC`d0@lTM~AhYLCUPv=`fK zTg8)1JJ&93v$fS2W!l|#Vfg1ceDY@a=a~+MPoBd+ug;se4u(&j!#}Uizqk&DPoBd+ zFW{f&Iv75AZaW|3Iv75AW;?IsIv75AW;;J+IvD({tinD@`-hK?9ys*W6aUBewyo7&Vol|oi44=GIadGg^GaZb$9f>$A z6|2K^Fye?L;;dBc5ZA$oYm$hwQgKaO2P3vhBF@SeaaLRht2Q9EO2vIy+G8)a@kGU; zW%9=^Y#SpL7neC+c45R)s`imoAV8l`i#8s;E zIIe>cOKC=2B}ZH(*TIOTtcAErbzaGJuuUebGt*4@Y!^n1joL5Nc`nnzh_O-omu1{_ zFk)=feyYy9xei8*4M)5U;sJ7S9gG+oj(8gt55RRWVr)3#ZB%>$*TG5$L%fX%@irEH z%wD|wX)zPC#^G}vjCc~0`YvF~u>o8MBfiC?zEfDgFP`gQ#M`j0*6${`4z544DeGkY zj)Uvq{XG)dYU_6;TnC309K&qixo{nfSW2$q^bl9cbueNnEp!l9$#pPdDJ^smSIKoS zVks?j5Ld}{Fk&g0;t%2~xektm{if(3u9E9u#8R3R9mG{~9gH|?v+a8su7eRrEo|S* za2<>|YGM0chU;L&Q48DmGF%5Ej#}Ejm*F}Xan#cGy$sjEh@+Oa?`60SwvDxlna><| zyRdDnRm^hv_%>CUiY}?aS%yZ`cZWrEOy()`o{LU0SaWL1xIqQAT9!$x?il+AEI=Eubj-WG= zl?NRiJg?+^R_c-?+n6)^Yl?d-$saV#9)E9>C1pi#B%A$Avo+ATnDdzQkb{GJp3JWbZ}D2 z3$_`2UXFh0;J?OiXYU4vaEFq`xDKwKZIpRV!3L}bJ3!9s;3H3Fi7d0s>{ql$2bZ3kXj<91 z1b+Z|sDrEdA2d%+F37J!KI`Cs?IT6Sglzl@=;+|2-p57h^bD4Pe(B(!#ve9)dK17e zL5}I*OCgcwJ09MACFH6O_NvfUtQ+gbD?rZc;8twAScW}*IohLx9R~g-h7WSI$ax(c zbt5O+II9VFg#6LLVFkDY@aXT2?+_*G*2Ay;+qy7zZQ=$vsInnBL%U|SmmX^&mFXYG9Q&!(yD3gn><-k!@@ z_M5lDbO`cU7pKfyVa}vuFShkXkbc>P{lnd4xr*uRDCE2jUb3T_bnW2IWS(_r4Y?H~IHr^C1s) zaQ?mZWPbl8rhCxC{|~U4(6I}vzHIjIBQpDCFShYk5I)<5y{-DZQ2M+MZVWv<;nH-W z^m!fJ9(KWxb5>gD=wO@9EQtPW7oG)uelUFf9U8hGE+~~&4d$G;Nk;LAy3)^%{N%Ty+a1N{9E7wBK>)`WNJzQpk9-^&)(?4%7ww)0Oa$aB;R%aF^re+bD z=NI;3o3B`YhCZ)@mG64XiwZK+k8LkjzVz0Y9A&0o-Clefe*O`44~aXl3v_Td>$!s% z4LPra_u?GnedBj#bq=C~hjxhL`{AE|>$s2U;OF<_`5gGwqeH%BI(W~m_WTU|{6!*; zGaX#5Mm(VWUJnl5p!S|+i=kf4k=Sax0 zQ3tOVk-Q!J>OaO8U^=+w>96@g`1zN_Ph&dRggDqMICq!?{^;Nr-6Q#O_@8Ho<31R@|p@7`b!Er&0 zML&$YOF_rYI(W6;e&G%NEQg%e!ClnbA&41#fqAHd+u|JdL})$U3F}J-56d}U41nBN z0y(dPQ)BjuZdmV!FkU+NW#}Ujf%P@y!HG>exHIlO+>3cw9&$qmM>HrRAArw4LLTbi z*9XeTt^K@tB;>OWZZI=aF2i|>C+O(lckw-CZJdAgN56FN*+)_G63%75!aUT$iyc#C zXtPxIJM?)SJY#6GY=ZN+eOO;Q`26Y~(gWv2v5;dr`03iAvV?yn=3sj4r-M7qA1deJ z9CjMyj}C6RJ4J39`^(13kn=kDEcjE!e~CFB{L#S$ejh47BOah0Ve>Rqn@l>EKA%xt+5N zlhrpkZq~tV;RlEW9Vf^Q9h}YT-;m!y9_rvK@V9gZpIbsc>)=`N|J<3?M79AP9b5ta zr~^1(o{fI#V0ZWrYrGARjW7>&@Cx|Zd=kQ>^3UtwTkwkp;0=RgSYJB07JRGs5l^E0 z^E!AE{E%t80%XM;vo`DCF!+sgk8_iaAb)glApG-}5O0$RIj@7`aDFin@kp(}A050E z{@#e|mE=pv4IO+5{`uDfi^;&2pEv8^l{g3KgSe(*;Ij_)!8y?f#C^@eJk-JaaQ^ia z@oaC}9A`TCV~Yknc%rl12sy8V@8CRT^B_l=uSPDRgD>OUYEF8F__U??79IQ*&h=7f znMHTV4ITUn=aqX9f9L^usDr=3`RSX24a8-fpX%W8Ip;IwXG_mEifQ4Py$pI3-x!jM zjn}|Ch9$66_*Z`c9UYvb_9NB`{<+^$+_27QActhUHU z2g5euX7~?lu5}VR_<-Mj27R8Nh%X>?u*lzoL0{#EK}QESUpvX9&QmDP3YhPWAd>G%)?KkrwASFv1r7u?pR+x zfj>I<-GMTE6a2=VvhNc*xZA+L*inpET*PsqgMYuYg-ye{_<7uEp@Y|rYr#rGZma|y z9h}pxxyc*yusiytgZ-nWxjp1_Tku&2XKC3$2I1U%7UaAR-iGf2+Tz@N1?001e%L)y zu1CDYcc7z#$2akpOK|?~3OTQX&*RR^cZj=axzu~54!$)^!~TxBrg z0sJ5jb+G??E(?uw<2xarb#R)9lqrbYSqVBi*tJHyj7NObUu&F%4lZ;kpFD;*hZT@x zI`}xgOR5VS>=opy4laNCYxxlINJ}B-b#R5WjxzuL%j^u=qk|vakC(d<7uO5?(ZMO@ zo{1-j18E2Oql2B`?`?$mpSF;PI=DP+?$3zVnh5!FnHq{pq+*=-{l7^8v8Gl$_VWk0GDe!TwV6SqE>&exdAcwO{DqtB|YT z!j4O>wrIT$R*uMhdXH)x^4t@+dCSfltIi`bMAy@P5zbuqo)xwbT58&5Qa^6(~tG%WU zWZ6sGzGE*gjD7GZ{Htmo)WIoM`6HD4(ZTDj@=%n4Jk-HTCY#~+OSQ>od$DbgkcjWi z+%N3HwmnNm{=I+Mh1DMV7=HEkw*AyzZ1dGf;1IBQLcZT3H8YxB8J}HpqD$+#3E3bxx%G8#;Km)!!lyK|br?{qX-( z#yRXU(9yxMR)3U4+_KQYuJB7l<6JKta!dy+-$)yb`v=HX9jtsc#lRnF^V`^qli){k zK|H`;Xpau=0Kb-smskb<=wM&?6FTC2Q27&da31(Ks^eTZ3i40~D<4ZKoZ~NteAdCw z;QyJ5c!?FDql3Fx{ZTR&{nEj2;U80RGRi-ugKsSyz~A>8xuGfac^#bZ_o2K5;-fl3 zKK~zJ6QN@lezJBbFO4{>X^`_e*uh~0uZ#O_>dwjGu7gz@R6Hcwq_Wb$;xXDT{6I1T-(fjHPV=$8&gOfP4MXBz@Jrh}&qP3H9x z$9M>GRR_1&ox&UJ%fE3POfRp8_};^4j}BHmsfGCGO#ax55rfTtLcE_J7=&*S@L zse?Zc_=}B!U;T6oU#Wv}#|0}6KmX75%19lY(EB*^hClpP?M@x5n3b4{s( z7j|@Kw{YL!TkuB**J|O*X2AbkHnp$R!2?F;V_WbYH14~QI{22~LDMSu=MRF>fj4i7m3QaNBR!NO9vmteUENwcU(R@YvOm_B4*mc+7LNOoE%9oZO9#J&{*#RLwH50^2j7Bz*aY+NDCC9?{s_Hy9r(Np@=ynt zg&zKCV2FGL`K*JxI|uXWxcA@<=;+`?e4n!3dXKc!!MHP=mxBNB5cs2m3+=7P-}o&t z;e8pYgID4^slxD!PR9Du!M$te<1cY<{6)+k9b6dw3Wgu@2KuFgr{(eD!QHcL{tNP1 z2k+12%>Ce>7m#B*I5_KVb_wqV?8Z9P!Tm4~mA`iyT_)@k7_d*m``m+X3fZRxffBrt?h7PWa^LR+Kct2gS%rMhT>dr1LmO)_62WKa9*kO4IO-=V@uZ1$7OQ>_EQ}k0sqey z#O-8*-$n-~!5@_c-?1vcjSl|Zxm>Nmi2GWNb*h7>&Pg<{!}q7RG448eb&W{VW8C|l zj`gmCe}(_~N_?372>GmoPu&>3D**9h%5S5C_xK+)%}2Z+?j@EwcsTs?J8-{xA^2@{ z@b5Uk2uIwh^3UtweD0@eZN>MVWw5?<@N4+z)A0RibI4U4+!N;@{`ekN`R8@;2%Hmb zfQ^cGMx+idXFdOt=~!Pncscy@hwz=I^3Utw%{Wh)jW}2rjF%41^K=&T!FR06Kd*yV z;asmS;<1%JuY;>0-exl5%#}W`gO}j^v?$`b}@XGxv(oZ(`-6Rnts^kv;gB55D(LSvFDIT0 z`Fo+iMH>|3ML?$>`gJ1H-%FMidHPmv$87Cqy=KR;%jj3bHJ=%e zoXMJ_U&UtaWxKO2W@wKrh4fSR*0Dd4r^KVn40NP3_y#(x$V@IzSoz6NuSC59^)j?a z76JbYBTv!vR){=0eMuq zt<9?Mtc|tJJRIq^HgnbH{b)1Bj%P#qQMCCjcpC&d;5qjI|G{&HvEW~U{}>B~G2$mN zUKk^WvEv6YUPFK}rj|Q^F{TW2%&f*2bBs^exnq}Y9`c&oEm+M%zCNM9=`!Z+kiW4> z;Y%4S#q6nHOQ)3FlFln}3-hWflRK`IlyqKw?%P64$W~8oKzjURE;i0+Da)elt-9&r z@=G5XwAxM5vdapL5k1y@C8JLTNLtosmcQ6I$VXKsd;S%+q%4r*oAbOr&gsg?5kCCg(vt%^USNZ zo^4;U&@x8z3U6nx7M2m-$TQ^NQD!>P$C^&^n68;w)q{IQDU2h{^L5etEZ3>M;wQ|R znGavFKX>;LrIDv#qyv9HBTXztI?c1F@hf&S{()$Nc}4R)DD1@ls(DYe!yNv$OcDNc zTAHYfJe@wd@DUsLh)ATBpdDTEh{yDqXI58Ypa1B&pqq2=Vo=Q*Uq zNf$o4O;uUN^MRl={qI-i1Lstbtqz?MlqTJ?&Te_aYIlc^t#e*E|MDx=s*6ch?eHb{zJC1(`YB%e~;X3 z${!(r6VQD9pgDgxcq@D8@j$d6T8E1(3)xeQFD=`wRx>_R#IRSG4>W(t!|iw)($98% zC5D`6$9JOa=N4B*opz0Q+UN=_55||44fk)wqgF36eQZ-e(z4fToWBI)h0rxQ%nW(H=I4QIQ0iQh zKk~GJoZq#)3{!g|&GW3{7?x$#T*e^7X`T&`;Rly2Wc9HZPlKGlxv&iLL!K3o^B<4* zVGWT^^W=w|&wg+(^Mnkid1^w==R38RDS4g)J@4ukO-T za_A2i`{$MlpB}c*bP0Iml*TfliH|u3Z5Rr?r-_d#9@r>-wL_SEeRQSS3GH76JnGm= zlfof){AAkN>ZU^Al^bxIwbjjTz((n>x4FyuWjC3pf5$6HNB)L5T+B*1Bt2jY7gey6W|7Dj}P#hh$W)%`s(H%Fo*8~7hPA~v=rDVJ!O50SOcDTWB#`Vetc}D z*#|iCu1Ul<^)Vm8nkoVO1Ni(auu(eI_r8Jd7d?ET={?pj)%U0!$~-c}8tCVxvDY}Y zJS%!ahu;tR)93wBaS^(DSIBc}OB(6_6ME;D51^mBVDD>KEW4Zl9o_+ZVoGdQna!EY zQrNR-U3u5v66c`*e}dej_1;)qSsvY5NRET-4eU@(E`tuA8}iw?Tsc`4{;ryknY6Cl z@13NC{vQlEOzXY7gv-m&&)b8J7koGV(9h38ZrAA+D2G6we~bNs)|Ivvb^!GMd)OCf zy;WYdkjIpM4jEp2ZZmlY`gvZo;r_w~(g*td3CMg}SAjk?WpU{LMbREw*UaBL%T|rU z#4^b6^I1E~rO?l}KyJs6Y9k*(pHBzRXzCH`7IxgYsbBMwkQLNUKM6aoNma&)9cQuAGhoM!%vKM3c}ck(cAR-eOP(8L zKf;bX{L+Wl!&;_ge})~`Yu#78E7meC+XHsomO)-T7U{=e$6YJPd3BTxgdMkOfeTN- zTBc<^&Cz1|Cnx?h)-o;o9(LTKt%bO<@0wnIZvH&RjYpvDH?ZS^_B?07Sj)6*S*sn# znqn=}vKg@BrsU6H%DyX`yvSS!JJ zHx>DbZA1E=Jo(MrJ0E8LC>yh?v`9}3XKG)gWiP{yyME7|DSM5UZR9m(*QrKfOxaLp z>MW=^@6||F9cAfSre*0`re%%x@ei0k?Xjot!u+AWoynM=jT(os?U(52J1fAGOISOXFrSMjg|pq5&rh*-%7BMQv36*lqF7(g z!MEI4Uo_7%tmVTPqj0R{yjWlE7?&bgUp29oljmJxSs@>2p2}G7VHn4KSno8?WyqEz zm@~6MXED}$Ys{0ESnocNGpjMjl$@b?XnG0AA2-Cq`=D*3t+I}nhOBdj{Mm(h>x=fZ zg4~;gIj?kDnun$F9=7T|cVc2oe2g7)_1tsKK*l{oR zwc|d2+!da%ABUU@;}t;X^R+eXyG>2`QqVC<9|*g${X0J%i1rkQT^Tl{5g&~9oPj+X z+8uB0qF?J_&$j7e;ziIeqx4I#bF*Klz~5keyTZ;LSRjadgFoJ|ueXPmyJGLybMVv`{=gefNxbZ!!eZ*q zt=uM1HVm`#OdsInMD2?zM94N7BHH>|KNW7tL@!|X?*)H^4AF+ z#NWbKb2!q2_5OMgf0{Dayn0+mmQkt?ZwX(`MRPEFcqN%XhJU7h(TyfbXT^5|c_92V z1zvlZD4lXIhwwa$%7_Urn@n^1Ch*qq)vWGX+w^c)0{4V}X4@+-^ZcM>US(#Qs8MvI znbO}jejxYX(?_I4*EUo7&rWsat!mv9mm)m``!kB05*~=~5}VA2=EU;x@X5rEZ!akQ z9%mDI+39Iwq6ikWu1~dE@Hg!SYr`^)R_1@PPSy}$em-#)e7XuY&98y$R% z-kAX&()5PlbA^NlELZVOW}4>)#<4r>uaX$YWbpYM?50KF^G_I4_}N%xjOkL0`{x6D zS?}oDCYqn-d4hR$6ZT*e%&WZ^_itdweZsge#=P2lq7Qra%FFZ!^Ux8t^d{$BT&Gtke>!LK@kFCJ^A-{9+O{RTA7MT-~e>&#I@qUZUe(#3MucB(3^0(G<>;#VoWK`5TIGchrRMWczA7Cf=t049sknH zMC%IsGfLLPp1TFIl-8T}-9Wh%I>3b2US{+7f$|Q{T!zQgHr>0DEI&bK7>l_?>!S3R z^i7btpc|w|)i#%TIYhRB&fxE|$s86sNS0brM(o3Sr}X0o_me+DhiQX(PU$}_)ko%o zuHuV1-1qB2@&I(0uH!liN{8L-FB?EdDuXpe>0EJ2lJ%iet;8CKXQKO22yNigFU<+fK}R zO8?;MqH-W)*D=i7vJ;sMf=u(qJn#0QhCB`V*$wN9(!9N`noNVdJ&!d=X)bS7LC%FN z&4smNwC*TP8e>3d2HdYKQ*gc(fwg=M>vt`5xd^OZ8gF2u!+W4@G~Phb!Ct`cp>4jP zlL&iZ0O-hU>r}w=E@7Xy#svy2KLko@R{a6hjHHq+if29ZkoRn=GYwA zfLpQl^I=|1feo03c~ubOUKe+355&0BJS#B|qhL!e#yq6?^JC7lyKOkeT^ztX#9qKh zVIEe+oUd`SD=&sQPxC}!U1Y$vErNAH^UT8HH26d5{{}gB6uRz4$T8SrGAnf8`8K(lNoN`4wi|Tp z7LePNj*_b%p_8w|*gb??tpMFS2;)NYuY;Ulw5Jc-h;gL(f5e`m^#7q)`;V}XRELeQ z1@me?&@ z1Iab2q_0l4{SzKDY)pQE{xJ9N2&F!G==%FU>>KFJfOlh;vf1 zFI!@VjMg=c1ycI?4$O@XSo<^$$1KLURjE3IQ z8FRG}+D!8lgpL%7`Cl4qe=zixdzka8zlES9`C+}de%qeWJT^UwD?N(lDGWVrGS=om z==NK!dK8BqXwjo4V*R$l+V_NB=ZiJ_J!Cu0uXL@y{

z#*>gOy)ehFK+lYW40(dNMDs%q^XZURLokPF{wmO2r$N3o#Tw5IJ##5!R}-xLh0uE! zK&Dm18mDC+K$o5m`FR`biu4U2LSt&ersG90PqtX?IIirtbFdi|oq<^UG|$aTjtQ}f* z6>R4gNS}bUX0vm-vU6$vg0Q<0U%^{r4bm7tTGnV?CyZ*t%VoHWxzBTOZ&CooQn)y~-} zT@l5yb9J`(8vT0w&WT^e*`Gh!1AjYzg!9KT-CnW4a^<)q&I(Ov1Fe_V^|ZxV7J;+Q zC*bp*b+_1K>scgk;gP|9!FgyA&j)O1Y*r3my)4%9Dx>w%x@b%(eD7=uVj~NrZyK%DP$qj=XF2O61kL2v(z z@%3BlY`%`zB9qhu;1(#@BIr4WVMC zoH2GcCw?@;Cohx0+n0`e%udkrIrwi>ufz2jo&=Fs_7 zdyMM+@T-fQ2wmL`e6AEwL>_=Xe;#~p8J|xMfv)~F_;Yh?4w)4?|7)xlqk5^XPUC^8 zuAVx_RU#fk#maJ{dS5(fF3TY1=QpfnBb&WoSUp)5c@CqUG$t9b9I_B%_TKi-%~Mab zllu@y&OKto1yxfJxXpvY*K6R6R}Uy zgg7Xip?^WMzJDv(66rWE2#DkF>0u*L zELnE&hn7WbmCS*7wkzO2Evxub66r_4^EmKlA#H90rKaF#POR%mu;aF29IIko z4~ITh4r6DOz5(m~J1?2N)=-!BL&y>&q65CJX`QKx| zn1mP%XXK~)Jk{Z!VV`P?v*7z^g9&@nDx4R4p=~t%EcUN^I6M9e<4f~Q!2b0dXU*>D zV^i##<8e0q8Dl*jd*vO(U{nOJX!>*Pr)P1NT?722c>=JX=EB)`Ab5`07@mf+a>UK@ z2iUvSd3qeij;4Q${e2gIe}*o>u)n+FjQ$AZ!%gTC=WxEC2s$*+ zQ|KGt;HlI&2tp`PesHYoCAMo zoz96WLGv4(<4hS* z(L4`luZYF^;+qQ}pE0$bTjTb>_~zo;sw1WX&;t=4!d)CMm`Xtp{D87W>MqzB4m~aS z`vIJm-QkgB`UQF&;!ij&+a;m^L#%}*{il_s*>=Pf)kN7vt2B&-K@UW%4$pb{x#=pt#pwSgl+&_xXZf?;(Ca#%3gEPC&jMpu z0`$P1NH2DM23rR`P?b%|SB`Cg&enCc8>eO8_ie!tzocU3IW2qk)=btEdLZJR`0Kjq z3^5oo5M`;ZMa$A}i)dLRJ#gTZ#(WjxB$Gh@8{o=_-|GQP=aP}0Pv=;rJAOO~v5}S0 zUxlwCX7VfGl@4KiD&hw7qRoh_QmB_H5o2+6n>+s* zag6oA!@Iys5XZ=Xjq1&J<`K(>*vRUb4+2Y zyLz8TEMa}uRX6{Ld27Qah41Ix&!(b1zL;ab1COxARa)x$cl8#zYhoqAXT(Nwg$r5Z zBzeO66gCa~!8ay+6!0SO2QikJb^S}dM&CWrH5iKZSO#*yvK|fUbz1EwVsI{SQLW#4 zjzanQRsK9~pUqG3jf`5?^gApg`M|E>`zFLu>;zA4{yb3B$G0$u3*}M8`iO)0MrJqC zXvY92;@!%* zq8{?ly7ELi$XEF0WhLfJr-!e^Vw}tPsI_18zW8`@uULX~TGxxKW^v=dUSUEWT36gB z7ugf%P52gur<5ro@8DaQ)|hW^3OmU=_(ldX(wx>6)%caTjBjdsArGzVkasnSSOtMt zXztOwifoLts)m^VIjWYGhjA8m2&tQfrlR?K#N(-bfqs8y8w-{>?xBc{&m8w7h?&nE_sqJwW8B-o zH(LwiPV4#><6a5=SS8N~VBF6jHa-|*YR0&4w#Lk7j=QBU+qkpLasQvXFzz3%G4Pq= z&eXWK!MMLWX^ENVw61Fy_os-{;K)Pk!gowE4L;cB7~eRI`#$(-V=<<0G42^P@2S{$ z?nLT}#kikFjD0-v(7Fy_+;_tVyC380iE&SaZ?+c3)Dh!;5I)!=NT+o@$GDGypSA(= z(7KHDbE=cmx~NW0>zZOPj=tF6Um%`St#_Mjv3y6FaYt&aU&#p@z2m$$|K9%_xn zb&JHzJTyFRHVt=G#O4~rkl-AX0=5$sd zVuI9zu5Q74|U}GYx}d)og%)_0gUM16zkcbKR2?ephN2_ z5POw9iA`fyE4JgbE;`3(U+5g8bse9#oE3G4Uk~k}bs4pD*61R<9r{&$MT0N&q8ILN z+zoubp2WV;i;UV?u>VI^a{U&zHnB0Mb#3{|nHP>rW8O9Da9Wp9JIk&-#D?{G$LgRx zw634RU$Ci}$DM3K-2&XH5972hqy8>v?Z-ng4_nvt`a=KQ z79Yx+e)eP|-79{fiyHO!ajSBC9maiVPCriTy7R6&?~Hl)=0s&q>oV$Zi?ccSci_)( z(4lp`uU(S2#<+iVrYfg(8TI#ehl?y`W(nR4{i1a}ALYOogFm@`t;}g%RJKswQrSZ5 zYO(SNn>MWq-wgiHx{UZnZ3Jq!8rh*ne51BAt;@(RHsTw#K(n!!R&OPERTfzqFU^X%vs z<)Kl%0UI0Ey7FyJ-WPI@^5o&x>868y>++qDSCl74dY4;oXK^#akI#l2rabX*UTjY2 z%Xw+YPs$UcdXG5F6W%HAdTfZ!_czTuCC7a9E&JwfI z&nX@1!}&LK{>5MP)6d!EwdHQ?4&-Ogc^|~wDN9UBhqw7~EVevtGqvSun+MFxX*rv_ z1$jOhbY@OjVjcoIlqRKP)czmQo~z5KN8@tp^D1DyNG2+8C^lRq+e&QwU4qBG_%4k{YE2BJ&H3i6|(+k;p$gAhwd}PC8 z{VX~>^_fr}QlAOs;RVlHvd^Fj%mMN<&+!1+%Dl{!3Rz8QQXW#8l!sxzFbi)3A6tGb3+hv%V?ocL>G?IKNymcHq+>zP#OZlDrAfzv(xhWS&*&)~ zde%?r7>$dqUzXSdT9(Eh(6UD3VidPPVa(R|YUC$>41NC7zRBXg(&x#Uozc0Q zk)M1Z^zem0<8FG$ZCY1(=>Hk#){9oy3us+N>4O(HGT$q4R#XEW+6JTZJ0pL4FX+!= z#a;38Z~fWg+dmGyz2mA|Vmf3vZL?AOIq35-Zye-9$bZ`ADzGD(yZj-hfevl6QM%H} zpFDAr&(R**7o+n;Bme(k=)FPy*`*`oKka*W=-c-^vdfl`x3up@=?r@K=;K9YBgpM9 z`VRg7>hZ#IC-wr`_kjlK&tVswTJ0*^fDY~Zx3EVF9w=*R5AC~A`ZCxlgKt!o7XJ)6 zV>LP_H9FTAWz|=ufPAAodB*FbM(M|(KQ|igE{j6`Qy%Vt-d;Y%U8X~Z zQyv)uT!f$eUhOG_heqi+U|;m>%ViO?hw{*GUBg-zzO5E*8*;-x|1vgBDF6JA zI17ll5+z204$VW`N%PQ{fzmiHcv#zCoI-nOoB)mSpnah+9<(os@MC{lw}8w8`R@jw zd19Y;q8?;E%|rV_^U%Je!>@kv;%yNIx&6A|M^otH_Lt`QA~pl(4mC0EH=zI1*bExGLU}@CS13=~!v8#TS{14E|A$sz zx9kDgNb^vh&^(kUzr!D%4nF6GysZ!4`wZ}TJY+S^LwQ2;P@X)2f4&puVRgv=M>q>u zh7c|INDAakuVw_Ek!}@B9e$hOXZ!`~$Y1x7Ei|U^}#VGKH z#?R2$9?Dx9<4t)>0P(l~P(-%j&T-qJjjw>0jZ#@o|8l(#ewfL zr}6(Z59KY*LwQTT5uo2A&^(m?G=7QZr{65lxGAIfy+sKzyaoL8zc$>!=)DR?_cpvP zjJqP?pRY0a2S&@5O^xF>;8z#*<1BZfWZwBe?~$N)J{ZL%ZhzB;vyx|7$EDjDZL?9m z_no`(6Y#5Ftj^eyGts=t%DZgg1ha{@hu(=n+e7cQ7&kMV&xW6WLeZu8rn@y?2A_P_ zv5Abfht@^gL+dh%+uSublzTpP;*Xl{VzlqHURqapllHu*XLg!SUlbRpmMPpHYeVSNogU5*Q!5tMHb$0)C8U6fa} zE*jgs?0jzSlw6lrZM1>WxaG#AE~9aw-{R5l_~@NEbS#YS!=c{>((ei>P0D{tlk(r_ zJ4ecMN}uwa(l`3oOYOvYx|g-Ft!i zsxa0xhM&gg8-2$|WA$^ojWg#xGmvM)+`AtZZ)U@id2`H3`Yj=?%ji2nha$Pf`H~4d z4r`o#n?PyOZxAR=+WuJ)CBz(up}a8G)R9U>MW_7(Eo+T_BT3tA^!?+K&e7s#w`6XD z>>BFYL7dB%z_&oAQJS>Pl;#(0t}siyjEmwMAkXQy8N76#OkkF@!=SE`i%^wNxy}mG$}tTeD}TR zh`E;z*?#KDLh%lBdkkbglhm=0$ z;o#s$!l_3T_ryG`R_1{S0)I+F=2M!KhmcjxzGT`>>oy%3eF#>@LS3u}uxN$-3x zs+Z=UQ88Zj$5|N1+Nb&Hw~Dl#^n1h2qlZY-3O7~?>x02>BbFFX_?=e3q4+~>{j>q|RE9?c7heqiyvF>)^{JJdkE6T%aSa&ONKHCxNj`Gkb zeLUpAPMpt{ha8~1HTvF}@{``#MfpkZx-q(s%ZSgEKD}Fv)SbJz>$T@6O}takm@v(l;d&=629a z-{nh?)4J6*(fqV8G!N~|YUuxux+TkC>;$~ z=M3zlGiXmb_(Sv1{?a`3Zi+t(=N6aHuhtlMdMCygeJ6M5xe-3lJM_v!|L-&m@1H>b zKMDQ+{fi_y75YETPkBP~Q=T-2o#k?7pga#gH-?=Rvwxs`kNubCp**2^C{J>sah-*%a%G=AnF}dFWjt8!8X0 z^$0x4hxJbHFrhr8_YhJZ(mM~0?rWv|q-7~TX<4KDV`+ZMTbiHpmfkT-@3WD@K-4jg)aDZK-S-jz!4-kAvh zUa91|l3@oBOo&llLLpKfC(z-iU?Bg|$ZOqGf4awCrp6tJ@=O^6=61x2p`18*rCTA#QK5a8COWRD#4#9cHMZ_a@ z2Y))?yh9>p>He5RM*B$@~rU0xEtM9Oz%LZe5e9{{#T8Q$Pmc( zF!=MgAoiy9@~vjtcbcE}o#wBPbCU|5*=2k1xe?AyQV{#p?69Yq_MMiceWzs~;#}z} z;=X!e9xlYWQuNBZBFndC6YVc8OZ!gCKEiof(E0Vk8SASA&d5ssvRyRA`l39f_kdA4 z^v*F#Cmm;YZT3$VJ8@=bbiXvc8=vx)-iJ@`;iq{hKWQGyPkKK;eHVc8kmjd(C_jzf zDWE*0`6&-+S)+FojQB?B(6<{X9s1@19SeH@8yyRJzZ|7W--Doc+|m2-=-rhWPZqM* z@N@Q0_cXkhlIE%T-S?~me56N~ZZ*-nD=Tl<&!AiK?FT(gM)y+EyZh+9f3$7QuO=|) zPCOgv7}eWi`F{2uKGmzZQ<~OG@4y@w{D|d&?{w+}v)Sl=%lf}2uvqxOZ-Nf3cjKt< z*#r2uZ$$4g)BYOOYjiK-m535-I?fS3p$)XZM)i7^dB6hT#H>?Tb;pM)yzpx{WhAVXX6`UzCSN^}76&m0yGJdeGn>1m(%gS_OGl_@!$#+8`)T zjP4QLeRUTr3O-*ex>Qh}EG>P5tp}fDmu?r7Cr0%iaP7bjVIJNA9mI#~hw{XzUZeX$`}+*rrOxTffj@LCjOwLt z;!xhwH*qL$jqX{cZ}d>!(l>f2Z;k4uZw67`(l>)BZ;k4uZx~VD(l?AKZ;k4uZz@sV z(l?bTZ;k3Tx+j*7BYp45s9vLckE@n$BE1l|usO~1i@VB=?i;WBbu+mQu?+{8Z8g!d z>6OFeBE%|;g-oVpjqV#ay3d(MwwK=`w!{&1Xq*3&dS8_ZlSzo3$cejWX}!-~{p29T zKg@xQHM+N))?2qpd-)Y&U2;R_(|Rv^HIq*euhP5w9y9GPt(V?kP4By2bS7FhMJ&)! zw1M{Bs9xIU_fg)`53w8$kg@cx_0Ffu$uo$@r~%n%bdNf1^U%b`(jBokRUq?en+No- zC1H>7Um&ZE>ZR?!P%2xHGbV%9zvW_U(hkCm);Xj?-i%K%AXo1U4Plm zPS%eTM)lIZd-X0UDvj5U6T@GGZd(0VBk>05a8j(z&(ozeaIl!x?f zK00>v4L+lKDG%wpfpqNXn}A03QXbOrqHh|~x{Tf{G~ye5W0BTn^nRkzz5O4^`;W9P zqxT$*-g)tcoOgpg`w?=UzHMRjUWU;-FD)UT5&I|K?DsU$x;XZQJ+P4nV_%?k8Kp14 ze(@804hIf+nrIu0-T^UsFJ?aEYIoSe&1`Zt^KBa1P7ZnQ2^)NPx7uc-blT3Vkn<1V z$M_9$p0@LM>@TVCnVbL}qjcK-m)3np`k-y}9TWOaijs$!@8i(-Yv`LeIUx@l!%ja7 zc}V+v4|4b-d;(`7hmF!{-|Is@pMhT`0`i&maUAxAlJMa;U|%pwr+rtlt0w$cy+DWd z@iSy*W%$aJZDN#8``!)v7oIPa&(JUWMhtzAhQ855`9t66q5PQ$Io1=t2p7ow8<3xk z;Ol4z`APH8bjm}uPA9`()B|#r@+ukf{0w|k^C8cT(kTyrft+s$zubA7oX_Odb?g2j zXMhgnAx)<|Tw&dJWD43tdF74$&J8}&c=XFCo$_$9bsv;!AEa;k(D#Grdq$ME^gScW zTl#)6eIJ?Tp?s!!D4*#Y%JjWvnuqeA=AnG1Z#vWWqiG(RPI*q>m8Lv*#v8JkZ&(|p z)3KoMTvMLYH?@t@=~&Qrx9M9>^xY`>CLn#kkG=``2!0!NKE>d-p>LDXchHR9@1ryu zz~53FXG4ENR#Tb`ex692g;j^lH%g~jnenQZ*vFdi6M~fwEeB&FH&cn%FjdFX_QXe+#7zRyf_PfhPD~K ze`oYAp%?rc`M}%9kb$)CW#Lz8i?h6V$Wq#Oqx1t-e~X+7nN0h>41S&qIC~9+Y^QxU zN*@aU&)5+$aw6!^zI(v$q|Ug5(H`1gqx2^5N2&Ar+^|h3PmJCfGc5g>(J#tFqx9$SYh_1#MK$n;^492GNTc^C zDgXE4{pdq@+oBBKHQsgo@-BDvejMIDrek50Ugl6EQ&zlZQ3!7<)3I>I+t9D@4#gC_ z#Z1S-D7`n{jINFMEH>k4m^!a!*x)t8DsEU5kv1o_4p;Pe=1p|NRSQw={oW$EFc+a8=cuU8~=snPX zz8jnQzB7HJmcG|a->60G6Ib^bUxUt1-({xx5%2duZ#2{Vh)?6&5UaKoGXEpq{84na z!JlvR9xi=j_n&lj;9i{#|Da>^zVo)xL%0Xx*^d0b%HA?eisO6#Zuf57-Q6w7&fqS= zEf72e5*&g%1b2tv?htfgXK;52?!hetcmC%desev=KJ1nHzWUJ3+3HhwNq3#@sWU7p ziuLXA&A$Hj^j+L|nx9$UvRwM&+ir@(vo=S_z5{*Jm@=9@{`On`#FTd!{^X_aKM#>V zY#pPQA1;&4H~o=TX*^fl5$Tkj!H}OFl*np zORrE{WTW|mvy&>lWL zsa|XzXSRG+PgX-Vr}p@F&HM}KTS0~9E;gq&ecR?ALEjwW`8Fm!C#P%cZ%^NIW~cd+ zwU6DdqrWkI7m64TtA9*-9`M?Q^qffZxl4bm)AzS{&S%SE|CZI0)o?WV(}}(@u0j4} zB>%V3x5~ITv1PKlvE{J3vAMaS&;NZ>{Z(#mw)~jdh0Qrm-&*_M_1qkIoc-Qc`OSMB ztxx;!&J296e(9@R=WM$qKTzL4k8;qQZ1Oz7+OJWY`EOC~nD1%+WbI>W7y9Fle#|3m;fzwWu&cb{}-^R54%ZlUsHYTv<0CI1uJ zr!F#My5RXCnqQ^-FE97R3EuA!+dqN!!7jZjLoj!N`2MYwN9N2^Ef_0nO8+6+H=FV! zP>#^Fe#%?qr#w@X^YE;%EXB`1wD$!skGOA@prwid@h>cuFs`>k&EV6{mSQr z*+={4Q|!H1ky60}!Zcqtit|s>^LvK#xBwO3omxA5}_)cXF#>?2p*PQa&$TO0B zRc4NZOMJa3KTeuDv4U)wtPb&VSM!~t-xsI4**bV*U~6AriiZ!K&^Y)c-C&BE-E>e=}Drih{xPreqXYp_r1yAdfVj!pY%1lL`S?`uQ*-WUAiw;-$G zu!J3a7q_(VMdk1Gm4^FfRg5S^vF@a#v#Cyt7)o(<+P~tfGFc7TGTC;SvFc?}mtyai zs2`TzDnw+YIDbj%hisXwhHRN^yF@-Wq88A*fIBq4UTvtb{RZvHN&7Q=RVJ$;TPCYv z;w|H%ZqmM;(`md1$~25x^trlU+8gJqGV8C66LFjJB2nJ7AX_HeE){bQ-hP7itEYYG zgQrT(C_0VyqR&Oz<{6kS;t1s_czLl;kZp@B=|4w&qPzyD$)0VCZrR#LZTPZZeQ>Ac zMQx?M=<`z_X3J#Tf-RG6-#g8YM~$Za>Z?*er@f(~l2Xo~^fboVGTF9Z%VgW)&Gp!U zS+rk0?Mol5a^Y#zXWEOt4$WO`nQU9IWwPztdSd>-Cd!@EisrY&ZmPg#+KWCH&82La zY+JBpvh91PWAy;#qwxo5zFqRrABdv7Q6|l|Y?*=jr=spq{;8`pKeJ`B?Q5^Q9-y2x z{&zIDzo~vY@FV4lx8)3{@O=$F1vpwO3G1Hl|o%>&3mu!7pU<7q8eoXQzSb35z9rE32M7STTH zwBO@bb&u(~vneNaEh_)n^d!MN4O0bIQTddsE@+la8cap|jc23zpRIdL*Hwb+0v&1p z^Wik-uyyG^VO-$t?U}x`G%vAr`Ea6YK&D&_lxr!Na!ipxGs@9Wg~md$F7E?x)^74G zqq&`}OQ}|u0!L~8{4+HFvvrB-x}R&N3U(rYdXPSBUG`>*6TC&`l?wc}G1L`SLWkvzpB9-9GS| z@+M&ZXEkZLJb7R)<-EvGbJX-Yu>#(gTo}Q~WH$pnX+Qt&q%*6@<$resveAD2aY<)Z zlbEhMdQkjeTPi0H^+Q&ZT)mZ`T{6FK5A{P@A~5eu?xY~AZ9nB~RCCICM0sk07gijMx^g=sa+(AmIeP--zvN~LvfAFN zvoMfgZLWw#bpK_wjp@3tEiKsg;pT|=G`F+b#yj;Oki}2=eyPv1+QxL<+gmaQ)000D zG%vB*zKTp397yG~q&b1rHm2*+UNpghqz~oN`byivf9DI%q1;<>X|7|njp@3%64ec! z>@zdsd>1p=d|>ThPRcj8l;&r)9eaOgx21VFrt6{{f8Uu==ct^vRL+Cj83S{v zoU_y)j!;gw!_*%JP&vO)4y=|`&MNZ%#i39xu;32r8+mDuqn^|^VmhCJ>Q$Tai)EmC z&8NOvoAy(xKz;QE=~<5QaOEaFKV{4i97=mq9j3m@UiU8b!#tE@?kM#`_FA!MPDo67 z;u6rDz?S)p=7h|&chf&KC&X0#Q);gPU-Fa%m(dtpK>KJVqA~b}`pNN!p`2pDOf&}L zm&_m7Ph&8q@>!oh(Ofs4_M7TVa~)geS(@u4+OsPu&2_BLrDz`OMLF+Y)s7WpeV#-2 zf^J{(7YErgRk{}x$#^}Gp6&%P`T73jg8=19i^@m+c`eORzf-+>(j4`e#?fTxO!NFn znxndr&X}WO@{_H5Zn_r~UbiVQhwcSznUpsqkd^9njP3<7`N`J33EeAu(!O4ONFTP$ z({!)AMSG*=Abr@nQ|^Y~V#?)*`yg9)lb!*Bl#lN_YIn9wgPsAV&>mu+sNG|#?@O9D z;;qXSHIL?vIAx~>%2GcpMfZZbG+#ZW+-;NtD;T>^`vBz}37nyOK}_{!HPq>zyN24m z59!R7xq$AuHK-rDq;pL5Wi|BCGsz&*rwH{!w#*dMmjp^syHoC)80*Vwh-aP_6Osg5 z()eP_JVei03rU}AG`?63E6{Tka$aLy%xdV+v)`F7d8TccvJjRP zb!qNm%Y3uFd0;a2TdW1xwqSK*+u}MsGhZN`3(>uREpstF_qL{XX-;z{+ZJ|>(}ABU zr{o@*pV>0c({uP_$`4NYpo46g0eTLv_9X{pu-vb7x1(HU`RQ7xa%c1ZK{?JSw_UJt zL;?R&+7DqRwJGg&?7!UViqEBT8uTtjYlxXX%IzCeN|y2Gr<}zn>AJL+wSO|j3>#4& zWB>LQ8}HEbcD4L9{mm#w_nzkA(!G=Tzo(dUaT zeG_(c@a3XD7O$S*zx5@zU2xqB)xVPV$-hivnXP+F*G)?GnoaTH7F4ghq%HO&e?;>e zTdzW2v<)OBZP|KNrh3Jt7^X<`XYSU?{CajJ|6-cM*}80{dX1pCeSWGJTNn1a?6nR~ zd+VD|?Gx)P+$=NFVlEtUm0uRp{64v3{w2 zdAx7?k`%tJG*4cYCi#x{Ke3VW#0A;5i0QiJY2GMDxi7QPyzv*!8}le9=60GlSj~^p zyb+u7#fvm=u$pT$Z=|OD@~3Iu7)Im$G3DYcP2-(%0r>ksCeZl$ zNV!3i)A))_+mclnC$kC|8H^VOtWpMTN)u_XO_ zI^}ys9E@#K_PT7Fex~@(aLPx#p4zA_#ee=BUn59)!-MN7rgVbx7Z;~?OxfU6)YIp6 zgGZ@d%55GOb%6G%j-s&>r*y-pxu2`kzBX}!c_<$BC*?%9Xe8JqSDr~<*du6w$vB}!7<+C;ezr+uN8a;<(rMPZa`qnNs-A59u zJ0q+|m4gv9zip;C+k(w;gG;EbSsxyEoE7Cv(SkXtKd?S@+4i!iM&Gtwr7`&H79ql+ z-?Y}IG0xhsKCm{d4-dw_j<`$vt|Oj5g5uRzX)p0HG$*q*te>pSjj=_11s_%oQcm+= zO^W9yq~GM0p!-o(is!f7S2FmX?m?p{4mtEoUhE)SmyWg<)rRtDm!kg3)}`p2iV+WK z-~LQA4=kZLb2Iwh4>2FshOG;0!`3C+tW3UM^o`|Nnzy%7Jpas>z379i4OdK=-D1^uBBaeZx$-NMh8DwV}P=eI;7t4Zf%Q-3)qv_pW06 z;A|T27wP?-d^Sz+E!`ij9D}!C|B^30$ZDHsK)Q%ilwTh4c~;vY6raD)JzfCueDPX* z-%832O}VhYvSGDlZCGt5(EF4fly5pf?OQDUU|*)?Qv*4u&$BkHwyX`S?KFCCwRPdl z&>S8?@9eVf+Z9NL=lmG-XKh$*%hG#2&2_8|t1WB8YK!-k zpD5on<)IF0J!AVPQEuogH21PLtp2Rccl7>rO>z3>nC54L-k%<)eA9S;+M3>Q|>}F8_ZKy1*_vac{->Frgcc|BKKQcK=1_ z4ZHs$bbA{|59ta*9}w*WLI<#HqCWmHkw5(Zc(%*Q2%L}3Q8|11d+urKkIp5L_abmU zI!~4P&EM)+D}Qtr6$Bs7M`z+jUHsM0xAjM7x&^im=cBW6myZ63n;rboX_rmp!};i3 zII^8T%cHLT=zM-Jtqbo|h9yf7tVK z7tIf_=Oy|R?0K1%`Z?;$%SANqV9(3?iLQjo=Viw(Cqw@8a@fheA$wk89)mu-#5jOG zFHcZ^hd#VSKZQLn3q~5D`60{%!j8~*kA56J-}|H*nt#F^PI_V9iGCbDzw4e9n%~0w zF#m99yhlF{pEm>{G=GMPcEh|G{WyGnR?c^!@g3&vGUvW|96q19(TmXd4znKhCyf8- z$KmrEMm`CR?=X+tyZO!I@cE>TYK87ci$_)s@xPAGl&KrKA3d61Da7c<(a-0NEFZcb zjmg>ID~8X98UFw7C(DHNET5>+R}7yIGyMO7dnH5dB?(QwV)XOj{C-~Ixg=}X!lCCA9^yGYUO%6omv~P9FsziHmv~OU zGoienmw4_uF{?`G`G<#iPLEt%!_Uj3bpPK<_PlIB&lm86mv`v-1@+}+Cwe}Dp1k}- z&tGUSUg9|p{eYKvPDFp>CDxy?=Oxx5@Q0UJKcl|9#QGe1@)GNRv==WI(|QN}ftQG1 zpnvjmG_6n3KY59DDg5Cj*43ylFR_k=p1ed{0PV#~tb5TPc)6V78|ZJm#Pccad5Pyd z_`^#)XQRHn#B(9^ZZ-=dSQUkvA?6VItQ&r3Y#;kvxUb2jS5OFS1sKVD*;fcD`fo+Hs8 zc!_lm`X?{3ZbyIQC7%1?4==GkM}2vTbprI{CD!F=FJ59@f&RcttlQDwc!@X??0Jdj zX86NP#F0>6Ug9|$dh!x+CA1eW@m!Anz)QrH&_8*J^*Q<{FR?y{KfJ{H9QEZT*5}ZZ zmsp>py?BXr8u|k-u|7wC<0aNRcpt^fQ?!18Jue^7dIa{ol<55y?0K1#p5I{4%NF!J z276vkqUS5v^YS4*pTnM)@#uLQ_Pp#$&(E;u<({08A$wlNqvwk+{_v6Bvxe;X8CeYF z@6O3bJV(Nwmv}COJumT`2YX)Py)5i`iTfh#d5QZR?0Jd%7VLS6=N{Peav43(z@C={ z==lWpyxd9ewPDXo%;T`)SIidAFORVQ{9G&=H;Y5Zwq3;%0hSu|RJ~|Pn*q$q4C|voMmFE)S-9_ORVQ{9G!^c^sAB~6whIa^*oNF6LF%p zb+d-zMJ%zN$8mHb?%9UUBOb*vd_K(Z|KmBJFI^Y$E|%f*VTS)7aZl6>?=QjsI!4?R zy5apL%kcRy!~c)CC)x$?FTwvhM*Q<6wL9KlvJ9UOGyMOEd!k?A{U!Kc$5`jXE=;V` zzjYiwABrQ8KVgQ}>EAdGpGTYm^$Zj1^lu%9&*MG^9mB*r{aeT3^N6#cox;R={aeT3 z^SJM#ABKtb`nQh5=Mg7DKMWJ=^=}=A&tshl{ldgL^;^f`^PzPn=@({b9sG^s@Oi8= zp;2*=oco|@!vWQpT{~A`h|%&!MBdX=W(BgeqrK1{H^2gd8{*`Uzmt< zeCs%T9_u3L7o8hvorUw!8Cn;Se$kl)>o__eomdw^zv#sJ5a**4>mukEow)zud~{-6 z1pT5D>sy?UPTZ%VUv%PrjPucnbrJN7POQ&yK01rj{S@;EFENim2VP>`3wvJTJ`LS? z3BO^_OFU=5o|m_1UPim{61u>im(T_FyhQ(lJumSbgMPwG+&5s)OXv=JUP5=+^Ah6+ z_PqQ^_h~!_@Dl9`dtRblVb4pnE5;o!(XO!PCFTp*^Ag|LV&3B==2?tiUgACmdtPE* z#(3l<{DwU*ai4@eFEQ_9eDM;xz@C@T1@^qeeH-??#5%A)jTc_xI}D63UP5=+^Aftl zo|ky;fITl$()|?upO+J;ePPc_v@7g+iFSoOFVU{B=Ov!AV9!g$aWLL_iRV;|UtVIJ z0DE5IxfbJ*m+%|*yu>;L_PoS%GsYJ$p$qJJ30+{%ORS4v&r3YVW4!Ycx?_Ct61u~l zm(U&dyu`W=_PoS81pS|vXjjwAn} zUhbv%73_JLpW^MI`!6SNk^ivg5lQm%QK{ZX#8?=FzF9_UM8h@BkXxe@yQ7Ee_jrzc7;7JpWmAwvghSO zYG0Jk%dFJCu;-;j@m1LKQlR&VSikcUziYzy(HM`sgx|2|CE}Z~=Vc{| zdt-d@67hG~^Aftio|ivRychPoMEo7&g_qDB_PoUJEfELjC3Hvmyu|OCV9(2*^d15I zpO<)_0efDeU1875uGGF*@ADGvit>4h_X)7)CEi2e`v+d)Jp;b4;3eKepnP89J7#?E z!Ar#T;14hH9X9;oCBDPP_bR+RM&-kQUgEtY{O2X&KJcHH@B`oH@UkTNgZlDv6ZwPs z@)GfJ)R&itTcN(Zgx~mniI?yj`tUL<`44?~Ih*{4KDg5oXkhnI*SqJ4RZI34`wCE{J7 z{?AFoec(SY5m!Zj<|X2us4p)OXGDE@i8vkV%S*(qP+wlYB>yqqd5JhO^x@?c@*n!} zG9UR5eR!FS;*-#amomlcpbszceI)F8iG7ja4=*cIJOt(Q5^*u;!%O@Q0sioE48>dE z4=)k7Li_R(<-&hn;&&JDpO@Vz{saGciMSH_GcOT$Lw$J(KTuy@;&&;iFE1NY{0jBu zCH%&C=OyB3(1(}z$$#j>OME{IeRzquB=q4W;&jl5m)KVVd5Ly~JulI&@Q0W9P6+nA#J)Tj@4Uo!%^1JD#COuL z=OwLJUU&)JVb4qG4trig zci8h1aU$6B65pkv|ML><3VU9nT`_)niFSoOFVU{>hnI+R!Je1cCl2GCm-yWX#xF0i zPXz3FiQlncJn|BL!=9Je=K}V;L>vU;iSDa}62E7} z_~j+`WrjU3pV99tF&=pdzhTcy{5})*yu|NAF}`?tk@SH*FY)_N*z*$Kk-(mp*w+~2 zg_qDB_Pm7du;(RohdnRxoe=DKiQfyO|MSwK_Jut!(XJT3yhOXgo|iqSec=x;@tqLt zd5L|WG2VHZoqmsu@ykp6E*bW`jHKT$V?6S5KKT!OUXGyOMZ=z#Whfqk@x{xWqz~+Q znUM5>Juk8EA?$gHxDUn)FY)_u*z*#)!=9JW9rnD$zL2ozCB92T|K}y*T(IXQes7QQ z%S-fo*z*$Ky}=(|;&*+p=OyAA*#DoGi2GoFab6-0g7W_tA`b=Zd5E|Y{NW|yEbxby zC>Q&+^AhF4Z(btK1^;=8xDWj2CHz3%4PL?z)R&j=1NG%4;&iAlFA=vweR&DLv41}= z;WzZ*CH#gyyoBG-hnI*;LLXitP6vH>iMR&rd5O3W{NW|yASnNTA@qSg4-r>_KfFYo z1^)07<)VFgiE`mLFA?X0|GY%p2mbRCexN_|5`Lh*yo4X9FE0_NLw$LPxE1QlOZbiP z&P(_WeRv7Kp${+NH}v5p;*!vZmx$9rA6_D^0efB|?gM{#i8u(#|6d4wV9!IumEaFA z5oduvyhOQZUtXeI_{~eix!^x95%+=ryo4X<&%A^ms4p+!2kOg9#OY99ULtOV`tlNf zW4!YcenTH#!f)uqOZW|ac!{_q^x-AqbkK*FcWTiwORP)bKQFOvhyT39Iu`!(axUou|9J^r zFdlh{bvx?IOT;x$UtS`PgZlCkI-ATyIKD2XOT>}UUc5wH75?xN`!S-uc!_f1KQ9s2hX1@ooEQG{67Nyae|U*Jsi-e6;Rou= z%kdPSM}2vT_YkNrFZYoD=>NRLdn4$>OXT&0KD>nA(1({z>3szB;U(ho(1(|j&`M|_ z=)zdx8l|*tCKMD!p^!LCl!X!EEx{CS2%6*x8-<2a9HEi8PKq!5DavwE;hI=SHUvd# zCOJZVX|ohdSRq3{e&- zqFPj#qhwQ;Dbtla>H=k=5~2Q~j8>|tQ`Bhgn)R{_AHJ@5UEv4pFbE_rP!fJ7~g8H3WP%Wp%Qp>9GR8O6x zR8jqEWwo~IQ;VrJ)iP=gwV_&CEveR5E2;I=rfNmCy!xY>Ky9ohQRAy)m6mFCwT1et z`n_6JZL8K*+o+w@I%+MoquNOAp!QIIP#dVfsm;}HYCpA^+C=T6CR2N>snn$EFlCVX zvpP^6skT;Isl(Ow>M(V@+D`pN9jkU#$EZ`)E@~%rvf4|Xr2e7yRJ*G))dA`Zb%EMn z?W@jH)2MUR3~Fk1pi*7=UHx9Eq6}4ssFjq_YDJ}-GD;nxmQg0ErIixO1a+M1SEj2z zrI<2JouU?2=BVE(1(n(AEH$69NX@I{Ru-!B)f`GDHM^2q$f$l+E+~ZsRb8P9s;#b5 zH8qYJr8;UN^|%^WO`+aZ6RYV|RZFRUQkJRbl_lym<*cHpYt-fHDs{8ER9&oYRIe(3 zs<)NPiluH-*Q#69-Rf#}rMgqyqz2W4>IQYax?jDe>{TBsHe)wMVM1 z#nB$9_taS0Gu71+X;0NBY69(z8c$21y;5JO$+S;u5-pwfL4BvD(OxO3w2#UQC9Rr8 zQM61-21U{YEuCU%X_Qoop=nwQCAOAKNuqd~qa{)jY6+BhN_;J@7Dq|0#Zp`)sg_u? zm9(0v=t^oWrKTz$6j{kGyi?98tCT{*6(zHFM)_OGsa;g=D@C;H%0EhF?T+$NX`ww* z-YWyOXUbnn7Hx%+N&8b-u3S=bX&JQ~T0SkkmO(3^tyA)ATa~rS4W+1-T`R2lwX9k; zt%R0GE3TE%a%*|Da@uC4tQJ%@DR-4B+ILzdt%g=mE2P!bd|Gv_u2xKo(CTZYw0c@2 zt)y03`%#Nh8f$x%?aE`NrB+dEuC>w1YZbJ%+V|SeT6?XkR!!@u)z&&_UA0)gRP1ibUU9_264{e4vN9(Tj)aGdimATqU<$&^55taVhXZfAnSL>&}mxpR^ zLWt*~0Td(X?Hfmdx{mOnVpd3}MX?v8@%17;xvRYZB z)lrscjg)%I24#gdUt6WE(H3fpwRPGL%AZh) zwqDzm~2w12dJwKLjT?YVYdd#SzFE^3#x zw^}>pz1CIfpd3*?YgaW2I`mS_-|3l1lHTbW=_#f5{)TbMjI7lP2iLWl29N@0S%_(+|pqepucq zTe_p~mOXv1yiJa+$JL|c_zn1I`c`?3oLo<-uakQ!f6A$Z-b#ICp;AQn zQAw>gP+BS(^(IPNC9mE}>8O;}e^Gu@e$YE9eUzShccr0{MqjL?(`PG7m8ME2J*}Qa z&#tG}Gw3<=c}gyQnlfMcNy(>Y)(hz0=~?w`dSN}MUR3w#x%E7{U!S3r&?hLflwXxH zdVal}UQsWo7t$-~Mf58A_j)lsLa(kD*K6u^^pbihy{n%-US zp-L-|$_S;OvP|x+uaxJ@ef56&0(qdmSe_*h)`#eS$iwux@)UW5K2o15kI|>g zkf-QV^^x*SeY8ASo~8ex50M8cL*=}}U?rziOUW-}krwEAr1a7< zJ*$*T+Nh_Kl1TgY6jFTYs-95tqz`&*DVH=)udU3{t0^^=%+eBlzP?CbqtDf6>#Ovt z$_l-LQdvnWZP1tM>-BB=Vtt_=sjt?z=sWe5`f@#}msg_nQc77RxwKFJQ{Sr})z|53 z^&|RL{g8fI->h%aPw6}K6Z!=`pl{dD>m`-5dW2G3NhDp<_vlyj+xl*Omwrn>tl!ih z>Id}$`UCx>eoy~bKdv9spX%rIC;DssFa3=EN-wIs&?&Ml9p5enG6%1dR!x!@mznVCp8KviH$r;e#MsR z%kT8Mat-;7{#LIk3r2OhviwQ^tXGkBqmo=sRt?1{E4xN%xrA&RmQh@eXZYlzavUSJ zQAAE+d?y!>6B!AO{BkZOubfB7sq~k#DmjFna%!Wm+*QtKbeG%9d5uo;&vI$w7rB|- z$oNVALGEQVmHWwQjLb?(BfXMQ=^_&1Ug^|NZt7J1$Dyfyuay}!yk;nMX zNNc1s3L9CCLWa-CY-BO~Msg*>NUS7PewE7@xs6grMI)z?%cx`&G%6V18~Kd_Ms=f@ zQO&4h6fue#b&Z5dZ6mG{Uuh-(V3af(7|o30MhT<2QQl~3v^L5b<&2+=s>V-7JEO8u z#b|HTGJZ9>7&VNVMpq-Y(%EnnPiZ3eG#VP+jR8h|qn^>ojs zl+nUyX^b|0F-95_j5bDFW1`W?7;j87Iv5>|>4v3DH8jOg8pw*=!;s|9(r-pLf$$uDGh%}ZM z%Z%;DQ#s0bB>yWXk#`%bjGe|lW2Ld$IAE+d4jPAzKaGvXQDcj7+&F1$HMSY2jR*2y z#%=kb99O@dz5SB-!XG_DzYj2p(^#$IE;aoad#+%@hSM~q{}L*s<;*!agdWt=ho zHEzkzjcf89*^yrv7mXLj2jjeP)_7-JHr^Y8dBwPHh~`a0HZ}8>amO&sdxm8?<^$uA z;h9g2*k)YwsqxH+Z(fxXn&;)~vM#TZ-Wn^VrP3SYrLkE0WGs>9NuQ06##~7<=Swpr z#Z=9il5YMXO_EI0HYZE2IaL}X#WLfVY6Y95nzNX5(pQlwPd+%0X8I-60_B`Jw{MowlPkhRcFpHZd z%!X!Zvys`vENhlCo0=8P=4LCivRTFa$^72@+5E+zZB6 z9%g;Bp4r{}!R%@FH5;2hn*GdX<^XfB*}`mT4l!Gsznde>HfCFMq}k3KZH_ZLm>tdW z<|cW9xmw;LZ<6XsUCjnkP3bqYn^{BZW!93aNPW!SW@V|rSxqV{4KxRt<)ooz1*y0+ z%p7i(kVcuMq$1K7bF5iZnrIf2@=KG<$z}m*tz1w_DXfLC+U>gPHHMWHCszVr77kLd78OUUM2UJW|`B?+2#Usra8l$Z!VG- znzQ94a!+ZgImcXXt}*ACbIsM}B6F>|(OhCKHaD1a?R zuery(Y92JNo43uw<{|TzdBVJ7J~B_5$IS=kB>AB^N}eqLEd6VqF`t{S%(Lb>^R;=& zd~1F*ub7w359ST?vngADn>S6#x@#(yW!*RLnTGYmG_BayKjvf8v&P7=tl#Caa&t+Q zo|%U9Nqk|xG(U@POi6kpzBAvOZ^cjMd-1s_T7vaVRIQidV^Oy>>yhYKPsDqoYuVNv zF|Ku2{9BA?#j$RP!{zH@0b!V&TOKIq5(>(Rt$cDZIi*!tE+uEP{Bi|3!YU(IlWSWQ z<=S#*>w7tmoX{F1$G3XR1LQ(-ax00I)Jkt9vJzNntv+&UtDD?Qj*v53sjN&^9xH{F z%*thDuyR<1taMfytAO>JoX_egcaclVMXjt>VXKst#mZ=vuyR{|tAdr&%5Igj3R-2X zYF2(LuT{nBAXl>5%I)Oxa!sq4Ro!Z66|ugv>RTnPx>i%GxaG5cw8~qJte>p1R%xrH zRn=;4{c2UVDq3x=HuBF_OS!dNRqkljvf5ictQyw$)^An=tE<(|s%O=)`dCe@Ue*w+ zvGs#B$ZBN`utr)ftY+45>lf>HYrNIQYHf|NTF9fVALZt9E%}Pr$+{$75Ib1ytaD;_ z>o4)N*v;xy(uSR8B}6!(h*t^U?tafG#7+$j#ThFU>!oE0T*6USPk ztgT{Wd9#>UXe3{ea>-eQzon_xRq4L;hjmMOA}zHZNH3&F>tE@ebjo@y3G!3xqjXuC zY~_?ET3O_5@=a-`HN~24EwCn86RdewW_ga4PR=0TlNMXEtcBKUYlbz=T4~LyVW~ zK42x3lgclp6V^8Cn04OTYHha8T05;X)>SKLMOl}v{nkb6mbKT~ZQZnvTGy@n)?w?Q zb=OKH-?3uJ3FPw|U9`pbG}U9;X;qJ71>WPP@7Tc0f5 z{@c1?srExlv0eLtb`|g6j}~JKwme!oC#4rA zN^$Jr(sU`2Jyx16rM0I>3#I(_ENPik*d3}J}I4-CP+!_*mg2I zg&o(9Z>O?PNNMcD(kW@0l)+ADXS6fhiS49zRy(jVjZ!a-QKP%cCzb>--})Bu6A{?yIoVPDE72_*_FgTb``O- z*v}qdmlX%uGm>vroF;mW&dH%u~*x_N$c#6QV*%3w9%exZ??DE^X-N9 zHhZxhWe4r0_Huitz0%%o@3q(1Ywi7Z2kD^QR_ZK$FCDel+sEyb_6B>CecIk)|7D-E zBkk?>1v_A0vai@X>|ORXdyjp?{@dPXAFyxRZKS()OX(M>j`YAjWIwk5v5(lt?0@YO z_H+BCeab##zqZfXZ|(Q?dHbUM(Y|bdwngWvechIwo3`rc&Mo_nZ8|L^+xbyyCH)|6 z7Vg?OhLAH}@R3sIIT zI`2eNYV8QpEzxoEN}iKV$|pS(<2kXM1Wqz1juYES;^dGLI~k?y(!XLFC%%);$>bz- z5;<9%6i#L*my_H{>f~@TN!gqXjnBPh16mSYVshzY=Q73~_#3}BicQQI9oScr| zDd%K&vN~m*)KY0DnUqrcAXavAJ5`+OP97(pQ`0Hr)NtxL1)cAl`i{@3=QMVTIT6l} zP8p|>)6yyBlyq7+Nu_2^0x7X1N^P9-PFttFQ^Bd^babjY9h|OCRp)!>H>Zx%&FSsb za%ww$oFANC&OoPu)6f~@G>M{4HD(esX?xt_Z(6 zmxaHCUz~Q%Iia(2RyZzna=JJtg`Um{;gHbX>ERp}`a1`OJwjinpR-r^-PtV!g(1#h zCm^^|l#oJjBwM^HCJ|I|jAMwOg-MPiz7^&=AB5+^dgqn!SUBW7748c6oCks_j&&}J zqn-2OMNt+fJENS5&J1USGt!yqoE4`#r^GYjM`4~b!I|SMcE&m5oh8mRXOXkgnc_@! zRyilc70waynD|=w)0yq8bGA6MoIjkc&O&Fi6L97`3!I>{+=+7bI7^*n&R*w`xZBw$ z9uWT(4m)d|gU$(OwX?=K>1=Y2J7=8@&PL~)v)%d2x$Hzb+ng)TF6WYS)7jzdbpCes zh&P-a;x6%_aNjxL+;yHf`<(sGKh81dvGc+?;v98eI%k~c&O7InbJ}_DTy)+#f_vV% z;E3*Z=d+`^SDkB)?gm8FjTEWSiI%jc7}+LoIzq=@qzQu=_fvO`iR}d zr_R4l5Alujo7hQw<-B$}i=Uj1;xFO{=cDthsJLy#R-)v}?oZ+tv89+u*d#U=H;M^_ zpGDVgA+{IexoyO*Vk)OH7VlFqO zo5L;SCU=v%1>E#*J~zTm>!x;#x>?=AZYejjo6#-d&KLdeAL3lGr&!L-?Ur$?xjEhJ zZWXtnTgk2M=6CbDHQi!vb+@5g#Qn~#@0N7yx=r2UuFw6^oh3GMr;0Pg{$fkFyxZLU z)h+9mcH6pD-JjjgZe_Qk+tID%ws(8DHQevr-`oanSGS*A&#mM3ahtfk+#zmb_Xl^N zJ4GDeju$71L&XAOD>t8*M{MCXb90KnxH-gZVjH)$n?>y8W)#zl9o%+qIbBnRXp>7lLcekF{R7@z2a!0tM-AV39cbGfDZ6Ho` zYlscSyCHFy0hIW?i_cqJJp@+E_7>&i`>d$Z85F5+@0mFaM!zkxHH|g z?tFKhyTx7L&T}`pOWnwC*5c6dH1>d&b{ECbKkgE-M6mbU30IvpWKq-XSc9eO3W`d z5pKCng&&05?%!?$;ep#ws3Sad@4K~xr*3WGd*NUAAGfOT%B?0;6kfY8-SWZ*w}Mbw z_~^cOOA3-#O7ID?Cwj$%Vq%0~3lZWr!4;DUI|b9*F6x0loV-uuq0>eclMdilLNp3kf4 zHS&siMZAXI3!%REkMK-5FEsN?c}={Zy%Jt=ueDdfYvr}~%6VnIc3w5_7q6>V#jEUf z@oIaWyk1@{uZGvt`@!q(4e%Ox^}K%G6QPfHUw9;36~+iny-~t&;YY8rH%$1+8!8ME zT6!(Kfx@p|f1!`i)@$SS7CL)9h2MmZUI(w6(8KE@bQFH`x_KRh{$4wwtI#d!8bTu>;MEhF3zxmdLJ47zw@Db{ ztroTj<%HqhU~i;1#vAJW?v3@<3gf+{!g`^KFxea7P4#AYqrB1HOmCd`hd0-o;7#=A zdCP?b-h5%DP*YgqP4Sj_E4^vnbZ?b6%Uk2E_hx%@yg$A9-bQbWx6oVUZS@uk+q_xA zVxhhe^p<)%y*=J?Z-uwlTkY-l4tZ<6b>3lbgLl+B;cfCZdndg}@3eQ;+wMhq=e*g% z1#gNlSNKu5;_dLRc{jaX-fr)2Z=ZMDyXPJ74tn>!Bi=*riFeF9?)~GP^8WQ+cxSx7 zyqDg2@3r^NyXal=-h0!8kKQ<8hR{;@Nx16$Ec_x|_ilK<3b(xWLMP#lch~DIJn*^- z-GxWqW3Pws)axbm6`py|y?(+gZ-6jZc;mhGh6o?L--QvvC-1X2QkWo&7F1!9@c#hK C(h|M^ literal 0 HcmV?d00001 diff --git a/screenshot_tests/projects/scripts/LightControl.lua b/screenshot_tests/projects/scripts/LightControl.lua new file mode 100644 index 00000000..3f081053 --- /dev/null +++ b/screenshot_tests/projects/scripts/LightControl.lua @@ -0,0 +1,56 @@ + +-- This script controls the lighting of a Phong-like shading model +-- The light position is static, but can be switched from three +-- different positions: left, right, and top (use numbers 0, 1, 2 on light_id to toggle) +-- Optionally specify a diffuse_color to override the default (green-ish) color + +function interface(IN,OUT) + -- Input: index into an array static light positions + IN.light_id = Type:Int32() + -- Input: diffuse color (setting to zero causes the script to use its default value, see init()) + IN.diffuse_color = Type:Vec3f() + -- Input: light color (setting to zero causes the script to use its default value, see init()) + IN.light_color = Type:Vec3f() + + -- Output: direction of light in that static position + OUT.light_direction = Type:Vec3f() + -- Output: light color + OUT.light_color = Type:Vec3f() + -- Output: diffuse color for material(s) + OUT.diffuse_color = Type:Vec3f() +end + +function init() + -- Declares default colors which are used if no other value was provided in the INputs + GLOBAL.default_color = {0.28, 0.82, 0.6} + GLOBAL.default_light_color = {1.0, 1.0, 1.0} +end + +function run(IN,OUT) + local lightId = IN.light_id + if lightId < 0 or lightId > 2 then + lightId = 0 + end + + local lightDirections = { + [0] = {1, 0, -2}, + [1] = {-1, 0, -2}, + [2] = {0, -3, -1} + } + + OUT.light_direction = lightDirections[lightId] + + -- If a light color value was given (IN.light_color), forward it. Otherwise assign default color + if IN.light_color[1] ~= 0 or IN.light_color[2] ~= 0 or IN.light_color[3] ~= 0 then + OUT.light_color = IN.light_color + else + OUT.light_color = GLOBAL.default_light_color + end + + -- If a diffuse color value was given (IN.diffuse_color), forward it. Otherwise assign default color + if IN.diffuse_color[1] ~= 0 or IN.diffuse_color[2] ~= 0 or IN.diffuse_color[3] ~= 0 then + OUT.diffuse_color = IN.diffuse_color + else + OUT.diffuse_color = GLOBAL.default_color + end +end diff --git a/screenshot_tests/projects/scripts/camera-orbit.lua b/screenshot_tests/projects/scripts/camera-orbit.lua new file mode 100644 index 00000000..2f1237f2 --- /dev/null +++ b/screenshot_tests/projects/scripts/camera-orbit.lua @@ -0,0 +1,18 @@ +function interface(IN, OUT) + IN.dist = Type:Float() + IN.pitch = Type:Float() + IN.yaw = Type:Float() + OUT.rotation = Type:Vec3f() + OUT.translation = Type:Vec3f() +end + +function run(IN, OUT) + + -- local yaw = IN.yaw * math.pi / 180.0 + local yaw = IN.yaw + local dir = {IN.dist * math.sin(yaw), 0, IN.dist * math.cos(yaw)} + + OUT.rotation = {IN.pitch, yaw * 180.0 / math.pi, 0.0} + OUT.translation = dir + +end \ No newline at end of file diff --git a/screenshot_tests/projects/shaders/phong-struct.frag b/screenshot_tests/projects/shaders/phong-struct.frag new file mode 100644 index 00000000..f66b90a1 --- /dev/null +++ b/screenshot_tests/projects/shaders/phong-struct.frag @@ -0,0 +1,43 @@ +#version 320 es +precision highp float; + +in vec3 v_NormalWorldSpace; +in vec3 v_VertexWorldSpace; + +// Phong properties +uniform struct { + vec3 lightColor; + vec3 lightDirection; + vec3 ambientColor; + vec3 diffuseColor; + vec3 specularColor; + float shininess; + float alpha; +} phong; + +vec3 phongBRDF(vec3 lightDir, vec3 viewDir, vec3 normal, vec3 diffuse, vec3 specular, float shininess) { + vec3 color = diffuse; + vec3 reflectDir = reflect(-lightDir, normal); + float specDot = max(dot(reflectDir, viewDir), 0.0); + color += pow(specDot, shininess) * specular; + return color; +} + +out vec4 FragColor; + +void main() +{ + vec3 lightDir = normalize(-phong.lightDirection); + vec3 viewDir = normalize(-v_VertexWorldSpace); + vec3 n = normalize(v_NormalWorldSpace); + + vec3 luminance = phong.ambientColor; + float illuminance = dot(lightDir, n); + if(illuminance > 0.0) + { + vec3 brdf = phongBRDF(lightDir, viewDir, n, phong.diffuseColor, phong.specularColor, phong.shininess); + luminance += brdf * illuminance * phong.lightColor; + } + + FragColor = vec4(luminance, phong.alpha); +} diff --git a/screenshot_tests/projects/shaders/phong-struct.vert b/screenshot_tests/projects/shaders/phong-struct.vert new file mode 100644 index 00000000..a32ef6a4 --- /dev/null +++ b/screenshot_tests/projects/shaders/phong-struct.vert @@ -0,0 +1,23 @@ +#version 320 es +precision highp float; + +in vec3 a_Position; +in vec3 a_Normal; + +uniform mat4 u_MMatrix; +uniform mat4 u_VMatrix; +uniform mat4 u_PMatrix; +uniform mat4 u_MVMatrix; +uniform mat4 uNormalMatrix; + +out vec3 v_NormalWorldSpace; +out vec3 v_VertexWorldSpace; + +void main() +{ + vec4 vertWS = u_MVMatrix * vec4(a_Position, 1.0); + + v_NormalWorldSpace = vec3(uNormalMatrix * vec4(a_Normal, 0.0)); + v_VertexWorldSpace = vertWS.xyz / vertWS.w; + gl_Position = u_PMatrix * vertWS; +} diff --git a/screenshot_tests/projects/shaders/phong.frag b/screenshot_tests/projects/shaders/phong.frag new file mode 100644 index 00000000..74fa0671 --- /dev/null +++ b/screenshot_tests/projects/shaders/phong.frag @@ -0,0 +1,40 @@ +#version 300 es +precision highp float; + +in vec3 v_NormalWorldSpace; +in vec3 v_VertexWorldSpace; + +// Phong properties +uniform vec3 u_lightColor; +uniform vec3 u_lightDirection; +uniform vec3 u_ambientColor; +uniform vec3 u_diffuseColor; +uniform vec3 u_specularColor; +uniform float u_shininess; + +vec3 phongBRDF(vec3 lightDir, vec3 viewDir, vec3 normal, vec3 diffuse, vec3 specular, float shininess) { + vec3 color = diffuse; + vec3 reflectDir = reflect(-lightDir, normal); + float specDot = max(dot(reflectDir, viewDir), 0.0); + color += pow(specDot, shininess) * specular; + return color; +} + +out vec4 FragColor; + +void main() +{ + vec3 lightDir = normalize(-u_lightDirection); + vec3 viewDir = normalize(-v_VertexWorldSpace); + vec3 n = normalize(v_NormalWorldSpace); + + vec3 luminance = u_ambientColor; + float illuminance = dot(lightDir, n); + if(illuminance > 0.0) + { + vec3 brdf = phongBRDF(lightDir, viewDir, n, u_diffuseColor, u_specularColor, u_shininess); + luminance += brdf * illuminance * u_lightColor; + } + + FragColor = vec4(luminance, 1.0); +} diff --git a/screenshot_tests/projects/shaders/phong.vert b/screenshot_tests/projects/shaders/phong.vert new file mode 100644 index 00000000..8ff95edc --- /dev/null +++ b/screenshot_tests/projects/shaders/phong.vert @@ -0,0 +1,21 @@ +#version 300 es +precision highp float; + +in vec3 a_Position; +in vec3 a_Normal; + +uniform mat4 u_MVMatrix; +uniform mat4 u_PMatrix; +uniform mat4 uNormalMatrix; + +out vec3 v_NormalWorldSpace; +out vec3 v_VertexWorldSpace; + +void main() +{ + vec4 vertWS = u_MVMatrix * vec4(a_Position, 1.0); + + v_NormalWorldSpace = vec3(uNormalMatrix * vec4(a_Normal, 0.0)); + v_VertexWorldSpace = vertWS.xyz / vertWS.w; + gl_Position = u_PMatrix * vertWS; +} diff --git a/screenshot_tests/projects/shaders/skin-rigged-figure.frag b/screenshot_tests/projects/shaders/skin-rigged-figure.frag new file mode 100644 index 00000000..44aae2de --- /dev/null +++ b/screenshot_tests/projects/shaders/skin-rigged-figure.frag @@ -0,0 +1,13 @@ +#version 300 es + +precision mediump float; + +in float lambertian; + +out vec4 FragColor; + +uniform vec3 u_color; + +void main() { + FragColor = vec4(lambertian * u_color.rgb, 1.0); +} diff --git a/screenshot_tests/projects/shaders/skin-rigged-figure.vert b/screenshot_tests/projects/shaders/skin-rigged-figure.vert new file mode 100644 index 00000000..c6d9d5b6 --- /dev/null +++ b/screenshot_tests/projects/shaders/skin-rigged-figure.vert @@ -0,0 +1,28 @@ +#version 300 es + +precision mediump float; + +in vec3 a_Position; +in vec3 a_Normal; + +uniform mat4 u_VMatrix; +uniform mat4 u_PMatrix; + +in vec4 a_Joints0; +in vec4 a_Weights0; + +uniform mat4 u_jointMat[19]; + +out float lambertian; + +void main() { + lambertian = mix(0.4, 0.8, max(abs(dot(vec3(1.5,2.4,1.0),a_Normal)), 0.0)); + + mat4 skinMat = + a_Weights0.x * u_jointMat[int(a_Joints0.x)] + + a_Weights0.y * u_jointMat[int(a_Joints0.y)] + + a_Weights0.z * u_jointMat[int(a_Joints0.z)] + + a_Weights0.w * u_jointMat[int(a_Joints0.w)]; + + gl_Position = u_PMatrix * u_VMatrix * skinMat * vec4(a_Position, 1.0); +} \ No newline at end of file diff --git a/screenshot_tests/projects/shaders/ubo_phong.frag b/screenshot_tests/projects/shaders/ubo_phong.frag new file mode 100644 index 00000000..fb089f02 --- /dev/null +++ b/screenshot_tests/projects/shaders/ubo_phong.frag @@ -0,0 +1,43 @@ +#version 320 es +precision highp float; + +in vec3 v_NormalWorldSpace; +in vec3 v_VertexWorldSpace; + +// Phong properties +layout(std140, binding=10) uniform PhongParameters_t { + vec3 lightColor; + vec3 lightDirection; + vec3 ambientColor; + vec3 diffuseColor; + vec3 specularColor; + float shininess; + float alpha; +} phong; + +vec3 phongBRDF(vec3 lightDir, vec3 viewDir, vec3 normal, vec3 diffuse, vec3 specular, float shininess) { + vec3 color = diffuse; + vec3 reflectDir = reflect(-lightDir, normal); + float specDot = max(dot(reflectDir, viewDir), 0.0); + color += pow(specDot, shininess) * specular; + return color; +} + +out vec4 FragColor; + +void main() +{ + vec3 lightDir = normalize(-phong.lightDirection); + vec3 viewDir = normalize(-v_VertexWorldSpace); + vec3 n = normalize(v_NormalWorldSpace); + + vec3 luminance = phong.ambientColor; + float illuminance = dot(lightDir, n); + if(illuminance > 0.0) + { + vec3 brdf = phongBRDF(lightDir, viewDir, n, phong.diffuseColor, phong.specularColor, phong.shininess); + luminance += brdf * illuminance * phong.lightColor; + } + + FragColor = vec4(luminance, phong.alpha); +} diff --git a/screenshot_tests/projects/shaders/ubo_phong.vert b/screenshot_tests/projects/shaders/ubo_phong.vert new file mode 100644 index 00000000..9e8361c5 --- /dev/null +++ b/screenshot_tests/projects/shaders/ubo_phong.vert @@ -0,0 +1,35 @@ +#version 320 es +precision highp float; + +in vec3 a_Position; +in vec3 a_Normal; + +layout(std140, binding = 0) uniform ModelBlock_t { + mat4 modelMat; +} uModelBlock; + +layout(std140, binding = 1) uniform CameraBlock_t +{ + mat4 projMat; + mat4 viewMat; + vec3 camPos; +} uCameraBlock; + +layout(std140, binding = 2) uniform CameraModelBlock_t +{ + mat4 mvpMat; + mat4 mvMat; + mat4 normalMat; +} uModelCameraBlock; + +out vec3 v_NormalWorldSpace; +out vec3 v_VertexWorldSpace; + +void main() +{ + vec4 vertWS = uModelCameraBlock.mvMat * vec4(a_Position, 1.0); + + v_NormalWorldSpace = vec3(uModelCameraBlock.normalMat * vec4(a_Normal, 0.0)); + v_VertexWorldSpace = vertWS.xyz / vertWS.w; + gl_Position = uCameraBlock.projMat * vertWS; +} diff --git a/screenshot_tests/projects/skinning-rigged-figure.rca b/screenshot_tests/projects/skinning-rigged-figure.rca new file mode 100644 index 00000000..99c985c7 --- /dev/null +++ b/screenshot_tests/projects/skinning-rigged-figure.rca @@ -0,0 +1,10519 @@ +{ + "externalProjects": { + }, + "featureLevel": 5, + "fileVersion": 54, + "instances": [ + { + "properties": { + "backgroundColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "defaultResourceFolders": { + "imageSubdirectory": "images", + "interfaceSubdirectory": "interfaces", + "meshSubdirectory": "meshes", + "scriptSubdirectory": "scripts", + "shaderSubdirectory": "shaders" + }, + "featureLevel": 5, + "objectID": "4cf440c3-b838-49ff-9150-527f13c55f74", + "objectName": "skinning-rigged-figure", + "saveAsZip": false, + "sceneId": { + "annotations": [ + { + "properties": { + "max": 1024, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 123 + }, + "viewport": { + "i1": { + "annotations": [ + { + "properties": { + "max": 4096, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + }, + "i2": { + "annotations": [ + { + "properties": { + "max": 4096, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + } + } + }, + "typeName": "ProjectSettings" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "c80cfe27-71fe-48b8-a9ac-1cf5962540cd" + } + ] + }, + "enabled": true, + "objectID": "2b7c4d00-93ce-40a1-a69d-827390ac554d", + "objectName": "Node", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "tags": { + "properties": [ + { + "typeName": "String", + "value": "render_main" + } + ] + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.7 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "enabled": true, + "frustum": { + "order": [ + "nearPlane", + "farPlane", + "fieldOfView", + "aspectRatio" + ], + "properties": { + "aspectRatio": { + "annotations": [ + { + "properties": { + "name": "aspectRatio" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 4, + "min": 0.5 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 2 + }, + "farPlane": { + "annotations": [ + { + "properties": { + "name": "farPlane" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 10000, + "min": 100 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 1000 + }, + "fieldOfView": { + "annotations": [ + { + "properties": { + "name": "fieldOfView" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 120, + "min": 10 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 35 + }, + "nearPlane": { + "annotations": [ + { + "properties": { + "name": "nearPlane" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 1, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 0.1 + } + } + }, + "frustumType": 0, + "objectID": "b0e63b9d-f290-4628-9376-9f0f6629280b", + "objectName": "PerspectiveCamera", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 3 + } + }, + "viewport": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + }, + "visibility": true + }, + "typeName": "PerspectiveCamera" + }, + { + "properties": { + "enabled": true, + "objectID": "004dee79-2d9b-4e9e-9303-4ac2189a9b64", + "objectName": "arm_joint_R_3", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 9.531179428100586 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -16.202068328857422 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 2.9976377487182617 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999998211860657 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999999403953552 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.18551680445671082 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "0591450d-c617-4224-af80-9a1a81cd943f", + "objectName": "animation_0.ch44", + "samplerIndex": 44, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "06a5713b-d6ee-4003-9d6c-286eaf62aef3", + "objectName": "animation_0.ch47", + "samplerIndex": 47, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "e86e6216-4f21-44b4-97eb-5ab380e754dc" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": true + }, + "uniforms": { + "order": [ + "u_color" + ], + "properties": { + "u_color": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.8509803921568627 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.8823529411764706 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.2823529411764706 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + } + }, + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "482ad099-9f52-4d0c-81a1-0c68ebd61c8e", + "objectID": "07904c60-dc01-4336-9aa0-496e51db2632", + "objectName": "Proxy", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "08d49812-025e-40c7-b04c-f8862d56d880", + "objectName": "animation_0.ch55", + "samplerIndex": 55, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "joints": { + "order": [ + "joint_0", + "joint_1", + "joint_2", + "joint_3", + "joint_4", + "joint_5", + "joint_6", + "joint_7", + "joint_8", + "joint_9", + "joint_10", + "joint_11", + "joint_12", + "joint_13", + "joint_14", + "joint_15", + "joint_16", + "joint_17", + "joint_18" + ], + "properties": { + "joint_0": { + "typeName": "Node", + "value": "fa7e1b3d-cc76-4e4c-b527-e1b1b47b858c" + }, + "joint_1": { + "typeName": "Node", + "value": "71542623-c677-4254-9456-2712ff4c3a08" + }, + "joint_10": { + "typeName": "Node", + "value": "004dee79-2d9b-4e9e-9303-4ac2189a9b64" + }, + "joint_11": { + "typeName": "Node", + "value": "348bac46-6da4-4ceb-a96f-7ef816a68eb4" + }, + "joint_12": { + "typeName": "Node", + "value": "9348d441-2e34-4e53-8d72-11780148868a" + }, + "joint_13": { + "typeName": "Node", + "value": "863c1b12-9449-43a4-90cc-54ccb81aec38" + }, + "joint_14": { + "typeName": "Node", + "value": "2e2a5809-a71d-4263-b8b8-ac8c31ec6648" + }, + "joint_15": { + "typeName": "Node", + "value": "c805e73b-3273-4b51-99b5-253ef1917ed0" + }, + "joint_16": { + "typeName": "Node", + "value": "9bcad876-8074-4a5d-a9be-fae668a94868" + }, + "joint_17": { + "typeName": "Node", + "value": "67a5ce33-34d3-4613-b707-78c0321ee13d" + }, + "joint_18": { + "typeName": "Node", + "value": "c4e73a74-02b1-4d9b-a3a5-3d13fd91e1ef" + }, + "joint_2": { + "typeName": "Node", + "value": "d987aa18-6ef1-4365-8607-1e1739bf49b4" + }, + "joint_3": { + "typeName": "Node", + "value": "a1641f65-a42e-4fc3-866a-8b571e4ef1c5" + }, + "joint_4": { + "typeName": "Node", + "value": "ea0b78f3-8567-49c0-b4ca-b0f13efb547b" + }, + "joint_5": { + "typeName": "Node", + "value": "4f4ef474-b5a4-43e4-a0c3-545b6776f36d" + }, + "joint_6": { + "typeName": "Node", + "value": "aaab0a94-3d79-4195-90be-7f439d01b605" + }, + "joint_7": { + "typeName": "Node", + "value": "d9ac6a33-768f-41bd-a322-bd28529410e2" + }, + "joint_8": { + "typeName": "Node", + "value": "973f1301-0af7-4b03-b0d7-390752ef27d7" + }, + "joint_9": { + "typeName": "Node", + "value": "ebb0caaf-90d5-48f7-ba4f-0c0933e1cba5" + } + } + }, + "objectID": "0a397364-5e6d-4aa1-8189-8fc68c48cb61", + "objectName": "Armature", + "skinIndex": 0, + "targets": { + "order": [ + "target_0" + ], + "properties": { + "target_0": { + "typeName": "MeshNode", + "value": "07904c60-dc01-4336-9aa0-496e51db2632" + } + } + }, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "Skin" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "0b1eb23f-337d-47ea-9977-624880e14630", + "objectName": "animation_0.ch4", + "samplerIndex": 4, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "0e0afa74-42db-431d-93fe-c9c30c8a6ee4", + "objectName": "animation_0.ch26", + "samplerIndex": 26, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "136b80f6-c3ef-4397-9a70-954b89750084", + "objectName": "animation_0.ch12", + "samplerIndex": 12, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "19aca316-b8f0-45b1-935d-e131fcd15259", + "objectName": "animation_0.ch28", + "samplerIndex": 28, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "224390c4-7b3b-407f-aaa8-2e231c77433e", + "objectName": "animation_0.ch18", + "samplerIndex": 18, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "07904c60-dc01-4336-9aa0-496e51db2632" + }, + { + "typeName": "Ref", + "value": "b80894b6-827b-4099-886b-2a3c3ad9e560" + } + ] + }, + "enabled": true, + "objectID": "249fc9e3-6675-47db-8bad-af6f74b18e27", + "objectName": "Z_UP", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -90 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "26d4cf24-2b52-4e63-9d6b-85a33ea0162c", + "objectName": "animation_0.ch33", + "samplerIndex": 33, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "283d4030-434b-4ec2-bac7-4ed16ec51042", + "objectName": "animation_0.ch56", + "samplerIndex": 56, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "2871f080-35b2-46e3-96ae-1365a27d39f0", + "objectName": "animation_0.ch53", + "samplerIndex": 53, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "2c89406c-e862-4978-8df4-d4f094c832e7", + "objectName": "animation_0.ch17", + "samplerIndex": 17, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "2dc08481-5e7b-4aee-966e-b992698730ab", + "objectName": "animation_0.ch23", + "samplerIndex": 23, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "9bcad876-8074-4a5d-a9be-fae668a94868" + } + ] + }, + "enabled": true, + "objectID": "2e2a5809-a71d-4263-b8b8-ac8c31ec6648", + "objectName": "leg_joint_R_2", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -25.11377716064453 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -9.330574989318848 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.8954949975013733 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000009536743164 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000003576278687 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000008344650269 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 7.4505797087454084e-09 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.26611220836639404 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "863c1b12-9449-43a4-90cc-54ccb81aec38" + } + ] + }, + "enabled": true, + "objectID": "348bac46-6da4-4ceb-a96f-7ef816a68eb4", + "objectName": "leg_joint_L_1", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 80.89250946044922 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 33.83485794067383 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -178.054443359375 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995231628418 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999994039535522 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.06761901825666428 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.004460844676941633 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.07226424664258957 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "34976505-5ef6-4d64-9440-c8b18842d331", + "objectName": "animation_0.ch7", + "samplerIndex": 7, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "366327d0-9886-4ca0-bced-4eb3c184954f", + "objectName": "animation_0.ch10", + "samplerIndex": 10, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "3c20fe28-56f9-4ba1-a396-62a63ccd67ac", + "objectName": "animation_0.ch43", + "samplerIndex": 43, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "3f6dff92-3e43-49e0-b7f1-f0ae33647c87", + "objectName": "animation_0.ch51", + "samplerIndex": 51, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "4363a956-3fe3-41a1-b505-66ebb4919123", + "objectName": "animation_0.ch13", + "samplerIndex": 13, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "46f620d8-f2d8-4acd-a4ad-b9dfdf6a90f2", + "objectName": "animation_0.ch34", + "samplerIndex": 34, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "bakeMeshes": false, + "materialNames": { + "properties": [ + { + "typeName": "String", + "value": "material" + } + ] + }, + "meshIndex": 0, + "objectID": "482ad099-9f52-4d0c-81a1-0c68ebd61c8e", + "objectName": "Proxy", + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "Mesh" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "4b2fa89c-2188-426b-b066-04fa2e3c75e6", + "objectName": "animation_0.ch27", + "samplerIndex": 27, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "d9ac6a33-768f-41bd-a322-bd28529410e2" + } + ] + }, + "enabled": true, + "objectID": "4f4ef474-b5a4-43e4-a0c3-545b6776f36d", + "objectName": "arm_joint_L_1", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 165.3516845703125 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -39.21699142456055 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -93.68113708496094 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000003576278687 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.08799995481967926 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.00019979049102403224 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.0009799840627238154 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "57f29d87-930b-47ca-bd98-eb26e582b1ba", + "objectName": "animation_0.ch11", + "samplerIndex": 11, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "5965eb9a-f7c5-4bfa-80fe-4e571a841a35", + "objectName": "animation_0.ch25", + "samplerIndex": 25, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "5a243570-2ca0-4527-9f3e-5fd36274f594", + "objectName": "animation_0.ch45", + "samplerIndex": 45, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "5b802cc8-a8c7-428b-bbaa-5f0b9ed9b884", + "objectName": "animation_0.ch41", + "samplerIndex": 41, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "5de68265-83ee-4321-91ca-6a0072f47c88", + "objectName": "animation_0.ch6", + "samplerIndex": 6, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "64625b4d-c071-44ce-a2a6-4ba2a28b756e", + "objectName": "animation_0.ch1", + "samplerIndex": 1, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "66575624-2729-4699-bb4e-c817f03e1062", + "objectName": "animation_0.ch19", + "samplerIndex": 19, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "enabled": true, + "objectID": "67a5ce33-34d3-4613-b707-78c0321ee13d", + "objectName": "leg_joint_L_5", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 37.43885040283203 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.13361911475658417 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 171.625244140625 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000011920928955 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000007152557373 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.002346455818042159 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.06617335975170135 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.02785670943558216 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "6a82e8c0-4f36-4a9c-914b-d39e971e99ca", + "objectName": "animation_0.ch48", + "samplerIndex": 48, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "6af703b9-f545-4886-b5f3-e6d71dfb5ff3", + "objectName": "animation_0.ch38", + "samplerIndex": 38, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "d987aa18-6ef1-4365-8607-1e1739bf49b4" + } + ] + }, + "enabled": true, + "objectID": "71542623-c677-4254-9456-2712ff4c3a08", + "objectName": "torso_joint_2", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 95.13574981689453 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.02990707755088806 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.3327538073062897 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999994039535522 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.999999463558197 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0009999829344451427 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.8626499453944234e-08 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.17149099707603455 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "732a249e-c595-4a92-8b5c-68e5edd5b596", + "objectName": "animation_0.ch49", + "samplerIndex": 49, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "75e62181-3730-4d2d-abeb-787c1ab8f6b2", + "objectName": "animation_0.ch39", + "samplerIndex": 39, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "80083a6b-ac6d-4861-97bf-176b5abb49d9", + "objectName": "animation_0.ch20", + "samplerIndex": 20, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "81abac13-fab0-4445-bf43-70871cc14631", + "objectName": "animation_0.ch30", + "samplerIndex": 30, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "camera": "b0e63b9d-f290-4628-9376-9f0f6629280b", + "clearColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "enableClearColor": true, + "enableClearDepth": true, + "enableClearStencil": true, + "enabled": true, + "layer0": "b5598e18-2dd0-467d-b91b-b38bc9c87639", + "layer1": null, + "layer2": null, + "layer3": null, + "layer4": null, + "layer5": null, + "layer6": null, + "layer7": null, + "objectID": "83f08573-98d1-47b1-8cf9-11a638ac567a", + "objectName": "MainRenderPass", + "renderOnce": false, + "renderOrder": 1, + "target": null + }, + "typeName": "RenderPass" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "84fbcc96-76f6-457a-8f84-4ad96a8733be", + "objectName": "animation_0.ch46", + "samplerIndex": 46, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "c805e73b-3273-4b51-99b5-253ef1917ed0" + } + ] + }, + "enabled": true, + "objectID": "863c1b12-9449-43a4-90cc-54ccb81aec38", + "objectName": "leg_joint_L_2", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -29.855300903320312 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 32.34698486328125 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 14.617319107055664 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000005960464478 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000001072883606 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.26611220836639404 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.4901200273698123e-08 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "8df1f2de-35f1-4e93-bde7-b583ac86cd70", + "objectName": "animation_0.ch35", + "samplerIndex": 35, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "8dfb49d3-1515-4e76-921c-35128a13b85e", + "objectName": "animation_0.ch21", + "samplerIndex": 21, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "9070a31e-5855-4cfe-b05b-bf3bafca4452", + "objectName": "animation_0.ch29", + "samplerIndex": 29, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "90da53eb-a6f0-40bb-9981-bf767da85458", + "objectName": "animation_0.ch9", + "samplerIndex": 9, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "90e83bd2-4e9a-4e17-a2b4-ae1354ddc312", + "objectName": "animation_0.ch8", + "samplerIndex": 8, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "2e2a5809-a71d-4263-b8b8-ac8c31ec6648" + } + ] + }, + "enabled": true, + "objectID": "9348d441-2e34-4e53-8d72-11780148868a", + "objectName": "leg_joint_R_1", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 81.75247955322266 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.527599811553955 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 177.71188354492188 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995827674866 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.999999463558197 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999994039535522 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.06845720112323761 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0044607738964259624 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.07147085666656494 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "004dee79-2d9b-4e9e-9303-4ac2189a9b64" + } + ] + }, + "enabled": true, + "objectID": "973f1301-0af7-4b03-b0d7-390752ef27d7", + "objectName": "arm_joint_R_2", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 151.47222900390625 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -30.258010864257812 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 143.99313354492188 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999998211860657 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.999999463558197 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999998211860657 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -7.4505797087454084e-09 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.24452559649944305 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "98d3511c-128a-45df-9fe4-f726fc2c82a3", + "objectName": "animation_0.ch37", + "samplerIndex": 37, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "c4e73a74-02b1-4d9b-a3a5-3d13fd91e1ef" + } + ] + }, + "enabled": true, + "objectID": "9bcad876-8074-4a5d-a9be-fae668a94868", + "objectName": "leg_joint_R_3", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -115.9413833618164 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.46587398648262024 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 4.62437105178833 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999998211860657 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999992847442627 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 7.4505797087454084e-09 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.27582401037216187 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -7.4505797087454084e-09 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "9d6aafb5-a25e-4cba-8f0d-f7c044a6ca0d", + "objectName": "animation_0.ch36", + "samplerIndex": 36, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "ea0b78f3-8567-49c0-b4ca-b0f13efb547b" + } + ] + }, + "enabled": true, + "objectID": "a1641f65-a42e-4fc3-866a-8b571e4ef1c5", + "objectName": "neck_joint_1", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 83.21951293945312 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.2092723489232071e-09 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.967967344640442e-09 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -8.881779961836516e-15 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -3.576280960260192e-08 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.05255941301584244 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationChannels": { + "order": [ + "Channel 0", + "Channel 1", + "Channel 2", + "Channel 3", + "Channel 4", + "Channel 5", + "Channel 6", + "Channel 7", + "Channel 8", + "Channel 9", + "Channel 10", + "Channel 11", + "Channel 12", + "Channel 13", + "Channel 14", + "Channel 15", + "Channel 16", + "Channel 17", + "Channel 18", + "Channel 19", + "Channel 20", + "Channel 21", + "Channel 22", + "Channel 23", + "Channel 24", + "Channel 25", + "Channel 26", + "Channel 27", + "Channel 28", + "Channel 29", + "Channel 30", + "Channel 31", + "Channel 32", + "Channel 33", + "Channel 34", + "Channel 35", + "Channel 36", + "Channel 37", + "Channel 38", + "Channel 39", + "Channel 40", + "Channel 41", + "Channel 42", + "Channel 43", + "Channel 44", + "Channel 45", + "Channel 46", + "Channel 47", + "Channel 48", + "Channel 49", + "Channel 50", + "Channel 51", + "Channel 52", + "Channel 53", + "Channel 54", + "Channel 55", + "Channel 56" + ], + "properties": { + "Channel 0": { + "typeName": "AnimationChannel", + "value": "e8bb9585-fafe-4ae4-884d-e16d59f85570" + }, + "Channel 1": { + "typeName": "AnimationChannel", + "value": "64625b4d-c071-44ce-a2a6-4ba2a28b756e" + }, + "Channel 10": { + "typeName": "AnimationChannel", + "value": "366327d0-9886-4ca0-bced-4eb3c184954f" + }, + "Channel 11": { + "typeName": "AnimationChannel", + "value": "57f29d87-930b-47ca-bd98-eb26e582b1ba" + }, + "Channel 12": { + "typeName": "AnimationChannel", + "value": "136b80f6-c3ef-4397-9a70-954b89750084" + }, + "Channel 13": { + "typeName": "AnimationChannel", + "value": "4363a956-3fe3-41a1-b505-66ebb4919123" + }, + "Channel 14": { + "typeName": "AnimationChannel", + "value": "e7c9fdc2-2904-404f-82e1-3bedfb3185d8" + }, + "Channel 15": { + "typeName": "AnimationChannel", + "value": "dd2a5107-a91a-4977-bea0-95080b9193dc" + }, + "Channel 16": { + "typeName": "AnimationChannel", + "value": "b02811e5-d237-4655-98c7-3500b006c017" + }, + "Channel 17": { + "typeName": "AnimationChannel", + "value": "2c89406c-e862-4978-8df4-d4f094c832e7" + }, + "Channel 18": { + "typeName": "AnimationChannel", + "value": "224390c4-7b3b-407f-aaa8-2e231c77433e" + }, + "Channel 19": { + "typeName": "AnimationChannel", + "value": "66575624-2729-4699-bb4e-c817f03e1062" + }, + "Channel 2": { + "typeName": "AnimationChannel", + "value": "e3eac9b2-08b7-4857-889c-5b426b2c7278" + }, + "Channel 20": { + "typeName": "AnimationChannel", + "value": "80083a6b-ac6d-4861-97bf-176b5abb49d9" + }, + "Channel 21": { + "typeName": "AnimationChannel", + "value": "8dfb49d3-1515-4e76-921c-35128a13b85e" + }, + "Channel 22": { + "typeName": "AnimationChannel", + "value": "a8625235-1d1f-4ec4-9523-15709311933b" + }, + "Channel 23": { + "typeName": "AnimationChannel", + "value": "2dc08481-5e7b-4aee-966e-b992698730ab" + }, + "Channel 24": { + "typeName": "AnimationChannel", + "value": "f87251c0-8759-49bc-9861-878a87b758c3" + }, + "Channel 25": { + "typeName": "AnimationChannel", + "value": "5965eb9a-f7c5-4bfa-80fe-4e571a841a35" + }, + "Channel 26": { + "typeName": "AnimationChannel", + "value": "0e0afa74-42db-431d-93fe-c9c30c8a6ee4" + }, + "Channel 27": { + "typeName": "AnimationChannel", + "value": "4b2fa89c-2188-426b-b066-04fa2e3c75e6" + }, + "Channel 28": { + "typeName": "AnimationChannel", + "value": "19aca316-b8f0-45b1-935d-e131fcd15259" + }, + "Channel 29": { + "typeName": "AnimationChannel", + "value": "9070a31e-5855-4cfe-b05b-bf3bafca4452" + }, + "Channel 3": { + "typeName": "AnimationChannel", + "value": "e9f1f971-6db2-4db5-b604-78d2f14bf895" + }, + "Channel 30": { + "typeName": "AnimationChannel", + "value": "81abac13-fab0-4445-bf43-70871cc14631" + }, + "Channel 31": { + "typeName": "AnimationChannel", + "value": "ec751aee-4f3e-4a65-a5db-79a0686e263c" + }, + "Channel 32": { + "typeName": "AnimationChannel", + "value": "c64b8567-e09f-4622-85e1-1b07e477933e" + }, + "Channel 33": { + "typeName": "AnimationChannel", + "value": "26d4cf24-2b52-4e63-9d6b-85a33ea0162c" + }, + "Channel 34": { + "typeName": "AnimationChannel", + "value": "46f620d8-f2d8-4acd-a4ad-b9dfdf6a90f2" + }, + "Channel 35": { + "typeName": "AnimationChannel", + "value": "8df1f2de-35f1-4e93-bde7-b583ac86cd70" + }, + "Channel 36": { + "typeName": "AnimationChannel", + "value": "9d6aafb5-a25e-4cba-8f0d-f7c044a6ca0d" + }, + "Channel 37": { + "typeName": "AnimationChannel", + "value": "98d3511c-128a-45df-9fe4-f726fc2c82a3" + }, + "Channel 38": { + "typeName": "AnimationChannel", + "value": "6af703b9-f545-4886-b5f3-e6d71dfb5ff3" + }, + "Channel 39": { + "typeName": "AnimationChannel", + "value": "75e62181-3730-4d2d-abeb-787c1ab8f6b2" + }, + "Channel 4": { + "typeName": "AnimationChannel", + "value": "0b1eb23f-337d-47ea-9977-624880e14630" + }, + "Channel 40": { + "typeName": "AnimationChannel", + "value": "bb759bdd-74a2-4f04-998e-2a9d4d8bd37e" + }, + "Channel 41": { + "typeName": "AnimationChannel", + "value": "5b802cc8-a8c7-428b-bbaa-5f0b9ed9b884" + }, + "Channel 42": { + "typeName": "AnimationChannel", + "value": "ecc0fc5c-789e-4729-94a7-94ac1c5d024c" + }, + "Channel 43": { + "typeName": "AnimationChannel", + "value": "3c20fe28-56f9-4ba1-a396-62a63ccd67ac" + }, + "Channel 44": { + "typeName": "AnimationChannel", + "value": "0591450d-c617-4224-af80-9a1a81cd943f" + }, + "Channel 45": { + "typeName": "AnimationChannel", + "value": "5a243570-2ca0-4527-9f3e-5fd36274f594" + }, + "Channel 46": { + "typeName": "AnimationChannel", + "value": "84fbcc96-76f6-457a-8f84-4ad96a8733be" + }, + "Channel 47": { + "typeName": "AnimationChannel", + "value": "06a5713b-d6ee-4003-9d6c-286eaf62aef3" + }, + "Channel 48": { + "typeName": "AnimationChannel", + "value": "6a82e8c0-4f36-4a9c-914b-d39e971e99ca" + }, + "Channel 49": { + "typeName": "AnimationChannel", + "value": "732a249e-c595-4a92-8b5c-68e5edd5b596" + }, + "Channel 5": { + "typeName": "AnimationChannel", + "value": "fd16e01f-0123-4210-a2cd-25db76ac8083" + }, + "Channel 50": { + "typeName": "AnimationChannel", + "value": "f8411eb6-7ed7-4bba-8954-0c23fee17fea" + }, + "Channel 51": { + "typeName": "AnimationChannel", + "value": "3f6dff92-3e43-49e0-b7f1-f0ae33647c87" + }, + "Channel 52": { + "typeName": "AnimationChannel", + "value": "d75ffa8f-ca4b-45ac-b9ba-59f03bbbbb5d" + }, + "Channel 53": { + "typeName": "AnimationChannel", + "value": "2871f080-35b2-46e3-96ae-1365a27d39f0" + }, + "Channel 54": { + "typeName": "AnimationChannel", + "value": "ff8b2d34-e6ee-440d-81cf-fd7ed1e612c5" + }, + "Channel 55": { + "typeName": "AnimationChannel", + "value": "08d49812-025e-40c7-b04c-f8862d56d880" + }, + "Channel 56": { + "typeName": "AnimationChannel", + "value": "283d4030-434b-4ec2-bac7-4ed16ec51042" + }, + "Channel 6": { + "typeName": "AnimationChannel", + "value": "5de68265-83ee-4321-91ca-6a0072f47c88" + }, + "Channel 7": { + "typeName": "AnimationChannel", + "value": "34976505-5ef6-4d64-9440-c8b18842d331" + }, + "Channel 8": { + "typeName": "AnimationChannel", + "value": "90e83bd2-4e9a-4e17-a2b4-ae1354ddc312" + }, + "Channel 9": { + "typeName": "AnimationChannel", + "value": "90da53eb-a6f0-40bb-9981-bf767da85458" + } + } + }, + "objectID": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "objectName": "animation_0", + "outputs": { + "order": [ + "Ch0.animation_0.ch0", + "Ch1.animation_0.ch1", + "Ch2.animation_0.ch2", + "Ch3.animation_0.ch3", + "Ch4.animation_0.ch4", + "Ch5.animation_0.ch5", + "Ch6.animation_0.ch6", + "Ch7.animation_0.ch7", + "Ch8.animation_0.ch8", + "Ch9.animation_0.ch9", + "Ch10.animation_0.ch10", + "Ch11.animation_0.ch11", + "Ch12.animation_0.ch12", + "Ch13.animation_0.ch13", + "Ch14.animation_0.ch14", + "Ch15.animation_0.ch15", + "Ch16.animation_0.ch16", + "Ch17.animation_0.ch17", + "Ch18.animation_0.ch18", + "Ch19.animation_0.ch19", + "Ch20.animation_0.ch20", + "Ch21.animation_0.ch21", + "Ch22.animation_0.ch22", + "Ch23.animation_0.ch23", + "Ch24.animation_0.ch24", + "Ch25.animation_0.ch25", + "Ch26.animation_0.ch26", + "Ch27.animation_0.ch27", + "Ch28.animation_0.ch28", + "Ch29.animation_0.ch29", + "Ch30.animation_0.ch30", + "Ch31.animation_0.ch31", + "Ch32.animation_0.ch32", + "Ch33.animation_0.ch33", + "Ch34.animation_0.ch34", + "Ch35.animation_0.ch35", + "Ch36.animation_0.ch36", + "Ch37.animation_0.ch37", + "Ch38.animation_0.ch38", + "Ch39.animation_0.ch39", + "Ch40.animation_0.ch40", + "Ch41.animation_0.ch41", + "Ch42.animation_0.ch42", + "Ch43.animation_0.ch43", + "Ch44.animation_0.ch44", + "Ch45.animation_0.ch45", + "Ch46.animation_0.ch46", + "Ch47.animation_0.ch47", + "Ch48.animation_0.ch48", + "Ch49.animation_0.ch49", + "Ch50.animation_0.ch50", + "Ch51.animation_0.ch51", + "Ch52.animation_0.ch52", + "Ch53.animation_0.ch53", + "Ch54.animation_0.ch54", + "Ch55.animation_0.ch55", + "Ch56.animation_0.ch56" + ], + "properties": { + "Ch0.animation_0.ch0": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 4.589660040910104e-10 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.1506600117172638e-07 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.6860000491142273 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch1.animation_0.ch1": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.9992761611938477 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.037929926067590714 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0029135497752577066 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.00011340530909365043 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch10.animation_0.ch10": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.7476850748062134 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.6640534996986389 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.9294531250491076e-11 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.832874547945233e-12 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch11.animation_0.ch11": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch12.animation_0.ch12": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.329069671167804e-15 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.06650590896606445 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 9.313230187046884e-10 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch13.animation_0.ch13": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.1919865983145428e-07 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 3.016988880943927e-10 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999837875366211 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0057000345550477505 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch14.animation_0.ch14": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995827674866 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995827674866 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch15.animation_0.ch15": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.08799995481967926 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.00019979049102403224 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.0009799840627238154 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch16.animation_0.ch16": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.16065561771392822 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.6703123450279236 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.6522794961929321 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.3152816891670227 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch17.animation_0.ch17": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000003576278687 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch18.animation_0.ch18": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2.328309989252375e-09 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.24452580511569977 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch19.animation_0.ch19": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.9521316885948181 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0023999919649213552 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.13981160521507263 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.27183130383491516 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch2.animation_0.ch2": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000004768371582 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch20.animation_0.ch20": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995231628418 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999997615814209 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000003576278687 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch21.animation_0.ch21": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.18551670014858246 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 5.96045985901128e-08 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch22.animation_0.ch22": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.996410608291626 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.057290688157081604 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.028227226808667183 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.055560123175382614 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch23.animation_0.ch23": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995827674866 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch24.animation_0.ch24": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.08800001442432404 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.0001997949875658378 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.00098002003505826 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch25.animation_0.ch25": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.677500307559967 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.3472990095615387 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.13099141418933868 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.634994387626648 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch26.animation_0.ch26": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995827674866 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999998807907104 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch27.animation_0.ch27": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -7.4505797087454084e-09 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.24452559649944305 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch28.animation_0.ch28": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.31407514214515686 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.22800646722316742 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9096477031707764 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.14802362024784088 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch29.animation_0.ch29": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999998211860657 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.999999463558197 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999998211860657 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch3.animation_0.ch3": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0009999829344451427 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.8626499453944234e-08 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.17149099707603455 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch30.animation_0.ch30": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.18551680445671082 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch31.animation_0.ch31": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.9865673184394836 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.07854897528886795 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.1425352394580841 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.014102346263825893 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch32.animation_0.ch32": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999998211860657 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999999403953552 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch33.animation_0.ch33": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.06761901825666428 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.004460844676941633 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.07226424664258957 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch34.animation_0.ch34": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.20111103355884552 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.2108810693025589 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.6243307590484619 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.7247721552848816 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch35.animation_0.ch35": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995231628418 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999994039535522 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch36.animation_0.ch36": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.26611220836639404 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.4901200273698123e-08 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch37.animation_0.ch37": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.9295984506607056 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.21115460991859436 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.29843294620513916 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.046885959804058075 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch38.animation_0.ch38": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000005960464478 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000001072883606 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch39.animation_0.ch39": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.27582401037216187 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.8626500342122654e-09 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch4.animation_0.ch4": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.6747129559516907 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.738074541091919 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.0019671509508043528 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0021518839057534933 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch40.animation_0.ch40": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.5303241014480591 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.8477683067321777 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.002281583147123456 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.0063387081027030945 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch41.animation_0.ch41": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999992251396179 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995231628418 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch42.animation_0.ch42": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.002346455818042159 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.06617335975170135 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.02785670943558216 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch43.animation_0.ch43": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.06878267973661423 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0245355311781168 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.31999653577804565 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9446000456809998 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch44.animation_0.ch44": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000011920928955 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000007152557373 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch45.animation_0.ch45": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.06845720112323761 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0044607738964259624 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.07147085666656494 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch46.animation_0.ch46": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.046628836542367935 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.023400768637657166 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.6542637348175049 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.7544649243354797 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch47.animation_0.ch47": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995827674866 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.999999463558197 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999994039535522 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch48.animation_0.ch48": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 7.4505797087454084e-09 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.26611220836639404 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch49.animation_0.ch49": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.9729551672935486 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.2160615622997284 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0810801163315773 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.010079946368932724 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch5.animation_0.ch5": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999994039535522 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.999999463558197 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch50.animation_0.ch50": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000009536743164 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000003576278687 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000008344650269 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch51.animation_0.ch51": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 7.4505797087454084e-09 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.27582401037216187 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -7.4505797087454084e-09 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch52.animation_0.ch52": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.5297777652740479 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.8471666574478149 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.03204828500747681 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.024840379133820534 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch53.animation_0.ch53": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999998211860657 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999992847442627 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch54.animation_0.ch54": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.001458517974242568 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.06619883328676224 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.027856720611453056 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch55.animation_0.ch55": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.041467782109975815 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.03414176031947136 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.31917816400527954 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9461713433265686 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch56.animation_0.ch56": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999997615814209 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999996423721313 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999992251396179 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch6.animation_0.ch6": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -7.105429898699844e-15 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.21801790595054626 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.8626500342122654e-09 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch7.animation_0.ch7": { + "annotations": [ + { + "properties": { + "engineType": 9 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.7701530456542969 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.6378591656684875 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -4.261349051404295e-10 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -3.5284203336871656e-10 + } + }, + "typeName": "Vec4f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch8.animation_0.ch8": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000005960464478 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000005960464478 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "Ch9.animation_0.ch9": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -8.881779961836516e-15 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -3.576280960260192e-08 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.05255941301584244 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + } + } + }, + "progress": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.7 + } + }, + "typeName": "Animation" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "a8625235-1d1f-4ec4-9523-15709311933b", + "objectName": "animation_0.ch22", + "samplerIndex": 22, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "973f1301-0af7-4b03-b0d7-390752ef27d7" + } + ] + }, + "enabled": true, + "objectID": "aaab0a94-3d79-4195-90be-7f439d01b605", + "objectName": "arm_joint_R_1", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -22.779991149902344 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -38.211002349853516 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 78.30677795410156 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995827674866 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999998807907104 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.08800001442432404 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.0001997949875658378 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.00098002003505826 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "b02811e5-d237-4655-98c7-3500b006c017", + "objectName": "animation_0.ch16", + "samplerIndex": 16, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "materialFilterMode": 1, + "objectID": "b5598e18-2dd0-467d-b91b-b38bc9c87639", + "objectName": "MainRenderLayer", + "renderableTags": { + "order": [ + "render_main" + ], + "properties": { + "render_main": { + "annotations": [ + { + "properties": { + "featureLevel": 3 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Int::LinkEndAnnotation", + "value": 0 + } + } + }, + "sortOrder": 0 + }, + "typeName": "RenderLayer" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "fa7e1b3d-cc76-4e4c-b527-e1b1b47b858c" + } + ] + }, + "enabled": true, + "objectID": "b80894b6-827b-4099-886b-2a3c3ad9e560", + "objectName": "Armature", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "bb759bdd-74a2-4f04-998e-2a9d4d8bd37e", + "objectName": "animation_0.ch40", + "samplerIndex": 40, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "enabled": true, + "objectID": "c4e73a74-02b1-4d9b-a3a5-3d13fd91e1ef", + "objectName": "leg_joint_R_5", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 37.392208099365234 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2.1856014728546143 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -174.24131774902344 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999997615814209 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999996423721313 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999992251396179 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.001458517974242568 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.06619883328676224 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.027856720611453056 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "c64b8567-e09f-4622-85e1-1b07e477933e", + "objectName": "animation_0.ch32", + "samplerIndex": 32, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "67a5ce33-34d3-4613-b707-78c0321ee13d" + } + ] + }, + "enabled": true, + "objectID": "c805e73b-3273-4b51-99b5-253ef1917ed0", + "objectName": "leg_joint_L_3", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -115.94115447998047 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.47713926434516907 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.6068890690803528 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999992251396179 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995231628418 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.27582401037216187 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.8626500342122654e-09 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "249fc9e3-6675-47db-8bad-af6f74b18e27" + }, + { + "typeName": "Ref", + "value": "a567cb10-a83e-4f13-9c0a-8127fbcaf169" + }, + { + "typeName": "Ref", + "value": "0a397364-5e6d-4aa1-8189-8fc68c48cb61" + } + ] + }, + "enabled": true, + "objectID": "c80cfe27-71fe-48b8-a9ac-1cf5962540cd", + "objectName": "RiggedFigure.gltf", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "d75ffa8f-ca4b-45ac-b9ba-59f03bbbbb5d", + "objectName": "animation_0.ch52", + "samplerIndex": 52, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "aaab0a94-3d79-4195-90be-7f439d01b605" + }, + { + "typeName": "Ref", + "value": "4f4ef474-b5a4-43e4-a0c3-545b6776f36d" + }, + { + "typeName": "Ref", + "value": "a1641f65-a42e-4fc3-866a-8b571e4ef1c5" + } + ] + }, + "enabled": true, + "objectID": "d987aa18-6ef1-4365-8607-1e1739bf49b4", + "objectName": "torso_joint_3", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -79.26473236083984 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.181731956734211e-08 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 6.228697913002179e-08 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000005960464478 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000005960464478 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -7.105429898699844e-15 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.21801790595054626 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.8626500342122654e-09 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "ebb0caaf-90d5-48f7-ba4f-0c0933e1cba5" + } + ] + }, + "enabled": true, + "objectID": "d9ac6a33-768f-41bd-a322-bd28529410e2", + "objectName": "arm_joint_L_2", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -4.793607234954834 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 15.362992286682129 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 32.51475143432617 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995231628418 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999997615814209 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000003576278687 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2.328309989252375e-09 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.24452580511569977 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "dd2a5107-a91a-4977-bea0-95080b9193dc", + "objectName": "animation_0.ch15", + "samplerIndex": 15, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "e3eac9b2-08b7-4857-889c-5b426b2c7278", + "objectName": "animation_0.ch2", + "samplerIndex": 2, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "e7c9fdc2-2904-404f-82e1-3bedfb3185d8", + "objectName": "animation_0.ch14", + "samplerIndex": 14, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "objectID": "e86e6216-4f21-44b4-97eb-5ab380e754dc", + "objectName": "Material", + "options": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "uniforms": { + "order": [ + "u_color" + ], + "properties": { + "u_color": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + } + } + }, + "uriDefines": "", + "uriFragment": "shaders/skin-rigged-figure.frag", + "uriGeometry": "", + "uriVertex": "shaders/skin-rigged-figure.vert" + }, + "typeName": "Material" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "e8bb9585-fafe-4ae4-884d-e16d59f85570", + "objectName": "animation_0.ch0", + "samplerIndex": 0, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "e9f1f971-6db2-4db5-b604-78d2f14bf895", + "objectName": "animation_0.ch3", + "samplerIndex": 3, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "enabled": true, + "objectID": "ea0b78f3-8567-49c0-b4ca-b0f13efb547b", + "objectName": "neck_joint_2", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -179.34681701660156 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.365874231851194e-05 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -180 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995827674866 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995827674866 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.329069671167804e-15 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.06650590896606445 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 9.313230187046884e-10 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "enabled": true, + "objectID": "ebb0caaf-90d5-48f7-ba4f-0c0933e1cba5", + "objectName": "arm_joint_L_3", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 6.387481212615967 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 3.5900943279266357 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 6.182656764984131 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.9999995827674866 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.18551670014858246 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 5.96045985901128e-08 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "ec751aee-4f3e-4a65-a5db-79a0686e263c", + "objectName": "animation_0.ch31", + "samplerIndex": 31, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "ecc0fc5c-789e-4729-94a7-94ac1c5d024c", + "objectName": "animation_0.ch42", + "samplerIndex": 42, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "f8411eb6-7ed7-4bba-8954-0c23fee17fea", + "objectName": "animation_0.ch50", + "samplerIndex": 50, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "f87251c0-8759-49bc-9861-878a87b758c3", + "objectName": "animation_0.ch24", + "samplerIndex": 24, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "children": { + "properties": [ + { + "typeName": "Ref", + "value": "9348d441-2e34-4e53-8d72-11780148868a" + }, + { + "typeName": "Ref", + "value": "348bac46-6da4-4ceb-a96f-7ef816a68eb4" + }, + { + "typeName": "Ref", + "value": "71542623-c677-4254-9456-2712ff4c3a08" + } + ] + }, + "enabled": true, + "objectID": "fa7e1b3d-cc76-4e4c-b527-e1b1b47b858c", + "objectName": "torso_joint_1", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -4.347509860992432 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -0.33412134647369385 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.0003222933446522802 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000001192092896 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.000000238418579 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1.0000004768371582 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 4.589660040910104e-10 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -1.1506600117172638e-07 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.6860000491142273 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "fd16e01f-0123-4210-a2cd-25db76ac8083", + "objectName": "animation_0.ch5", + "samplerIndex": 5, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + }, + { + "properties": { + "animationIndex": 0, + "objectID": "ff8b2d34-e6ee-440d-81cf-fd7ed1e612c5", + "objectName": "animation_0.ch54", + "samplerIndex": 54, + "uri": "../../resources/meshes/RiggedFigure/RiggedFigure.gltf" + }, + "typeName": "AnimationChannel" + } + ], + "links": [ + { + "properties": { + "endObject": "fa7e1b3d-cc76-4e4c-b527-e1b1b47b858c", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch0.animation_0.ch0" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "fa7e1b3d-cc76-4e4c-b527-e1b1b47b858c", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch1.animation_0.ch1" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "a1641f65-a42e-4fc3-866a-8b571e4ef1c5", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch10.animation_0.ch10" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "a1641f65-a42e-4fc3-866a-8b571e4ef1c5", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch11.animation_0.ch11" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "ea0b78f3-8567-49c0-b4ca-b0f13efb547b", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch12.animation_0.ch12" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "ea0b78f3-8567-49c0-b4ca-b0f13efb547b", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch13.animation_0.ch13" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "ea0b78f3-8567-49c0-b4ca-b0f13efb547b", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch14.animation_0.ch14" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "4f4ef474-b5a4-43e4-a0c3-545b6776f36d", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch15.animation_0.ch15" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "4f4ef474-b5a4-43e4-a0c3-545b6776f36d", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch16.animation_0.ch16" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "4f4ef474-b5a4-43e4-a0c3-545b6776f36d", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch17.animation_0.ch17" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "d9ac6a33-768f-41bd-a322-bd28529410e2", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch18.animation_0.ch18" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "d9ac6a33-768f-41bd-a322-bd28529410e2", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch19.animation_0.ch19" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "fa7e1b3d-cc76-4e4c-b527-e1b1b47b858c", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch2.animation_0.ch2" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "d9ac6a33-768f-41bd-a322-bd28529410e2", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch20.animation_0.ch20" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "ebb0caaf-90d5-48f7-ba4f-0c0933e1cba5", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch21.animation_0.ch21" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "ebb0caaf-90d5-48f7-ba4f-0c0933e1cba5", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch22.animation_0.ch22" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "ebb0caaf-90d5-48f7-ba4f-0c0933e1cba5", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch23.animation_0.ch23" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "aaab0a94-3d79-4195-90be-7f439d01b605", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch24.animation_0.ch24" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "aaab0a94-3d79-4195-90be-7f439d01b605", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch25.animation_0.ch25" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "aaab0a94-3d79-4195-90be-7f439d01b605", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch26.animation_0.ch26" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "973f1301-0af7-4b03-b0d7-390752ef27d7", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch27.animation_0.ch27" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "973f1301-0af7-4b03-b0d7-390752ef27d7", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch28.animation_0.ch28" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "973f1301-0af7-4b03-b0d7-390752ef27d7", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch29.animation_0.ch29" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "71542623-c677-4254-9456-2712ff4c3a08", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch3.animation_0.ch3" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "004dee79-2d9b-4e9e-9303-4ac2189a9b64", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch30.animation_0.ch30" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "004dee79-2d9b-4e9e-9303-4ac2189a9b64", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch31.animation_0.ch31" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "004dee79-2d9b-4e9e-9303-4ac2189a9b64", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch32.animation_0.ch32" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "348bac46-6da4-4ceb-a96f-7ef816a68eb4", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch33.animation_0.ch33" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "348bac46-6da4-4ceb-a96f-7ef816a68eb4", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch34.animation_0.ch34" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "348bac46-6da4-4ceb-a96f-7ef816a68eb4", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch35.animation_0.ch35" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "863c1b12-9449-43a4-90cc-54ccb81aec38", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch36.animation_0.ch36" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "863c1b12-9449-43a4-90cc-54ccb81aec38", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch37.animation_0.ch37" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "863c1b12-9449-43a4-90cc-54ccb81aec38", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch38.animation_0.ch38" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "c805e73b-3273-4b51-99b5-253ef1917ed0", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch39.animation_0.ch39" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "71542623-c677-4254-9456-2712ff4c3a08", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch4.animation_0.ch4" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "c805e73b-3273-4b51-99b5-253ef1917ed0", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch40.animation_0.ch40" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "c805e73b-3273-4b51-99b5-253ef1917ed0", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch41.animation_0.ch41" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "67a5ce33-34d3-4613-b707-78c0321ee13d", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch42.animation_0.ch42" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "67a5ce33-34d3-4613-b707-78c0321ee13d", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch43.animation_0.ch43" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "67a5ce33-34d3-4613-b707-78c0321ee13d", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch44.animation_0.ch44" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "9348d441-2e34-4e53-8d72-11780148868a", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch45.animation_0.ch45" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "9348d441-2e34-4e53-8d72-11780148868a", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch46.animation_0.ch46" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "9348d441-2e34-4e53-8d72-11780148868a", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch47.animation_0.ch47" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "2e2a5809-a71d-4263-b8b8-ac8c31ec6648", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch48.animation_0.ch48" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "2e2a5809-a71d-4263-b8b8-ac8c31ec6648", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch49.animation_0.ch49" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "71542623-c677-4254-9456-2712ff4c3a08", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch5.animation_0.ch5" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "2e2a5809-a71d-4263-b8b8-ac8c31ec6648", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch50.animation_0.ch50" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "9bcad876-8074-4a5d-a9be-fae668a94868", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch51.animation_0.ch51" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "9bcad876-8074-4a5d-a9be-fae668a94868", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch52.animation_0.ch52" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "9bcad876-8074-4a5d-a9be-fae668a94868", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch53.animation_0.ch53" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "c4e73a74-02b1-4d9b-a3a5-3d13fd91e1ef", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch54.animation_0.ch54" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "c4e73a74-02b1-4d9b-a3a5-3d13fd91e1ef", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch55.animation_0.ch55" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "c4e73a74-02b1-4d9b-a3a5-3d13fd91e1ef", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch56.animation_0.ch56" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "d987aa18-6ef1-4365-8607-1e1739bf49b4", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch6.animation_0.ch6" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "d987aa18-6ef1-4365-8607-1e1739bf49b4", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "rotation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch7.animation_0.ch7" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "d987aa18-6ef1-4365-8607-1e1739bf49b4", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "scaling" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch8.animation_0.ch8" + } + ] + } + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "a1641f65-a42e-4fc3-866a-8b571e4ef1c5", + "endProp": { + "properties": [ + { + "typeName": "String", + "value": "translation" + } + ] + }, + "isValid": true, + "isWeak": false, + "startObject": "a567cb10-a83e-4f13-9c0a-8127fbcaf169", + "startProp": { + "properties": [ + { + "typeName": "String", + "value": "outputs" + }, + { + "typeName": "String", + "value": "Ch9.animation_0.ch9" + } + ] + } + }, + "typeName": "Link" + } + ], + "logicEngineVersion": [ + 1, + 4, + 2 + ], + "racoVersion": [ + 1, + 10, + 0 + ], + "ramsesVersion": [ + 27, + 0, + 130 + ], + "structPropMap": { + "AnchorPointOutputs": { + "depth": "Double::DisplayNameAnnotation::LinkStartAnnotation", + "viewportCoords": "Vec2f::DisplayNameAnnotation::LinkStartAnnotation" + }, + "BlendOptions": { + "blendColor": "Vec4f::DisplayNameAnnotation", + "blendFactorDestAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorDestColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "colorWriteMask": "ColorWriteMask::DisplayNameAnnotation", + "cullmode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthFunction": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthwrite": "Bool::DisplayNameAnnotation", + "scissorOptions": "ScissorOptions::DisplayNameAnnotation", + "stencilOptions": "StencilOptions::DisplayNameAnnotation" + }, + "CameraViewport": { + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetX": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetY": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ColorWriteMask": { + "alpha": "Bool::DisplayNameAnnotation", + "blue": "Bool::DisplayNameAnnotation", + "green": "Bool::DisplayNameAnnotation", + "red": "Bool::DisplayNameAnnotation" + }, + "DefaultResourceDirectories": { + "imageSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "interfaceSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "meshSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "scriptSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "shaderSubdirectory": "String::DisplayNameAnnotation::URIAnnotation" + }, + "LuaStandardModuleSelection": { + "base": "Bool::DisplayNameAnnotation", + "debug": "Bool::DisplayNameAnnotation", + "math": "Bool::DisplayNameAnnotation", + "string": "Bool::DisplayNameAnnotation", + "table": "Bool::DisplayNameAnnotation" + }, + "OrthographicFrustum": { + "bottomPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "farPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "leftPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "nearPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "rightPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "topPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation" + }, + "ScissorOptions": { + "scissorEnable": "Bool::DisplayNameAnnotation", + "scissorRegion": "CameraViewport::DisplayNameAnnotation" + }, + "StencilOptions": { + "stencilFunc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilMask": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "stencilOpDepthFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpDepthSucc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpStencilFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilRef": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "TimerInput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkEndAnnotation" + }, + "TimerOutput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkStartAnnotation" + }, + "Vec2f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec2i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec3f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec3i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec4f": { + "w": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec4i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i4": "Int::DisplayNameAnnotation::RangeAnnotationInt" + } + }, + "userTypePropMap": { + "AnchorPoint": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "node": "Node::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "AnchorPointOutputs::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Animation": { + "animationChannels": "Table::DisplayNameAnnotation", + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "progress": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannel": { + "animationIndex": "Int::DisplayNameAnnotation", + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "samplerIndex": "Int::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "BlitPass": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "destinationX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "destinationY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOrder": "Int::DisplayNameAnnotation", + "sourceRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "sourceY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "targetRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "targetRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation" + }, + "CubeMap": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "LuaInterface": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkStartAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation::FeatureLevel", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation::FeatureLevel", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScript": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScriptModule": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Material": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "options": "BlendOptions::DisplayNameAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "uniforms": "Table::DisplayNameAnnotation", + "uriDefines": "String::URIAnnotation::DisplayNameAnnotation", + "uriFragment": "String::URIAnnotation::DisplayNameAnnotation", + "uriGeometry": "String::URIAnnotation::DisplayNameAnnotation", + "uriVertex": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Mesh": { + "bakeMeshes": "Bool::DisplayNameAnnotation", + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "materialNames": "Table::ArraySemanticAnnotation::HiddenProperty", + "meshIndex": "Int::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "MeshNode": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation::FeatureLevel", + "instanceCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "materials": "Table::DisplayNameAnnotation", + "mesh": "Mesh::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Node": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation::FeatureLevel", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "OrthographicCamera": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation::FeatureLevel", + "frustum": "OrthographicFrustum::DisplayNameAnnotation::LinkEndAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "PerspectiveCamera": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation::FeatureLevel", + "frustum": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "frustumType": "Int::DisplayNameAnnotation::EnumerationAnnotation::FeatureLevel", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Prefab": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "PrefabInstance": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation::FeatureLevel", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "template": "Prefab::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ProjectSettings": { + "backgroundColor": "Vec4f::DisplayNameAnnotation", + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "defaultResourceFolders": "DefaultResourceDirectories::DisplayNameAnnotation", + "featureLevel": "Int::DisplayNameAnnotation::ReadOnlyAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "saveAsZip": "Bool::DisplayNameAnnotation", + "sceneId": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "Vec2i::DisplayNameAnnotation" + }, + "RenderBuffer": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "RenderBufferMS": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "sampleCount": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation" + }, + "RenderLayer": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "materialFilterMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "materialFilterTags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderableTags": "Table::RenderableTagContainerAnnotation::DisplayNameAnnotation", + "sortOrder": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderPass": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "clearColor": "Vec4f::DisplayNameAnnotation::LinkEndAnnotation", + "enableClearColor": "Bool::DisplayNameAnnotation", + "enableClearDepth": "Bool::DisplayNameAnnotation", + "enableClearStencil": "Bool::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "layer0": "RenderLayer::DisplayNameAnnotation", + "layer1": "RenderLayer::DisplayNameAnnotation::EmptyReferenceAllowable", + "layer2": "RenderLayer::DisplayNameAnnotation::EmptyReferenceAllowable", + "layer3": "RenderLayer::DisplayNameAnnotation::EmptyReferenceAllowable", + "layer4": "RenderLayer::DisplayNameAnnotation::EmptyReferenceAllowable", + "layer5": "RenderLayer::DisplayNameAnnotation::EmptyReferenceAllowable", + "layer6": "RenderLayer::DisplayNameAnnotation::EmptyReferenceAllowable", + "layer7": "RenderLayer::DisplayNameAnnotation::EmptyReferenceAllowable", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOnce": "Bool::DisplayNameAnnotation::LinkEndAnnotation::FeatureLevel", + "renderOrder": "Int::DisplayNameAnnotation::LinkEndAnnotation", + "target": "RenderTarget::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTarget": { + "buffer0": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "buffer1": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "buffer2": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "buffer3": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "buffer4": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "buffer5": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "buffer6": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "buffer7": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "bufferMS0": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "bufferMS1": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "bufferMS2": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "bufferMS3": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "bufferMS4": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "bufferMS5": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "bufferMS6": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "bufferMS7": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Skin": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "joints": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "skinIndex": "Int::DisplayNameAnnotation", + "targets": "Table::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Texture": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "flipTexture": "Bool::DisplayNameAnnotation", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uri": "String::URIAnnotation::DisplayNameAnnotation", + "level3uri": "String::URIAnnotation::DisplayNameAnnotation", + "level4uri": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "TextureExternal": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Timer": { + "children": "Table::ArraySemanticAnnotation::HiddenProperty", + "inputs": "TimerInput::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "TimerOutput::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + } + } +} diff --git a/screenshot_tests/projects/ubo-phong.rca b/screenshot_tests/projects/ubo-phong.rca new file mode 100644 index 00000000..b053fa93 --- /dev/null +++ b/screenshot_tests/projects/ubo-phong.rca @@ -0,0 +1,7294 @@ +{ + "externalProjects": { + }, + "featureLevel": 2, + "fileVersion": 2006, + "instances": [ + { + "properties": { + "enabled": true, + "frustum": { + "order": [ + "nearPlane", + "farPlane", + "fieldOfView", + "aspectRatio" + ], + "properties": { + "aspectRatio": { + "annotations": [ + { + "properties": { + "name": "aspectRatio" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 4, + "min": 0.5 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 2 + }, + "farPlane": { + "annotations": [ + { + "properties": { + "name": "farPlane" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 10000, + "min": 100 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 1000 + }, + "fieldOfView": { + "annotations": [ + { + "properties": { + "name": "fieldOfView" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 120, + "min": 10 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 35 + }, + "nearPlane": { + "annotations": [ + { + "properties": { + "name": "nearPlane" + }, + "typeName": "DisplayNameAnnotation" + }, + { + "properties": { + "max": 1, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "value": 0.1 + } + } + }, + "frustumType": 0, + "objectID": "64a54965-2b11-4f1e-b326-5a7b881b1230", + "objectName": "PerspectiveCamera", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -14.098477363586426 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2.6794817447662354 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 10.668663024902344 + } + }, + "viewport": { + "height": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + }, + "visibility": true + }, + "typeName": "PerspectiveCamera" + }, + { + "properties": { + "inputs": { + "order": [ + "diffuse_color", + "light_color", + "light_id" + ], + "properties": { + "diffuse_color": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.7820208310296207 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.8601000255285575 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.35999166567692303 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "light_color": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "light_id": { + "annotations": [ + { + "properties": { + "engineType": 2 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Int::EngineTypeAnnotation::LinkEndAnnotation", + "value": 0 + } + } + }, + "objectID": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "objectName": "LightControl", + "outputs": { + "order": [ + "diffuse_color", + "light_color", + "light_direction" + ], + "properties": { + "diffuse_color": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.7820208072662354 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.8601000308990479 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.3599916696548462 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "light_color": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "light_direction": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + } + } + }, + "stdModules": { + "base": true, + "debug": true, + "math": true, + "string": true, + "table": true + }, + "uri": "scripts/LightControl.lua" + }, + "typeName": "LuaScript" + }, + { + "properties": { + "backgroundColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "defaultResourceFolders": { + "imageSubdirectory": "images", + "interfaceSubdirectory": "interfaces", + "meshSubdirectory": "meshes", + "scriptSubdirectory": "scripts", + "shaderSubdirectory": "shaders" + }, + "featureLevel": 2, + "objectID": "c00b6a60-cc1d-4f67-8df8-e08d466ff496", + "objectName": "ubo-phong", + "pythonOnSaveScript": "", + "saveAsZip": false, + "sceneId": { + "annotations": [ + { + "properties": { + "max": 1024, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 200 + }, + "viewport": { + "i1": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + }, + "i2": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + } + } + }, + "typeName": "ProjectSettings" + }, + { + "properties": { + "inputs": { + "order": [ + "dist", + "pitch", + "yaw" + ], + "properties": { + "dist": { + "annotations": [ + { + "properties": { + "engineType": 5 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::EngineTypeAnnotation::LinkEndAnnotation", + "value": 11 + }, + "pitch": { + "annotations": [ + { + "properties": { + "engineType": 5 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::EngineTypeAnnotation::LinkEndAnnotation", + "value": 0 + }, + "yaw": { + "annotations": [ + { + "properties": { + "engineType": 5 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::EngineTypeAnnotation::LinkEndAnnotation", + "value": -0.24606484995281025 + } + } + }, + "objectID": "cec7da39-320c-4f86-9003-f28e1f1105f1", + "objectName": "cameracontrol", + "outputs": { + "order": [ + "rotation", + "translation" + ], + "properties": { + "rotation": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -14.098477363586426 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + }, + "translation": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "typeName": "LinkStartAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2.6794817447662354 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 10.668663024902344 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkStartAnnotation" + } + } + }, + "stdModules": { + "base": true, + "debug": true, + "math": true, + "string": true, + "table": true + }, + "uri": "scripts/camera-orbit.lua" + }, + "typeName": "LuaScript" + }, + { + "properties": { + "children": [ + "f6596a9a-735d-4bae-88d0-491c4c58f4f8", + "66b84d1b-1bd6-4bc7-ae64-12e98285f909", + "ee3e22ce-212a-4d18-ae92-9d1b7300c6c8" + ], + "enabled": true, + "objectID": "f28d289e-3e70-485e-b683-12be172ed432", + "objectName": "Node", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "f1246b41-acea-4c54-b084-996ece0300d3" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "cb1c5fe1-40de-4d49-a4a9-224cb8354ab7", + "objectID": "072c0f18-8eb0-4ee9-a846-8c4b7925c579", + "objectName": "cube", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.3290705182007514e-14 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "948b9d48-97d1-49a9-a6b6-093b9c62826e" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "7928c2a1-bb24-46b9-a219-a48f0ad999bf", + "objectID": "28098efa-5adf-43e5-9c4b-4d6afa378510", + "objectName": "monkey", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.3290705182007514e-14 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2.9850746268656634 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "objectID": "3241608e-c1f9-4753-943f-f1089a41206f", + "objectName": "phong-struct", + "options": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": -8192 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 8192, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "uniforms": { + "order": [ + "phong" + ], + "properties": { + "phong": { + "annotations": [ + { + "properties": { + "engineType": 13 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "order": [ + "lightColor", + "lightDirection", + "ambientColor", + "diffuseColor", + "specularColor", + "shininess", + "alpha" + ], + "properties": { + "alpha": { + "annotations": [ + { + "properties": { + "engineType": 5 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::EngineTypeAnnotation::LinkEndAnnotation", + "value": 0 + }, + "ambientColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.11 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "diffuseColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.7820208072662354 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.8601000308990479 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.3599916696548462 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "lightColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "lightDirection": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "shininess": { + "annotations": [ + { + "properties": { + "engineType": 5 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::EngineTypeAnnotation::LinkEndAnnotation", + "value": 20 + }, + "specularColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.35 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.17 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + } + }, + "typeName": "Table::EngineTypeAnnotation::LinkEndAnnotation" + } + } + }, + "uriDefines": "", + "uriFragment": "shaders/phong-struct.frag", + "uriGeometry": "", + "uriVertex": "shaders/phong-struct.vert" + }, + "typeName": "Material" + }, + { + "properties": { + "bakeMeshes": true, + "materialNames": { + "properties": [ + { + "typeName": "String", + "value": "material" + } + ] + }, + "meshIndex": 0, + "metaData": { + "order": [ + "meshInfo" + ], + "properties": { + "meshInfo": { + "annotations": [ + { + "typeName": "ReadOnlyAnnotation" + } + ], + "order": [ + "triangles", + "vertices" + ], + "properties": { + "triangles": { + "typeName": "Int", + "value": 1280 + }, + "vertices": { + "typeName": "Int", + "value": 3840 + } + }, + "typeName": "Table::ReadOnlyAnnotation" + } + } + }, + "objectID": "41525ba1-df9b-4919-84d0-1b57f86a9661", + "objectName": "sphere", + "uri": "meshes/sphere-ico.glb" + }, + "typeName": "Mesh" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "3241608e-c1f9-4753-943f-f1089a41206f" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "cb1c5fe1-40de-4d49-a4a9-224cb8354ab7", + "objectID": "465c4f42-276c-498d-bb00-90d849c25835", + "objectName": "cube", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.3290705182007514e-14 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "3241608e-c1f9-4753-943f-f1089a41206f" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "41525ba1-df9b-4919-84d0-1b57f86a9661", + "objectID": "4b61d57f-0c64-499a-baeb-1a4751759c66", + "objectName": "sphere", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.3290705182007514e-14 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 2.9850746268656785 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "children": [ + "465c4f42-276c-498d-bb00-90d849c25835", + "4b61d57f-0c64-499a-baeb-1a4751759c66", + "cf8ead60-1f55-4559-a00e-61eda7e2109e" + ], + "enabled": true, + "objectID": "66b84d1b-1bd6-4bc7-ae64-12e98285f909", + "objectName": "root_struct", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "tags": { + "properties": [ + { + "typeName": "String", + "value": "render_main" + } + ] + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "f1246b41-acea-4c54-b084-996ece0300d3" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "41525ba1-df9b-4919-84d0-1b57f86a9661", + "objectID": "6d9bc4bc-0258-47c0-bfd6-d9055e8a6de4", + "objectName": "sphere", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.3290705182007514e-14 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 2.9850746268656785 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "bakeMeshes": true, + "materialNames": { + "properties": [ + { + "typeName": "String", + "value": "material" + } + ] + }, + "meshIndex": 0, + "metaData": { + "order": [ + "meshInfo" + ], + "properties": { + "meshInfo": { + "annotations": [ + { + "typeName": "ReadOnlyAnnotation" + } + ], + "order": [ + "triangles", + "vertices" + ], + "properties": { + "triangles": { + "typeName": "Int", + "value": 968 + }, + "vertices": { + "typeName": "Int", + "value": 1966 + } + }, + "typeName": "Table::ReadOnlyAnnotation" + } + } + }, + "objectID": "7928c2a1-bb24-46b9-a219-a48f0ad999bf", + "objectName": "monkey", + "uri": "meshes/monkey.gltf" + }, + "typeName": "Mesh" + }, + { + "properties": { + "camera": "64a54965-2b11-4f1e-b326-5a7b881b1230", + "clearColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "enableClearColor": true, + "enableClearDepth": true, + "enableClearStencil": true, + "enabled": true, + "layers": [ + "9e342182-e867-4ca2-b8d3-3648877005d0", + null, + null, + null, + null, + null, + null, + null + ], + "objectID": "8971633c-ffbc-4a9e-aa41-89b74e6ee88c", + "objectName": "MainRenderPass", + "renderOnce": false, + "renderOrder": 1, + "target": null + }, + "typeName": "RenderPass" + }, + { + "properties": { + "objectID": "948b9d48-97d1-49a9-a6b6-093b9c62826e", + "objectName": "SimplePhong", + "options": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "uniforms": { + "order": [ + "u_lightColor", + "u_lightDirection", + "u_ambientColor", + "u_diffuseColor", + "u_specularColor", + "u_shininess" + ], + "properties": { + "u_ambientColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.11022494887525573 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "u_diffuseColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.7820208072662354 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.8601000308990479 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.3599916696548462 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "u_lightColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "u_lightDirection": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "u_shininess": { + "annotations": [ + { + "properties": { + "engineType": 5 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::EngineTypeAnnotation::LinkEndAnnotation", + "value": 20 + }, + "u_specularColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.35 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.17 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + } + } + }, + "uriDefines": "", + "uriFragment": "shaders/phong.frag", + "uriGeometry": "", + "uriVertex": "shaders/phong.vert" + }, + "typeName": "Material" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "f1246b41-acea-4c54-b084-996ece0300d3" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "7928c2a1-bb24-46b9-a219-a48f0ad999bf", + "objectID": "95a0ff21-2161-4b1f-935b-b5024663a955", + "objectName": "monkey", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.3290705182007514e-14 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2.9850746268656634 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "materialFilterMode": 1, + "objectID": "9e342182-e867-4ca2-b8d3-3648877005d0", + "objectName": "MainRenderLayer", + "renderableTags": { + "order": [ + "render_main" + ], + "properties": { + "render_main": { + "annotations": [ + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Int::LinkEndAnnotation", + "value": 0 + } + } + }, + "sortOrder": 1 + }, + "typeName": "RenderLayer" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "948b9d48-97d1-49a9-a6b6-093b9c62826e" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "cb1c5fe1-40de-4d49-a4a9-224cb8354ab7", + "objectID": "a17f0c62-2ea2-46dc-8b03-4c1d2e0dff38", + "objectName": "cube", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.3290705182007514e-14 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "bakeMeshes": true, + "materialNames": { + "properties": [ + { + "typeName": "String", + "value": "material" + } + ] + }, + "meshIndex": 0, + "metaData": { + "order": [ + "meshInfo" + ], + "properties": { + "meshInfo": { + "annotations": [ + { + "typeName": "ReadOnlyAnnotation" + } + ], + "order": [ + "triangles", + "vertices" + ], + "properties": { + "triangles": { + "typeName": "Int", + "value": 12 + }, + "vertices": { + "typeName": "Int", + "value": 24 + } + }, + "typeName": "Table::ReadOnlyAnnotation" + } + } + }, + "objectID": "cb1c5fe1-40de-4d49-a4a9-224cb8354ab7", + "objectName": "cube", + "uri": "meshes/cube.gltf" + }, + "typeName": "Mesh" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "3241608e-c1f9-4753-943f-f1089a41206f" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "7928c2a1-bb24-46b9-a219-a48f0ad999bf", + "objectID": "cf8ead60-1f55-4559-a00e-61eda7e2109e", + "objectName": "monkey", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.3290705182007514e-14 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2.9850746268656634 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "enabled": true, + "instanceCount": { + "annotations": [ + { + "properties": { + "max": 20, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + }, + "materials": { + "order": [ + "material" + ], + "properties": { + "material": { + "order": [ + "material", + "private", + "options", + "uniforms" + ], + "properties": { + "material": { + "typeName": "Material", + "value": "948b9d48-97d1-49a9-a6b6-093b9c62826e" + }, + "options": { + "annotations": [ + { + "properties": { + "name": "Options" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "properties": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "typeName": "BlendOptions::DisplayNameAnnotation" + }, + "private": { + "annotations": [ + { + "properties": { + "name": "Private Material" + }, + "typeName": "DisplayNameAnnotation" + } + ], + "typeName": "Bool::DisplayNameAnnotation", + "value": false + }, + "uniforms": { + "typeName": "Table" + } + }, + "typeName": "Table" + } + } + }, + "mesh": "41525ba1-df9b-4919-84d0-1b57f86a9661", + "objectID": "e34b0178-abf8-4196-826f-2d5b251114d7", + "objectName": "sphere", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -5.3290705182007514e-14 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 2.9850746268656785 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "MeshNode" + }, + { + "properties": { + "children": [ + "072c0f18-8eb0-4ee9-a846-8c4b7925c579", + "6d9bc4bc-0258-47c0-bfd6-d9055e8a6de4", + "95a0ff21-2161-4b1f-935b-b5024663a955" + ], + "enabled": true, + "objectID": "ee3e22ce-212a-4d18-ae92-9d1b7300c6c8", + "objectName": "root_ubo", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "tags": { + "properties": [ + { + "typeName": "String", + "value": "render_main" + } + ] + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2.5 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + }, + { + "properties": { + "objectID": "f1246b41-acea-4c54-b084-996ece0300d3", + "objectName": "phong-ubo", + "options": { + "blendColor": { + "w": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "blendFactorDestAlpha": 1, + "blendFactorDestColor": 3, + "blendFactorSrcAlpha": 1, + "blendFactorSrcColor": 2, + "blendOperationAlpha": 0, + "blendOperationColor": 0, + "colorWriteMask": { + "alpha": true, + "blue": true, + "green": true, + "red": true + }, + "cullmode": 2, + "depthFunction": 4, + "depthwrite": true, + "scissorOptions": { + "scissorEnable": false, + "scissorRegion": { + "height": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 720 + }, + "offsetX": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "offsetY": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": -7680 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 0 + }, + "width": { + "annotations": [ + { + "properties": { + "max": 7680, + "min": 1 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1440 + } + } + }, + "stencilOptions": { + "stencilFunc": 0, + "stencilMask": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 255 + }, + "stencilOpDepthFail": 0, + "stencilOpDepthSucc": 0, + "stencilOpStencilFail": 0, + "stencilRef": { + "annotations": [ + { + "properties": { + "max": 255, + "min": 0 + }, + "typeName": "RangeAnnotationInt" + } + ], + "value": 1 + } + } + }, + "uniforms": { + "order": [ + "phong" + ], + "properties": { + "phong": { + "annotations": [ + { + "properties": { + "engineType": 13 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "order": [ + "lightColor", + "lightDirection", + "ambientColor", + "diffuseColor", + "specularColor", + "shininess", + "alpha" + ], + "properties": { + "alpha": { + "annotations": [ + { + "properties": { + "engineType": 5 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::EngineTypeAnnotation::LinkEndAnnotation", + "value": 0 + }, + "ambientColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.11 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "diffuseColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.7820208072662354 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.8601000308990479 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.3599916696548462 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "lightColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "lightDirection": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": -2 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + }, + "shininess": { + "annotations": [ + { + "properties": { + "engineType": 5 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "typeName": "Double::EngineTypeAnnotation::LinkEndAnnotation", + "value": 20 + }, + "specularColor": { + "annotations": [ + { + "properties": { + "engineType": 8 + }, + "typeName": "EngineTypeAnnotation" + }, + { + "properties": { + "featureLevel": 1 + }, + "typeName": "LinkEndAnnotation" + } + ], + "properties": { + "x": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.35 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 1, + "min": 0 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0.17 + } + }, + "typeName": "Vec3f::EngineTypeAnnotation::LinkEndAnnotation" + } + }, + "typeName": "Table::EngineTypeAnnotation::LinkEndAnnotation" + } + } + }, + "uriDefines": "", + "uriFragment": "shaders/ubo_phong.frag", + "uriGeometry": "", + "uriVertex": "shaders/ubo_phong.vert" + }, + "typeName": "Material" + }, + { + "properties": { + "children": [ + "a17f0c62-2ea2-46dc-8b03-4c1d2e0dff38", + "e34b0178-abf8-4196-826f-2d5b251114d7", + "28098efa-5adf-43e5-9c4b-4d6afa378510" + ], + "enabled": true, + "objectID": "f6596a9a-735d-4bae-88d0-491c4c58f4f8", + "objectName": "Root", + "rotation": { + "x": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 360, + "min": -360 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "scaling": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": 0.1 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 1 + } + }, + "tags": { + "properties": [ + { + "typeName": "String", + "value": "render_main" + } + ] + }, + "translation": { + "x": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + }, + "y": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 2.5 + }, + "z": { + "annotations": [ + { + "properties": { + "max": 100, + "min": -100 + }, + "typeName": "RangeAnnotationDouble" + } + ], + "value": 0 + } + }, + "visibility": true + }, + "typeName": "Node" + } + ], + "links": [ + { + "properties": { + "endObject": "3241608e-c1f9-4753-943f-f1089a41206f", + "endProp": [ + "uniforms", + "phong", + "diffuseColor" + ], + "isValid": true, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "diffuse_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "948b9d48-97d1-49a9-a6b6-093b9c62826e", + "endProp": [ + "uniforms", + "u_diffuseColor" + ], + "isValid": true, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "diffuse_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "f1246b41-acea-4c54-b084-996ece0300d3", + "endProp": [ + "uniforms", + "phong", + "diffuseColor" + ], + "isValid": true, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "diffuse_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "f1246b41-acea-4c54-b084-996ece0300d3", + "endProp": [ + "uniforms", + "phong", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "diffuse_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "f1246b41-acea-4c54-b084-996ece0300d3", + "endProp": [ + "uniforms", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "diffuse_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "072c0f18-8eb0-4ee9-a846-8c4b7925c579", + "endProp": [ + "materials", + "material", + "uniforms", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "28098efa-5adf-43e5-9c4b-4d6afa378510", + "endProp": [ + "materials", + "material", + "uniforms", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "3241608e-c1f9-4753-943f-f1089a41206f", + "endProp": [ + "uniforms", + "phong", + "lightColor" + ], + "isValid": true, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "465c4f42-276c-498d-bb00-90d849c25835", + "endProp": [ + "materials", + "material", + "uniforms", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "4b61d57f-0c64-499a-baeb-1a4751759c66", + "endProp": [ + "materials", + "material", + "uniforms", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "6d9bc4bc-0258-47c0-bfd6-d9055e8a6de4", + "endProp": [ + "materials", + "material", + "uniforms", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "948b9d48-97d1-49a9-a6b6-093b9c62826e", + "endProp": [ + "uniforms", + "u_lightColor" + ], + "isValid": true, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "95a0ff21-2161-4b1f-935b-b5024663a955", + "endProp": [ + "materials", + "material", + "uniforms", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "a17f0c62-2ea2-46dc-8b03-4c1d2e0dff38", + "endProp": [ + "materials", + "material", + "uniforms", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "cf8ead60-1f55-4559-a00e-61eda7e2109e", + "endProp": [ + "materials", + "material", + "uniforms", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "e34b0178-abf8-4196-826f-2d5b251114d7", + "endProp": [ + "materials", + "material", + "uniforms", + "u_diffuseColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "f1246b41-acea-4c54-b084-996ece0300d3", + "endProp": [ + "uniforms", + "phong", + "lightColor" + ], + "isValid": true, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "f1246b41-acea-4c54-b084-996ece0300d3", + "endProp": [ + "uniforms", + "phong", + "u_lightColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "f1246b41-acea-4c54-b084-996ece0300d3", + "endProp": [ + "uniforms", + "u_lightColor" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_color" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "072c0f18-8eb0-4ee9-a846-8c4b7925c579", + "endProp": [ + "materials", + "material", + "uniforms", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "28098efa-5adf-43e5-9c4b-4d6afa378510", + "endProp": [ + "materials", + "material", + "uniforms", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "3241608e-c1f9-4753-943f-f1089a41206f", + "endProp": [ + "uniforms", + "phong", + "lightDirection" + ], + "isValid": true, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "465c4f42-276c-498d-bb00-90d849c25835", + "endProp": [ + "materials", + "material", + "uniforms", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "4b61d57f-0c64-499a-baeb-1a4751759c66", + "endProp": [ + "materials", + "material", + "uniforms", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "6d9bc4bc-0258-47c0-bfd6-d9055e8a6de4", + "endProp": [ + "materials", + "material", + "uniforms", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "948b9d48-97d1-49a9-a6b6-093b9c62826e", + "endProp": [ + "uniforms", + "u_lightDirection" + ], + "isValid": true, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "95a0ff21-2161-4b1f-935b-b5024663a955", + "endProp": [ + "materials", + "material", + "uniforms", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "a17f0c62-2ea2-46dc-8b03-4c1d2e0dff38", + "endProp": [ + "materials", + "material", + "uniforms", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "cf8ead60-1f55-4559-a00e-61eda7e2109e", + "endProp": [ + "materials", + "material", + "uniforms", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "e34b0178-abf8-4196-826f-2d5b251114d7", + "endProp": [ + "materials", + "material", + "uniforms", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "f1246b41-acea-4c54-b084-996ece0300d3", + "endProp": [ + "uniforms", + "phong", + "lightDirection" + ], + "isValid": true, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "f1246b41-acea-4c54-b084-996ece0300d3", + "endProp": [ + "uniforms", + "phong", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "f1246b41-acea-4c54-b084-996ece0300d3", + "endProp": [ + "uniforms", + "u_lightDirection" + ], + "isValid": false, + "isWeak": false, + "startObject": "ba776ca4-6b28-4e7b-b5e5-b9973b4658aa", + "startProp": [ + "outputs", + "light_direction" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "64a54965-2b11-4f1e-b326-5a7b881b1230", + "endProp": [ + "rotation" + ], + "isValid": true, + "isWeak": false, + "startObject": "cec7da39-320c-4f86-9003-f28e1f1105f1", + "startProp": [ + "outputs", + "rotation" + ] + }, + "typeName": "Link" + }, + { + "properties": { + "endObject": "64a54965-2b11-4f1e-b326-5a7b881b1230", + "endProp": [ + "translation" + ], + "isValid": true, + "isWeak": false, + "startObject": "cec7da39-320c-4f86-9003-f28e1f1105f1", + "startProp": [ + "outputs", + "translation" + ] + }, + "typeName": "Link" + } + ], + "racoVersion": [ + 2, + 1, + 0 + ], + "ramsesVersion": [ + 28, + 2, + 0 + ], + "structPropMap": { + "AnchorPointOutputs": { + "depth": "Double::DisplayNameAnnotation::LinkStartAnnotation", + "viewportCoords": "Vec2f::DisplayNameAnnotation::LinkStartAnnotation" + }, + "BlendOptions": { + "blendColor": "Vec4f::DisplayNameAnnotation", + "blendFactorDestAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorDestColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendFactorSrcColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationAlpha": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "blendOperationColor": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "colorWriteMask": "ColorWriteMask::DisplayNameAnnotation", + "cullmode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthFunction": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "depthwrite": "Bool::DisplayNameAnnotation", + "scissorOptions": "ScissorOptions::DisplayNameAnnotation", + "stencilOptions": "StencilOptions::DisplayNameAnnotation" + }, + "CameraViewport": { + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetX": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "offsetY": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ColorWriteMask": { + "alpha": "Bool::DisplayNameAnnotation", + "blue": "Bool::DisplayNameAnnotation", + "green": "Bool::DisplayNameAnnotation", + "red": "Bool::DisplayNameAnnotation" + }, + "DefaultResourceDirectories": { + "imageSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "interfaceSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "meshSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "scriptSubdirectory": "String::DisplayNameAnnotation::URIAnnotation", + "shaderSubdirectory": "String::DisplayNameAnnotation::URIAnnotation" + }, + "LuaStandardModuleSelection": { + "base": "Bool::DisplayNameAnnotation", + "debug": "Bool::DisplayNameAnnotation", + "math": "Bool::DisplayNameAnnotation", + "string": "Bool::DisplayNameAnnotation", + "table": "Bool::DisplayNameAnnotation" + }, + "OrthographicFrustum": { + "bottomPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "farPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "leftPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "nearPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "rightPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "topPlane": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation" + }, + "ScissorOptions": { + "scissorEnable": "Bool::DisplayNameAnnotation", + "scissorRegion": "CameraViewport::DisplayNameAnnotation" + }, + "StencilOptions": { + "stencilFunc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilMask": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "stencilOpDepthFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpDepthSucc": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilOpStencilFail": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "stencilRef": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "TimerInput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkEndAnnotation" + }, + "TimerOutput": { + "ticker_us": "Int64::DisplayNameAnnotation::LinkStartAnnotation" + }, + "Vec2f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec2i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec3f": { + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec3i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt" + }, + "Vec4f": { + "w": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "x": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "y": "Double::DisplayNameAnnotation::RangeAnnotationDouble", + "z": "Double::DisplayNameAnnotation::RangeAnnotationDouble" + }, + "Vec4i": { + "i1": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i2": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i3": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "i4": "Int::DisplayNameAnnotation::RangeAnnotationInt" + } + }, + "userTypePropMap": { + "AnchorPoint": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "node": "Node::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "AnchorPointOutputs::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Animation": { + "animationChannels": "Array[AnimationChannelBase]::DisplayNameAnnotation::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "progress": "Double::DisplayNameAnnotation::RangeAnnotationDouble::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannel": { + "animationIndex": "Int::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "samplerIndex": "Int::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "AnimationChannelRaco": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "componentArraySize": "Int::DisplayNameAnnotation", + "componentType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "data": "Table::HiddenProperty", + "interpolationType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "BlitPass": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "destinationX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "destinationY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOrder": "Int::DisplayNameAnnotation", + "sourceRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "sourceX": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "sourceY": "Int::RangeAnnotationInt::DisplayNameAnnotation", + "targetRenderBuffer": "RenderBuffer::DisplayNameAnnotation::EmptyReferenceAllowable", + "targetRenderBufferMS": "RenderBufferMS::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation" + }, + "CubeMap": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level2uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level3uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "level4uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uriBack": "String::URIAnnotation::DisplayNameAnnotation", + "uriBottom": "String::URIAnnotation::DisplayNameAnnotation", + "uriFront": "String::URIAnnotation::DisplayNameAnnotation", + "uriLeft": "String::URIAnnotation::DisplayNameAnnotation", + "uriRight": "String::URIAnnotation::DisplayNameAnnotation", + "uriTop": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "LuaInterface": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkStartAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScript": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "luaModules": "Table::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "Table::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "LuaScriptModule": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "stdModules": "LuaStandardModuleSelection::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Material": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "options": "BlendOptions::DisplayNameAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "uniforms": "Table::DisplayNameAnnotation", + "uriDefines": "String::URIAnnotation::DisplayNameAnnotation", + "uriFragment": "String::URIAnnotation::DisplayNameAnnotation", + "uriGeometry": "String::URIAnnotation::DisplayNameAnnotation", + "uriVertex": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Mesh": { + "bakeMeshes": "Bool::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "materialNames": "Table::ArraySemanticAnnotation::HiddenProperty", + "meshIndex": "Int::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "MeshNode": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "instanceCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "materials": "Table::DisplayNameAnnotation", + "mesh": "Mesh::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Node": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "OrthographicCamera": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "frustum": "OrthographicFrustum::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "PerspectiveCamera": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "frustum": "Table::DisplayNameAnnotation::LinkEndAnnotation", + "frustumType": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "viewport": "CameraViewport::DisplayNameAnnotation::LinkEndAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "Prefab": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "PrefabInstance": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "rotation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "scaling": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "template": "Prefab::DisplayNameAnnotation", + "translation": "Vec3f::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "visibility": "Bool::DisplayNameAnnotation::LinkEndAnnotation" + }, + "ProjectSettings": { + "backgroundColor": "Vec4f::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "defaultResourceFolders": "DefaultResourceDirectories::DisplayNameAnnotation", + "featureLevel": "Int::DisplayNameAnnotation::ReadOnlyAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "pythonOnSaveScript": "String::DisplayNameAnnotation::URIAnnotation", + "saveAsZip": "Bool::DisplayNameAnnotation", + "sceneId": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "viewport": "Vec2i::DisplayNameAnnotation" + }, + "RenderBuffer": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "RenderBufferMS": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "format": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "height": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "sampleCount": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "width": "Int::RangeAnnotationInt::DisplayNameAnnotation::LinkEndAnnotation" + }, + "RenderLayer": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "materialFilterMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "materialFilterTags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderableTags": "Table::RenderableTagContainerAnnotation::DisplayNameAnnotation", + "sortOrder": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "tags": "Table::ArraySemanticAnnotation::HiddenProperty::TagContainerAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderPass": { + "camera": "BaseCamera::DisplayNameAnnotation", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "clearColor": "Vec4f::DisplayNameAnnotation::LinkEndAnnotation", + "enableClearColor": "Bool::DisplayNameAnnotation", + "enableClearDepth": "Bool::DisplayNameAnnotation", + "enableClearStencil": "Bool::DisplayNameAnnotation", + "enabled": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "layers": "Array[RenderLayer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "renderOnce": "Bool::DisplayNameAnnotation::LinkEndAnnotation", + "renderOrder": "Int::DisplayNameAnnotation::LinkEndAnnotation", + "target": "RenderTargetBase::DisplayNameAnnotation::EmptyReferenceAllowable", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTarget": { + "buffers": "Array[RenderBuffer]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "RenderTargetMS": { + "buffers": "Array[RenderBufferMS]::DisplayNameAnnotation::EmptyReferenceAllowable::ResizableArray", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Skin": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "joints": "Array[Node]::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "skinIndex": "Int::DisplayNameAnnotation", + "targets": "Array[MeshNode]::DisplayNameAnnotation::ResizableArray", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Texture": { + "anisotropy": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "flipTexture": "Bool::DisplayNameAnnotation", + "generateMipmaps": "Bool::DisplayNameAnnotation", + "level2uri": "String::URIAnnotation::DisplayNameAnnotation", + "level3uri": "String::URIAnnotation::DisplayNameAnnotation", + "level4uri": "String::URIAnnotation::DisplayNameAnnotation", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "mipmapLevel": "Int::DisplayNameAnnotation::RangeAnnotationInt", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "textureFormat": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "uri": "String::URIAnnotation::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation", + "wrapUMode": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "wrapVMode": "Int::DisplayNameAnnotation::EnumerationAnnotation" + }, + "TextureExternal": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "magSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "minSamplingMethod": "Int::DisplayNameAnnotation::EnumerationAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + }, + "Timer": { + "children": "Array[Ref]::ArraySemanticAnnotation::HiddenProperty", + "inputs": "TimerInput::DisplayNameAnnotation", + "metaData": "Table::DisplayNameAnnotation", + "objectID": "String::HiddenProperty", + "objectName": "String::DisplayNameAnnotation", + "outputs": "TimerOutput::DisplayNameAnnotation", + "userTags": "Table::ArraySemanticAnnotation::HiddenProperty::UserTagContainerAnnotation::DisplayNameAnnotation" + } + } +} diff --git a/third_party/ramses b/third_party/ramses index 93d7dc08..068163a6 160000 --- a/third_party/ramses +++ b/third_party/ramses @@ -1 +1 @@ -Subproject commit 93d7dc085df3136cfc008b3d52610d1fff43e6f7 +Subproject commit 068163a64bde899c55e05bfbc99fbfe379ccec7b