From b117a4a19caae7254d890b29acc1671bbbff3276 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Wed, 26 Jun 2024 12:41:58 +0800 Subject: [PATCH] chore: move examples to separate repository --- examples/assets/1.glb | 3 - examples/assets/2.glb | 3 - examples/assets/3.glb | 3 - examples/assets/BusterDrone/scene.bin | 3 - examples/assets/BusterDrone/scene.gltf | 3 - .../BusterDrone/textures/Boden_baseColor.jpg | 3 - .../textures/Boden_metallicRoughness.jpg | 3 - .../BusterDrone/textures/Boden_normal.jpg | 3 - .../BusterDrone/textures/body_baseColor.jpg | 3 - .../BusterDrone/textures/body_emissive.jpg | 3 - .../textures/body_metallicRoughness.jpg | 3 - .../BusterDrone/textures/body_normal.jpg | 3 - .../textures/material_baseColor.jpg | 3 - .../textures/material_metallicRoughness.jpg | 3 - .../BusterDrone/textures/material_normal.jpg | 3 - examples/assets/FlightHelmet/FlightHelmet.bin | 3 - .../assets/FlightHelmet/FlightHelmet.gltf | 3 - .../FlightHelmet/FlightHelmet_baseColor.png | 3 - .../FlightHelmet/FlightHelmet_baseColor1.png | 3 - .../FlightHelmet/FlightHelmet_baseColor2.png | 3 - .../FlightHelmet/FlightHelmet_baseColor3.png | 3 - .../FlightHelmet/FlightHelmet_baseColor4.png | 3 - .../FlightHelmet/FlightHelmet_normal.png | 3 - .../FlightHelmet/FlightHelmet_normal1.png | 3 - .../FlightHelmet/FlightHelmet_normal2.png | 3 - .../FlightHelmet/FlightHelmet_normal3.png | 3 - .../FlightHelmet/FlightHelmet_normal4.png | 3 - ...lightHelmet_occlusionRoughnessMetallic.png | 3 - ...ightHelmet_occlusionRoughnessMetallic1.png | 3 - ...ightHelmet_occlusionRoughnessMetallic2.png | 3 - ...ightHelmet_occlusionRoughnessMetallic3.png | 3 - ...ightHelmet_occlusionRoughnessMetallic4.png | 3 - examples/assets/FlightHelmet/README.md | 3 - examples/assets/background.ktx | 3 - examples/assets/background.png | 3 - .../assets/default_env/default_env_ibl.ktx | 3 - .../assets/default_env/default_env_skybox.ktx | 3 - examples/assets/shapes/shapes.bin | 3 - examples/assets/shapes/shapes.blend | 3 - examples/assets/shapes/shapes.blend1 | 3 - examples/assets/shapes/shapes.glb | 3 - examples/assets/shapes/shapes.gltf | 3 - examples/assets/shapes/texture_test.png | 3 - examples/assets/solidcolor.filamat | 3 - examples/assets/solidcolor.mat | 3 - examples/dart/cli_macos/.gitignore | 3 - examples/dart/cli_macos/CHANGELOG.md | 3 - examples/dart/cli_macos/README.md | 2 - examples/dart/cli_macos/analysis_options.yaml | 30 - examples/dart/cli_macos/bin/assets | 1 - examples/dart/cli_macos/bin/example_cli.dart | 46 - .../cli_macos/bin/libthermion_swift.dylib | 1 - .../cli_macos/bin/output/output_000007.png | Bin 47139 -> 0 bytes examples/dart/cli_macos/pubspec.yaml | 18 - .../dart/cli_macos/test/example_cli_test.dart | 8 - examples/dart/cli_wasm/.gitignore | 3 - examples/dart/cli_wasm/CHANGELOG.md | 3 - examples/dart/cli_wasm/README.md | 2 - examples/dart/cli_wasm/analysis_options.yaml | 30 - examples/dart/cli_wasm/bin/.gitignore | 4 - examples/dart/cli_wasm/bin/build.log | 98 -- examples/dart/cli_wasm/bin/example_cli.dart | 33 - examples/dart/cli_wasm/bin/main.js | 123 -- examples/dart/cli_wasm/bin/package-lock.json | 1559 ----------------- examples/dart/cli_wasm/bin/package.json | 5 - examples/dart/cli_wasm/bin/thermion_dart.js | 1 - examples/dart/cli_wasm/bin/thermion_dart.wasm | 1 - .../dart/cli_wasm/bin/thermion_dart.worker.js | 1 - examples/dart/cli_wasm/pubspec.yaml | 18 - .../dart/cli_wasm/test/example_cli_test.dart | 8 - examples/dart/web_wasm/.gitignore | 3 - examples/dart/web_wasm/CHANGELOG.md | 3 - examples/dart/web_wasm/README.md | 2 - examples/dart/web_wasm/analysis_options.yaml | 30 - examples/dart/web_wasm/bin/README.md | 16 - examples/dart/web_wasm/bin/assets | 1 - examples/dart/web_wasm/bin/example_web.dart | 57 - examples/dart/web_wasm/bin/example_web.mjs | 249 --- .../dart/web_wasm/bin/example_web.unopt.wasm | Bin 238521 -> 0 bytes examples/dart/web_wasm/bin/example_web.wasm | Bin 112770 -> 0 bytes examples/dart/web_wasm/bin/index.html | 127 -- examples/dart/web_wasm/bin/thermion_dart.js | 1 - examples/dart/web_wasm/bin/thermion_dart.wasm | 1 - .../dart/web_wasm/bin/thermion_dart.worker.js | 1 - examples/dart/web_wasm/pubspec.yaml | 17 - .../dart/web_wasm/test/example_web_test.dart | 8 - examples/flutter/example/.fvm/fvm_config.json | 4 - examples/flutter/example/.gitattributes | 30 - examples/flutter/example/.gitignore | 50 - examples/flutter/example/.metadata | 30 - examples/flutter/example/README.md | 21 - .../flutter/example/analysis_options.yaml | 29 - examples/flutter/example/android/.gitignore | 13 - .../flutter/example/android/app/build.gradle | 51 - .../android/app/src/debug/AndroidManifest.xml | 7 - .../android/app/src/main/AndroidManifest.xml | 45 - .../app/polyvox/example/MainActivity.kt | 5 - .../res/drawable-v21/launch_background.xml | 12 - .../main/res/drawable/launch_background.xml | 12 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 0 bytes .../app/src/main/res/values-night/styles.xml | 18 - .../app/src/main/res/values/styles.xml | 18 - .../app/src/profile/AndroidManifest.xml | 7 - examples/flutter/example/android/build.gradle | 18 - .../flutter/example/android/gradle.properties | 3 - .../gradle/wrapper/gradle-wrapper.properties | 5 - .../flutter/example/android/settings.gradle | 25 - examples/flutter/example/assets | 1 - .../integration_test/goldens/ios/0_fresh.png | 3 - .../goldens/ios/10_setshapespositionto.png | 3 - .../goldens/ios/11_Disablefrustumculling.png | 3 - .../goldens/ios/12_Settonemappingtolinear.png | 3 - .../goldens/ios/13_Movecameratoasset.png | 3 - .../goldens/ios/14_movecamerato.png | 3 - .../15_setcameratofirstcamerainshapesGLB.png | 3 - .../goldens/ios/16_resize.png | 3 - .../goldens/ios/17_resize.png | 3 - .../goldens/ios/18_resize.png | 3 - .../goldens/ios/19_resize.png | 3 - .../ios/1_createviewerdefaultubershader.png | 3 - .../goldens/ios/2_Renderingfalse.png | 3 - .../goldens/ios/3_loadskybox.png | 3 - .../goldens/ios/4_loadIBL.png | 3 - .../goldens/ios/5_loadshapesGLB.png | 3 - .../integration_test/goldens/ios/6_zoomin.png | 3 - .../integration_test/goldens/ios/7_rotate.png | 3 - .../integration_test/goldens/ios/8_pan.png | 3 - .../goldens/ios/9_transformtounitcube.png | 3 - .../plugin_integration_test.dart | 190 -- examples/flutter/example/ios/.gitignore | 34 - .../ios/Flutter/AppFrameworkInfo.plist | 26 - .../example/ios/Flutter/Debug.xcconfig | 2 - .../example/ios/Flutter/Release.xcconfig | 2 - examples/flutter/example/ios/Podfile | 44 - examples/flutter/example/ios/Podfile.lock | 35 - .../ios/Runner.xcodeproj/project.pbxproj | 730 -------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 98 -- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../example/ios/Runner/AppDelegate.swift | 13 - .../AppIcon.appiconset/Contents.json | 122 -- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 0 bytes .../LaunchImage.imageset/Contents.json | 23 - .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/README.md | 5 - .../Runner/Base.lproj/LaunchScreen.storyboard | 37 - .../ios/Runner/Base.lproj/Main.storyboard | 26 - .../flutter/example/ios/Runner/Info.plist | 49 - .../ios/Runner/Runner-Bridging-Header.h | 1 - .../example/ios/RunnerTests/RunnerTests.swift | 12 - .../example/lib/camera_matrix_overlay.dart | 139 -- .../flutter/example/lib/example_viewport.dart | 35 - examples/flutter/example/lib/main.dart | 196 --- .../example/lib/menus/asset_submenu.dart | 263 --- .../example/lib/menus/camera_submenu.dart | 224 --- .../example/lib/menus/controller_menu.dart | 107 -- .../example/lib/menus/rendering_submenu.dart | 95 - .../flutter/example/lib/menus/scene_menu.dart | 62 - .../example/lib/picker_result_widget.dart | 20 - examples/flutter/example/linux/.gitignore | 1 - examples/flutter/example/linux/CMakeLists.txt | 141 -- .../example/linux/flutter/CMakeLists.txt | 88 - .../flutter/generated_plugin_registrant.cc | 15 - .../flutter/generated_plugin_registrant.h | 15 - .../linux/flutter/generated_plugins.cmake | 24 - examples/flutter/example/linux/main.cc | 6 - .../flutter/example/linux/my_application.cc | 104 -- .../flutter/example/linux/my_application.h | 18 - examples/flutter/example/macos/.gitignore | 7 - .../macos/Flutter/Flutter-Debug.xcconfig | 2 - .../macos/Flutter/Flutter-Release.xcconfig | 2 - .../Flutter/GeneratedPluginRegistrant.swift | 14 - examples/flutter/example/macos/Podfile | 43 - .../macos/Runner.xcodeproj/project.pbxproj | 803 --------- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 98 -- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../example/macos/Runner/AppDelegate.swift | 9 - .../AppIcon.appiconset/Contents.json | 68 - .../AppIcon.appiconset/app_icon_1024.png | Bin 102994 -> 0 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 5680 -> 0 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 520 -> 0 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 14142 -> 0 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 1066 -> 0 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 36406 -> 0 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 2218 -> 0 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 ---- .../macos/Runner/Configs/AppInfo.xcconfig | 14 - .../macos/Runner/Configs/Debug.xcconfig | 2 - .../macos/Runner/Configs/Release.xcconfig | 2 - .../macos/Runner/Configs/Warnings.xcconfig | 13 - .../macos/Runner/DebugProfile.entitlements | 12 - .../flutter/example/macos/Runner/Info.plist | 32 - .../macos/Runner/MainFlutterWindow.swift | 15 - .../example/macos/Runner/Release.entitlements | 8 - .../macos/RunnerTests/RunnerTests.swift | 12 - examples/flutter/example/pubspec.yaml | 51 - .../flutter/example/test/widget_test.dart | 27 - .../example/test_driver/compare_goldens.sh | 9 - .../example/test_driver/integration_test.dart | 58 - .../integration_test_update_goldens.dart | 22 - .../example/test_driver/regenerate_goldens.sh | 8 - examples/flutter/example/web/favicon.png | Bin 917 -> 0 bytes .../flutter/example/web/icons/Icon-192.png | Bin 5292 -> 0 bytes .../flutter/example/web/icons/Icon-512.png | Bin 8252 -> 0 bytes .../example/web/icons/Icon-maskable-192.png | Bin 5594 -> 0 bytes .../example/web/icons/Icon-maskable-512.png | Bin 20998 -> 0 bytes examples/flutter/example/web/index.html | 146 -- examples/flutter/example/web/main.dart | 53 - examples/flutter/example/web/main.mjs | 358 ---- examples/flutter/example/web/main.unopt.wasm | Bin 529519 -> 0 bytes examples/flutter/example/web/main.wasm | Bin 225312 -> 0 bytes examples/flutter/example/web/manifest.json | 35 - examples/flutter/example/web/thermion_dart.js | 1 - .../flutter/example/web/thermion_dart.wasm | 1 - .../example/web/thermion_dart.worker.js | 1 - examples/flutter/example/windows/.gitignore | 17 - .../flutter/example/windows/CMakeLists.txt | 95 - .../example/windows/flutter/CMakeLists.txt | 108 -- .../flutter/generated_plugin_registrant.cc | 14 - .../flutter/generated_plugin_registrant.h | 15 - .../windows/flutter/generated_plugins.cmake | 24 - .../example/windows/runner/CMakeLists.txt | 17 - .../flutter/example/windows/runner/Runner.rc | 121 -- .../example/windows/runner/flutter_window.cpp | 61 - .../example/windows/runner/flutter_window.h | 33 - .../flutter/example/windows/runner/main.cpp | 43 - .../flutter/example/windows/runner/resource.h | 16 - .../windows/runner/resources/app_icon.ico | Bin 33772 -> 0 bytes .../windows/runner/runner.exe.manifest | 20 - .../flutter/example/windows/runner/utils.cpp | 64 - .../flutter/example/windows/runner/utils.h | 19 - .../example/windows/runner/win32_window.cpp | 245 --- .../example/windows/runner/win32_window.h | 98 -- examples/flutter/quickstart/.gitignore | 43 - examples/flutter/quickstart/.metadata | 45 - examples/flutter/quickstart/README.md | 16 - .../flutter/quickstart/analysis_options.yaml | 28 - .../flutter/quickstart/android/.gitignore | 13 - .../quickstart/android/app/build.gradle | 44 - .../android/app/src/debug/AndroidManifest.xml | 7 - .../android/app/src/main/AndroidManifest.xml | 45 - .../com/example/quickstart/MainActivity.kt | 5 - .../res/drawable-v21/launch_background.xml | 12 - .../main/res/drawable/launch_background.xml | 12 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 0 bytes .../app/src/main/res/values-night/styles.xml | 18 - .../app/src/main/res/values/styles.xml | 18 - .../app/src/profile/AndroidManifest.xml | 7 - .../flutter/quickstart/android/build.gradle | 18 - .../quickstart/android/gradle.properties | 3 - .../gradle/wrapper/gradle-wrapper.properties | 5 - .../quickstart/android/settings.gradle | 25 - examples/flutter/quickstart/assets/cube.glb | Bin 1936 -> 0 bytes .../quickstart/assets/default_env_ibl.ktx | Bin 2095464 -> 0 bytes .../quickstart/assets/default_env_skybox.ktx | Bin 1572932 -> 0 bytes examples/flutter/quickstart/ios/.gitignore | 34 - .../ios/Flutter/AppFrameworkInfo.plist | 26 - .../quickstart/ios/Flutter/Debug.xcconfig | 2 - .../quickstart/ios/Flutter/Release.xcconfig | 2 - examples/flutter/quickstart/ios/Podfile | 44 - examples/flutter/quickstart/ios/Podfile.lock | 22 - .../ios/Runner.xcodeproj/project.pbxproj | 716 -------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 98 -- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../quickstart/ios/Runner/AppDelegate.swift | 13 - .../AppIcon.appiconset/Contents.json | 122 -- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 0 bytes .../LaunchImage.imageset/Contents.json | 23 - .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/README.md | 5 - .../Runner/Base.lproj/LaunchScreen.storyboard | 37 - .../ios/Runner/Base.lproj/Main.storyboard | 26 - .../flutter/quickstart/ios/Runner/Info.plist | 49 - .../ios/Runner/Runner-Bridging-Header.h | 1 - .../ios/RunnerTests/RunnerTests.swift | 12 - examples/flutter/quickstart/lib/main.dart | 92 - examples/flutter/quickstart/linux/.gitignore | 1 - .../flutter/quickstart/linux/CMakeLists.txt | 145 -- .../quickstart/linux/flutter/CMakeLists.txt | 88 - .../flutter/generated_plugin_registrant.cc | 15 - .../flutter/generated_plugin_registrant.h | 15 - .../linux/flutter/generated_plugins.cmake | 24 - examples/flutter/quickstart/linux/main.cc | 6 - .../quickstart/linux/my_application.cc | 124 -- .../flutter/quickstart/linux/my_application.h | 18 - examples/flutter/quickstart/macos/.gitignore | 7 - .../macos/Flutter/Flutter-Debug.xcconfig | 2 - .../macos/Flutter/Flutter-Release.xcconfig | 2 - .../Flutter/GeneratedPluginRegistrant.swift | 12 - examples/flutter/quickstart/macos/Podfile | 43 - .../flutter/quickstart/macos/Podfile.lock | 22 - .../macos/Runner.xcodeproj/project.pbxproj | 803 --------- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 98 -- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../quickstart/macos/Runner/AppDelegate.swift | 9 - .../AppIcon.appiconset/Contents.json | 68 - .../AppIcon.appiconset/app_icon_1024.png | Bin 102994 -> 0 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 5680 -> 0 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 520 -> 0 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 14142 -> 0 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 1066 -> 0 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 36406 -> 0 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 2218 -> 0 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 ---- .../macos/Runner/Configs/AppInfo.xcconfig | 14 - .../macos/Runner/Configs/Debug.xcconfig | 2 - .../macos/Runner/Configs/Release.xcconfig | 2 - .../macos/Runner/Configs/Warnings.xcconfig | 13 - .../macos/Runner/DebugProfile.entitlements | 12 - .../quickstart/macos/Runner/Info.plist | 32 - .../macos/Runner/MainFlutterWindow.swift | 15 - .../macos/Runner/Release.entitlements | 8 - .../macos/RunnerTests/RunnerTests.swift | 12 - examples/flutter/quickstart/pubspec.yaml | 45 - .../flutter/quickstart/test/widget_test.dart | 30 - examples/flutter/quickstart/web/favicon.png | Bin 917 -> 0 bytes .../flutter/quickstart/web/icons/Icon-192.png | Bin 5292 -> 0 bytes .../flutter/quickstart/web/icons/Icon-512.png | Bin 8252 -> 0 bytes .../web/icons/Icon-maskable-192.png | Bin 5594 -> 0 bytes .../web/icons/Icon-maskable-512.png | Bin 20998 -> 0 bytes examples/flutter/quickstart/web/index.html | 38 - examples/flutter/quickstart/web/manifest.json | 35 - .../flutter/quickstart/windows/.gitignore | 17 - .../flutter/quickstart/windows/CMakeLists.txt | 108 -- .../quickstart/windows/flutter/CMakeLists.txt | 109 -- .../flutter/generated_plugin_registrant.cc | 14 - .../flutter/generated_plugin_registrant.h | 15 - .../windows/flutter/generated_plugins.cmake | 24 - .../quickstart/windows/runner/CMakeLists.txt | 40 - .../quickstart/windows/runner/Runner.rc | 121 -- .../windows/runner/flutter_window.cpp | 71 - .../windows/runner/flutter_window.h | 33 - .../quickstart/windows/runner/main.cpp | 43 - .../quickstart/windows/runner/resource.h | 16 - .../windows/runner/resources/app_icon.ico | Bin 33772 -> 0 bytes .../windows/runner/runner.exe.manifest | 14 - .../quickstart/windows/runner/utils.cpp | 65 - .../flutter/quickstart/windows/runner/utils.h | 19 - .../windows/runner/win32_window.cpp | 288 --- .../quickstart/windows/runner/win32_window.h | 102 -- 393 files changed, 14437 deletions(-) delete mode 100644 examples/assets/1.glb delete mode 100644 examples/assets/2.glb delete mode 100644 examples/assets/3.glb delete mode 100644 examples/assets/BusterDrone/scene.bin delete mode 100644 examples/assets/BusterDrone/scene.gltf delete mode 100644 examples/assets/BusterDrone/textures/Boden_baseColor.jpg delete mode 100644 examples/assets/BusterDrone/textures/Boden_metallicRoughness.jpg delete mode 100644 examples/assets/BusterDrone/textures/Boden_normal.jpg delete mode 100644 examples/assets/BusterDrone/textures/body_baseColor.jpg delete mode 100644 examples/assets/BusterDrone/textures/body_emissive.jpg delete mode 100644 examples/assets/BusterDrone/textures/body_metallicRoughness.jpg delete mode 100644 examples/assets/BusterDrone/textures/body_normal.jpg delete mode 100644 examples/assets/BusterDrone/textures/material_baseColor.jpg delete mode 100644 examples/assets/BusterDrone/textures/material_metallicRoughness.jpg delete mode 100644 examples/assets/BusterDrone/textures/material_normal.jpg delete mode 100644 examples/assets/FlightHelmet/FlightHelmet.bin delete mode 100644 examples/assets/FlightHelmet/FlightHelmet.gltf delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_baseColor.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_baseColor1.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_baseColor2.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_baseColor3.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_baseColor4.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_normal.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_normal1.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_normal2.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_normal3.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_normal4.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic1.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic2.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic3.png delete mode 100644 examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic4.png delete mode 100644 examples/assets/FlightHelmet/README.md delete mode 100644 examples/assets/background.ktx delete mode 100644 examples/assets/background.png delete mode 100644 examples/assets/default_env/default_env_ibl.ktx delete mode 100644 examples/assets/default_env/default_env_skybox.ktx delete mode 100644 examples/assets/shapes/shapes.bin delete mode 100644 examples/assets/shapes/shapes.blend delete mode 100644 examples/assets/shapes/shapes.blend1 delete mode 100644 examples/assets/shapes/shapes.glb delete mode 100644 examples/assets/shapes/shapes.gltf delete mode 100644 examples/assets/shapes/texture_test.png delete mode 100644 examples/assets/solidcolor.filamat delete mode 100644 examples/assets/solidcolor.mat delete mode 100644 examples/dart/cli_macos/.gitignore delete mode 100644 examples/dart/cli_macos/CHANGELOG.md delete mode 100644 examples/dart/cli_macos/README.md delete mode 100644 examples/dart/cli_macos/analysis_options.yaml delete mode 120000 examples/dart/cli_macos/bin/assets delete mode 100644 examples/dart/cli_macos/bin/example_cli.dart delete mode 120000 examples/dart/cli_macos/bin/libthermion_swift.dylib delete mode 100644 examples/dart/cli_macos/bin/output/output_000007.png delete mode 100644 examples/dart/cli_macos/pubspec.yaml delete mode 100644 examples/dart/cli_macos/test/example_cli_test.dart delete mode 100644 examples/dart/cli_wasm/.gitignore delete mode 100644 examples/dart/cli_wasm/CHANGELOG.md delete mode 100644 examples/dart/cli_wasm/README.md delete mode 100644 examples/dart/cli_wasm/analysis_options.yaml delete mode 100644 examples/dart/cli_wasm/bin/.gitignore delete mode 100644 examples/dart/cli_wasm/bin/build.log delete mode 100644 examples/dart/cli_wasm/bin/example_cli.dart delete mode 100644 examples/dart/cli_wasm/bin/main.js delete mode 100644 examples/dart/cli_wasm/bin/package-lock.json delete mode 100644 examples/dart/cli_wasm/bin/package.json delete mode 120000 examples/dart/cli_wasm/bin/thermion_dart.js delete mode 120000 examples/dart/cli_wasm/bin/thermion_dart.wasm delete mode 120000 examples/dart/cli_wasm/bin/thermion_dart.worker.js delete mode 100644 examples/dart/cli_wasm/pubspec.yaml delete mode 100644 examples/dart/cli_wasm/test/example_cli_test.dart delete mode 100644 examples/dart/web_wasm/.gitignore delete mode 100644 examples/dart/web_wasm/CHANGELOG.md delete mode 100644 examples/dart/web_wasm/README.md delete mode 100644 examples/dart/web_wasm/analysis_options.yaml delete mode 100644 examples/dart/web_wasm/bin/README.md delete mode 120000 examples/dart/web_wasm/bin/assets delete mode 100644 examples/dart/web_wasm/bin/example_web.dart delete mode 100644 examples/dart/web_wasm/bin/example_web.mjs delete mode 100644 examples/dart/web_wasm/bin/example_web.unopt.wasm delete mode 100644 examples/dart/web_wasm/bin/example_web.wasm delete mode 100644 examples/dart/web_wasm/bin/index.html delete mode 120000 examples/dart/web_wasm/bin/thermion_dart.js delete mode 120000 examples/dart/web_wasm/bin/thermion_dart.wasm delete mode 120000 examples/dart/web_wasm/bin/thermion_dart.worker.js delete mode 100644 examples/dart/web_wasm/pubspec.yaml delete mode 100644 examples/dart/web_wasm/test/example_web_test.dart delete mode 100644 examples/flutter/example/.fvm/fvm_config.json delete mode 100644 examples/flutter/example/.gitattributes delete mode 100644 examples/flutter/example/.gitignore delete mode 100644 examples/flutter/example/.metadata delete mode 100644 examples/flutter/example/README.md delete mode 100644 examples/flutter/example/analysis_options.yaml delete mode 100644 examples/flutter/example/android/.gitignore delete mode 100644 examples/flutter/example/android/app/build.gradle delete mode 100644 examples/flutter/example/android/app/src/debug/AndroidManifest.xml delete mode 100644 examples/flutter/example/android/app/src/main/AndroidManifest.xml delete mode 100644 examples/flutter/example/android/app/src/main/kotlin/app/polyvox/example/MainActivity.kt delete mode 100644 examples/flutter/example/android/app/src/main/res/drawable-v21/launch_background.xml delete mode 100644 examples/flutter/example/android/app/src/main/res/drawable/launch_background.xml delete mode 100644 examples/flutter/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 examples/flutter/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 examples/flutter/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 examples/flutter/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 examples/flutter/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 examples/flutter/example/android/app/src/main/res/values-night/styles.xml delete mode 100644 examples/flutter/example/android/app/src/main/res/values/styles.xml delete mode 100644 examples/flutter/example/android/app/src/profile/AndroidManifest.xml delete mode 100644 examples/flutter/example/android/build.gradle delete mode 100644 examples/flutter/example/android/gradle.properties delete mode 100644 examples/flutter/example/android/gradle/wrapper/gradle-wrapper.properties delete mode 100644 examples/flutter/example/android/settings.gradle delete mode 120000 examples/flutter/example/assets delete mode 100644 examples/flutter/example/integration_test/goldens/ios/0_fresh.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/10_setshapespositionto.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/11_Disablefrustumculling.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/12_Settonemappingtolinear.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/13_Movecameratoasset.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/14_movecamerato.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/15_setcameratofirstcamerainshapesGLB.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/16_resize.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/17_resize.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/18_resize.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/19_resize.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/1_createviewerdefaultubershader.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/2_Renderingfalse.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/3_loadskybox.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/4_loadIBL.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/5_loadshapesGLB.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/6_zoomin.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/7_rotate.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/8_pan.png delete mode 100644 examples/flutter/example/integration_test/goldens/ios/9_transformtounitcube.png delete mode 100644 examples/flutter/example/integration_test/plugin_integration_test.dart delete mode 100644 examples/flutter/example/ios/.gitignore delete mode 100644 examples/flutter/example/ios/Flutter/AppFrameworkInfo.plist delete mode 100644 examples/flutter/example/ios/Flutter/Debug.xcconfig delete mode 100644 examples/flutter/example/ios/Flutter/Release.xcconfig delete mode 100644 examples/flutter/example/ios/Podfile delete mode 100644 examples/flutter/example/ios/Podfile.lock delete mode 100644 examples/flutter/example/ios/Runner.xcodeproj/project.pbxproj delete mode 100644 examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 examples/flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 examples/flutter/example/ios/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 examples/flutter/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 examples/flutter/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 examples/flutter/example/ios/Runner/AppDelegate.swift delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png delete mode 100644 examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md delete mode 100644 examples/flutter/example/ios/Runner/Base.lproj/LaunchScreen.storyboard delete mode 100644 examples/flutter/example/ios/Runner/Base.lproj/Main.storyboard delete mode 100644 examples/flutter/example/ios/Runner/Info.plist delete mode 100644 examples/flutter/example/ios/Runner/Runner-Bridging-Header.h delete mode 100644 examples/flutter/example/ios/RunnerTests/RunnerTests.swift delete mode 100644 examples/flutter/example/lib/camera_matrix_overlay.dart delete mode 100644 examples/flutter/example/lib/example_viewport.dart delete mode 100644 examples/flutter/example/lib/main.dart delete mode 100644 examples/flutter/example/lib/menus/asset_submenu.dart delete mode 100644 examples/flutter/example/lib/menus/camera_submenu.dart delete mode 100644 examples/flutter/example/lib/menus/controller_menu.dart delete mode 100644 examples/flutter/example/lib/menus/rendering_submenu.dart delete mode 100644 examples/flutter/example/lib/menus/scene_menu.dart delete mode 100644 examples/flutter/example/lib/picker_result_widget.dart delete mode 100644 examples/flutter/example/linux/.gitignore delete mode 100644 examples/flutter/example/linux/CMakeLists.txt delete mode 100644 examples/flutter/example/linux/flutter/CMakeLists.txt delete mode 100644 examples/flutter/example/linux/flutter/generated_plugin_registrant.cc delete mode 100644 examples/flutter/example/linux/flutter/generated_plugin_registrant.h delete mode 100644 examples/flutter/example/linux/flutter/generated_plugins.cmake delete mode 100644 examples/flutter/example/linux/main.cc delete mode 100644 examples/flutter/example/linux/my_application.cc delete mode 100644 examples/flutter/example/linux/my_application.h delete mode 100644 examples/flutter/example/macos/.gitignore delete mode 100644 examples/flutter/example/macos/Flutter/Flutter-Debug.xcconfig delete mode 100644 examples/flutter/example/macos/Flutter/Flutter-Release.xcconfig delete mode 100644 examples/flutter/example/macos/Flutter/GeneratedPluginRegistrant.swift delete mode 100644 examples/flutter/example/macos/Podfile delete mode 100644 examples/flutter/example/macos/Runner.xcodeproj/project.pbxproj delete mode 100644 examples/flutter/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 examples/flutter/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 examples/flutter/example/macos/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 examples/flutter/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 examples/flutter/example/macos/Runner/AppDelegate.swift delete mode 100644 examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png delete mode 100644 examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png delete mode 100644 examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png delete mode 100644 examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png delete mode 100644 examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png delete mode 100644 examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png delete mode 100644 examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png delete mode 100644 examples/flutter/example/macos/Runner/Base.lproj/MainMenu.xib delete mode 100644 examples/flutter/example/macos/Runner/Configs/AppInfo.xcconfig delete mode 100644 examples/flutter/example/macos/Runner/Configs/Debug.xcconfig delete mode 100644 examples/flutter/example/macos/Runner/Configs/Release.xcconfig delete mode 100644 examples/flutter/example/macos/Runner/Configs/Warnings.xcconfig delete mode 100644 examples/flutter/example/macos/Runner/DebugProfile.entitlements delete mode 100644 examples/flutter/example/macos/Runner/Info.plist delete mode 100644 examples/flutter/example/macos/Runner/MainFlutterWindow.swift delete mode 100644 examples/flutter/example/macos/Runner/Release.entitlements delete mode 100644 examples/flutter/example/macos/RunnerTests/RunnerTests.swift delete mode 100644 examples/flutter/example/pubspec.yaml delete mode 100644 examples/flutter/example/test/widget_test.dart delete mode 100644 examples/flutter/example/test_driver/compare_goldens.sh delete mode 100644 examples/flutter/example/test_driver/integration_test.dart delete mode 100644 examples/flutter/example/test_driver/integration_test_update_goldens.dart delete mode 100644 examples/flutter/example/test_driver/regenerate_goldens.sh delete mode 100644 examples/flutter/example/web/favicon.png delete mode 100644 examples/flutter/example/web/icons/Icon-192.png delete mode 100644 examples/flutter/example/web/icons/Icon-512.png delete mode 100644 examples/flutter/example/web/icons/Icon-maskable-192.png delete mode 100644 examples/flutter/example/web/icons/Icon-maskable-512.png delete mode 100644 examples/flutter/example/web/index.html delete mode 100644 examples/flutter/example/web/main.dart delete mode 100644 examples/flutter/example/web/main.mjs delete mode 100644 examples/flutter/example/web/main.unopt.wasm delete mode 100644 examples/flutter/example/web/main.wasm delete mode 100644 examples/flutter/example/web/manifest.json delete mode 120000 examples/flutter/example/web/thermion_dart.js delete mode 120000 examples/flutter/example/web/thermion_dart.wasm delete mode 120000 examples/flutter/example/web/thermion_dart.worker.js delete mode 100644 examples/flutter/example/windows/.gitignore delete mode 100644 examples/flutter/example/windows/CMakeLists.txt delete mode 100644 examples/flutter/example/windows/flutter/CMakeLists.txt delete mode 100644 examples/flutter/example/windows/flutter/generated_plugin_registrant.cc delete mode 100644 examples/flutter/example/windows/flutter/generated_plugin_registrant.h delete mode 100644 examples/flutter/example/windows/flutter/generated_plugins.cmake delete mode 100644 examples/flutter/example/windows/runner/CMakeLists.txt delete mode 100644 examples/flutter/example/windows/runner/Runner.rc delete mode 100644 examples/flutter/example/windows/runner/flutter_window.cpp delete mode 100644 examples/flutter/example/windows/runner/flutter_window.h delete mode 100644 examples/flutter/example/windows/runner/main.cpp delete mode 100644 examples/flutter/example/windows/runner/resource.h delete mode 100644 examples/flutter/example/windows/runner/resources/app_icon.ico delete mode 100644 examples/flutter/example/windows/runner/runner.exe.manifest delete mode 100644 examples/flutter/example/windows/runner/utils.cpp delete mode 100644 examples/flutter/example/windows/runner/utils.h delete mode 100644 examples/flutter/example/windows/runner/win32_window.cpp delete mode 100644 examples/flutter/example/windows/runner/win32_window.h delete mode 100644 examples/flutter/quickstart/.gitignore delete mode 100644 examples/flutter/quickstart/.metadata delete mode 100644 examples/flutter/quickstart/README.md delete mode 100644 examples/flutter/quickstart/analysis_options.yaml delete mode 100644 examples/flutter/quickstart/android/.gitignore delete mode 100644 examples/flutter/quickstart/android/app/build.gradle delete mode 100644 examples/flutter/quickstart/android/app/src/debug/AndroidManifest.xml delete mode 100644 examples/flutter/quickstart/android/app/src/main/AndroidManifest.xml delete mode 100644 examples/flutter/quickstart/android/app/src/main/kotlin/com/example/quickstart/MainActivity.kt delete mode 100644 examples/flutter/quickstart/android/app/src/main/res/drawable-v21/launch_background.xml delete mode 100644 examples/flutter/quickstart/android/app/src/main/res/drawable/launch_background.xml delete mode 100644 examples/flutter/quickstart/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 examples/flutter/quickstart/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 examples/flutter/quickstart/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 examples/flutter/quickstart/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 examples/flutter/quickstart/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 examples/flutter/quickstart/android/app/src/main/res/values-night/styles.xml delete mode 100644 examples/flutter/quickstart/android/app/src/main/res/values/styles.xml delete mode 100644 examples/flutter/quickstart/android/app/src/profile/AndroidManifest.xml delete mode 100644 examples/flutter/quickstart/android/build.gradle delete mode 100644 examples/flutter/quickstart/android/gradle.properties delete mode 100644 examples/flutter/quickstart/android/gradle/wrapper/gradle-wrapper.properties delete mode 100644 examples/flutter/quickstart/android/settings.gradle delete mode 100644 examples/flutter/quickstart/assets/cube.glb delete mode 100644 examples/flutter/quickstart/assets/default_env_ibl.ktx delete mode 100644 examples/flutter/quickstart/assets/default_env_skybox.ktx delete mode 100644 examples/flutter/quickstart/ios/.gitignore delete mode 100644 examples/flutter/quickstart/ios/Flutter/AppFrameworkInfo.plist delete mode 100644 examples/flutter/quickstart/ios/Flutter/Debug.xcconfig delete mode 100644 examples/flutter/quickstart/ios/Flutter/Release.xcconfig delete mode 100644 examples/flutter/quickstart/ios/Podfile delete mode 100644 examples/flutter/quickstart/ios/Podfile.lock delete mode 100644 examples/flutter/quickstart/ios/Runner.xcodeproj/project.pbxproj delete mode 100644 examples/flutter/quickstart/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 examples/flutter/quickstart/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 examples/flutter/quickstart/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 examples/flutter/quickstart/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 examples/flutter/quickstart/ios/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 examples/flutter/quickstart/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 examples/flutter/quickstart/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 examples/flutter/quickstart/ios/Runner/AppDelegate.swift delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png delete mode 100644 examples/flutter/quickstart/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md delete mode 100644 examples/flutter/quickstart/ios/Runner/Base.lproj/LaunchScreen.storyboard delete mode 100644 examples/flutter/quickstart/ios/Runner/Base.lproj/Main.storyboard delete mode 100644 examples/flutter/quickstart/ios/Runner/Info.plist delete mode 100644 examples/flutter/quickstart/ios/Runner/Runner-Bridging-Header.h delete mode 100644 examples/flutter/quickstart/ios/RunnerTests/RunnerTests.swift delete mode 100644 examples/flutter/quickstart/lib/main.dart delete mode 100644 examples/flutter/quickstart/linux/.gitignore delete mode 100644 examples/flutter/quickstart/linux/CMakeLists.txt delete mode 100644 examples/flutter/quickstart/linux/flutter/CMakeLists.txt delete mode 100644 examples/flutter/quickstart/linux/flutter/generated_plugin_registrant.cc delete mode 100644 examples/flutter/quickstart/linux/flutter/generated_plugin_registrant.h delete mode 100644 examples/flutter/quickstart/linux/flutter/generated_plugins.cmake delete mode 100644 examples/flutter/quickstart/linux/main.cc delete mode 100644 examples/flutter/quickstart/linux/my_application.cc delete mode 100644 examples/flutter/quickstart/linux/my_application.h delete mode 100644 examples/flutter/quickstart/macos/.gitignore delete mode 100644 examples/flutter/quickstart/macos/Flutter/Flutter-Debug.xcconfig delete mode 100644 examples/flutter/quickstart/macos/Flutter/Flutter-Release.xcconfig delete mode 100644 examples/flutter/quickstart/macos/Flutter/GeneratedPluginRegistrant.swift delete mode 100644 examples/flutter/quickstart/macos/Podfile delete mode 100644 examples/flutter/quickstart/macos/Podfile.lock delete mode 100644 examples/flutter/quickstart/macos/Runner.xcodeproj/project.pbxproj delete mode 100644 examples/flutter/quickstart/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 examples/flutter/quickstart/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 examples/flutter/quickstart/macos/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 examples/flutter/quickstart/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 examples/flutter/quickstart/macos/Runner/AppDelegate.swift delete mode 100644 examples/flutter/quickstart/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 examples/flutter/quickstart/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png delete mode 100644 examples/flutter/quickstart/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png delete mode 100644 examples/flutter/quickstart/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png delete mode 100644 examples/flutter/quickstart/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png delete mode 100644 examples/flutter/quickstart/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png delete mode 100644 examples/flutter/quickstart/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png delete mode 100644 examples/flutter/quickstart/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png delete mode 100644 examples/flutter/quickstart/macos/Runner/Base.lproj/MainMenu.xib delete mode 100644 examples/flutter/quickstart/macos/Runner/Configs/AppInfo.xcconfig delete mode 100644 examples/flutter/quickstart/macos/Runner/Configs/Debug.xcconfig delete mode 100644 examples/flutter/quickstart/macos/Runner/Configs/Release.xcconfig delete mode 100644 examples/flutter/quickstart/macos/Runner/Configs/Warnings.xcconfig delete mode 100644 examples/flutter/quickstart/macos/Runner/DebugProfile.entitlements delete mode 100644 examples/flutter/quickstart/macos/Runner/Info.plist delete mode 100644 examples/flutter/quickstart/macos/Runner/MainFlutterWindow.swift delete mode 100644 examples/flutter/quickstart/macos/Runner/Release.entitlements delete mode 100644 examples/flutter/quickstart/macos/RunnerTests/RunnerTests.swift delete mode 100644 examples/flutter/quickstart/pubspec.yaml delete mode 100644 examples/flutter/quickstart/test/widget_test.dart delete mode 100644 examples/flutter/quickstart/web/favicon.png delete mode 100644 examples/flutter/quickstart/web/icons/Icon-192.png delete mode 100644 examples/flutter/quickstart/web/icons/Icon-512.png delete mode 100644 examples/flutter/quickstart/web/icons/Icon-maskable-192.png delete mode 100644 examples/flutter/quickstart/web/icons/Icon-maskable-512.png delete mode 100644 examples/flutter/quickstart/web/index.html delete mode 100644 examples/flutter/quickstart/web/manifest.json delete mode 100644 examples/flutter/quickstart/windows/.gitignore delete mode 100644 examples/flutter/quickstart/windows/CMakeLists.txt delete mode 100644 examples/flutter/quickstart/windows/flutter/CMakeLists.txt delete mode 100644 examples/flutter/quickstart/windows/flutter/generated_plugin_registrant.cc delete mode 100644 examples/flutter/quickstart/windows/flutter/generated_plugin_registrant.h delete mode 100644 examples/flutter/quickstart/windows/flutter/generated_plugins.cmake delete mode 100644 examples/flutter/quickstart/windows/runner/CMakeLists.txt delete mode 100644 examples/flutter/quickstart/windows/runner/Runner.rc delete mode 100644 examples/flutter/quickstart/windows/runner/flutter_window.cpp delete mode 100644 examples/flutter/quickstart/windows/runner/flutter_window.h delete mode 100644 examples/flutter/quickstart/windows/runner/main.cpp delete mode 100644 examples/flutter/quickstart/windows/runner/resource.h delete mode 100644 examples/flutter/quickstart/windows/runner/resources/app_icon.ico delete mode 100644 examples/flutter/quickstart/windows/runner/runner.exe.manifest delete mode 100644 examples/flutter/quickstart/windows/runner/utils.cpp delete mode 100644 examples/flutter/quickstart/windows/runner/utils.h delete mode 100644 examples/flutter/quickstart/windows/runner/win32_window.cpp delete mode 100644 examples/flutter/quickstart/windows/runner/win32_window.h diff --git a/examples/assets/1.glb b/examples/assets/1.glb deleted file mode 100644 index f6e5c4cf..00000000 --- a/examples/assets/1.glb +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a1d72d69da8b933bde5453ef2000612b561f8ddfa536a7ad89288ef11eb876d -size 1624 diff --git a/examples/assets/2.glb b/examples/assets/2.glb deleted file mode 100644 index a5bd07f7..00000000 --- a/examples/assets/2.glb +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fe0151ced8fd8609f9692f3d62dbd30890dada97cb6995572e37c7e7b4440d86 -size 21304 diff --git a/examples/assets/3.glb b/examples/assets/3.glb deleted file mode 100644 index de666f7c..00000000 --- a/examples/assets/3.glb +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f8b793f6513cf83f80ce9c63c7b51d329908b1991f17ca642911634b15b32de -size 34172 diff --git a/examples/assets/BusterDrone/scene.bin b/examples/assets/BusterDrone/scene.bin deleted file mode 100644 index a3590eae..00000000 --- a/examples/assets/BusterDrone/scene.bin +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2aafaedba913b3c5642907e4fc57f5fcd2f4f4deb0a5a6c9ad17ef2b0ae2ed1f -size 1810780 diff --git a/examples/assets/BusterDrone/scene.gltf b/examples/assets/BusterDrone/scene.gltf deleted file mode 100644 index 2d63a2cc..00000000 --- a/examples/assets/BusterDrone/scene.gltf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ea5425c972afb40de5b0c5caa1ae121c51592143245c4e8a39273ac26ca19d01 -size 232514 diff --git a/examples/assets/BusterDrone/textures/Boden_baseColor.jpg b/examples/assets/BusterDrone/textures/Boden_baseColor.jpg deleted file mode 100644 index 9e5419f0..00000000 --- a/examples/assets/BusterDrone/textures/Boden_baseColor.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f6d208315a0b37935face8f9b159ee3bdf44d3b95bcfdf441d1725f6c81d0faa -size 543635 diff --git a/examples/assets/BusterDrone/textures/Boden_metallicRoughness.jpg b/examples/assets/BusterDrone/textures/Boden_metallicRoughness.jpg deleted file mode 100644 index 46b9968b..00000000 --- a/examples/assets/BusterDrone/textures/Boden_metallicRoughness.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e5f3a5f2deb2abd7382905a2fb483071f610152f1433eecc527dc8d8ded1c98b -size 1680 diff --git a/examples/assets/BusterDrone/textures/Boden_normal.jpg b/examples/assets/BusterDrone/textures/Boden_normal.jpg deleted file mode 100644 index 86535ac3..00000000 --- a/examples/assets/BusterDrone/textures/Boden_normal.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1c9fe38941e09e853ab8410a84a0336d0fc1e2733a4a2b8571e5b5e47b5fd30c -size 876491 diff --git a/examples/assets/BusterDrone/textures/body_baseColor.jpg b/examples/assets/BusterDrone/textures/body_baseColor.jpg deleted file mode 100644 index 6976673e..00000000 --- a/examples/assets/BusterDrone/textures/body_baseColor.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e57477f5e57d6e3381051367dd05425327643c7bd19a972a1172275ecc675106 -size 1501226 diff --git a/examples/assets/BusterDrone/textures/body_emissive.jpg b/examples/assets/BusterDrone/textures/body_emissive.jpg deleted file mode 100644 index dc52448a..00000000 --- a/examples/assets/BusterDrone/textures/body_emissive.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:999903752cd80ca12b074117942a7128c1c84d27edc8cc773bb15a7f7ddcdcb9 -size 197691 diff --git a/examples/assets/BusterDrone/textures/body_metallicRoughness.jpg b/examples/assets/BusterDrone/textures/body_metallicRoughness.jpg deleted file mode 100644 index 8126ce4b..00000000 --- a/examples/assets/BusterDrone/textures/body_metallicRoughness.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d88568b3463f21a96400cd265286fbb26accdef3a11dbeb65e9faf824a441e4e -size 3868939 diff --git a/examples/assets/BusterDrone/textures/body_normal.jpg b/examples/assets/BusterDrone/textures/body_normal.jpg deleted file mode 100644 index 72a1d807..00000000 --- a/examples/assets/BusterDrone/textures/body_normal.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a34c5fdd0696d1679f5f0464f8fdfc5f012dc2be435046218158bed1bed0f7cb -size 1369811 diff --git a/examples/assets/BusterDrone/textures/material_baseColor.jpg b/examples/assets/BusterDrone/textures/material_baseColor.jpg deleted file mode 100644 index 1438a607..00000000 --- a/examples/assets/BusterDrone/textures/material_baseColor.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8de472e97570c33f0945bb38e97fea2af779e972e21d0226145060ab3ec83fd2 -size 512354 diff --git a/examples/assets/BusterDrone/textures/material_metallicRoughness.jpg b/examples/assets/BusterDrone/textures/material_metallicRoughness.jpg deleted file mode 100644 index 13c3d7e4..00000000 --- a/examples/assets/BusterDrone/textures/material_metallicRoughness.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:df391e772b5ff04540d5187cdf01d5cb04adf661931b2ccbe8744909b0954100 -size 628316 diff --git a/examples/assets/BusterDrone/textures/material_normal.jpg b/examples/assets/BusterDrone/textures/material_normal.jpg deleted file mode 100644 index bb9a61ee..00000000 --- a/examples/assets/BusterDrone/textures/material_normal.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:20dec60f67ea38b14ac45ae2490ddd4bbf5c108f842e244a5fe3f90c7010cc7f -size 468148 diff --git a/examples/assets/FlightHelmet/FlightHelmet.bin b/examples/assets/FlightHelmet/FlightHelmet.bin deleted file mode 100644 index a56edd8c..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet.bin +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a8b61da658f891a244ffba8a293b0b4dcf384893f99c6bcaa4ab653f981de853 -size 501824 diff --git a/examples/assets/FlightHelmet/FlightHelmet.gltf b/examples/assets/FlightHelmet/FlightHelmet.gltf deleted file mode 100644 index 680f64dd..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet.gltf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7b05a4cf63ea1c614a9385cdb902c62bad324eccbb87a6c9e3370da2b6f36f2d -size 14565 diff --git a/examples/assets/FlightHelmet/FlightHelmet_baseColor.png b/examples/assets/FlightHelmet/FlightHelmet_baseColor.png deleted file mode 100644 index 121fa21d..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_baseColor.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8e5567daf7a3ac83f6ebc04605f3605ac17c19a153b6b8aadd2596690209c34c -size 2778518 diff --git a/examples/assets/FlightHelmet/FlightHelmet_baseColor1.png b/examples/assets/FlightHelmet/FlightHelmet_baseColor1.png deleted file mode 100644 index 4fad1b98..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_baseColor1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd1207967131afbe2fa523c9f4bae1f6dbce1a8fdd0ebfad5ec0cf7ba6a66dc1 -size 5348302 diff --git a/examples/assets/FlightHelmet/FlightHelmet_baseColor2.png b/examples/assets/FlightHelmet/FlightHelmet_baseColor2.png deleted file mode 100644 index d85c68c6..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_baseColor2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7729882e59bc227554d1b26ffd6494bbd37357ee37ac959fad2932b16d586f79 -size 825327 diff --git a/examples/assets/FlightHelmet/FlightHelmet_baseColor3.png b/examples/assets/FlightHelmet/FlightHelmet_baseColor3.png deleted file mode 100644 index 3c8eaed2..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_baseColor3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3c8bd17cfddecede5a3fa9e1933ac6f309ce4cc6bc85d4122b9ae39b0ba2b0d8 -size 2990685 diff --git a/examples/assets/FlightHelmet/FlightHelmet_baseColor4.png b/examples/assets/FlightHelmet/FlightHelmet_baseColor4.png deleted file mode 100644 index 368de825..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_baseColor4.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7987620b2a90887fa1a0521bf72f84933a2eadca88965f47599204dd55dae62a -size 3974850 diff --git a/examples/assets/FlightHelmet/FlightHelmet_normal.png b/examples/assets/FlightHelmet/FlightHelmet_normal.png deleted file mode 100644 index b94892ea..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_normal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7acaed3775bb6246c266c8e3dcd803391a08a528b727781bf11559f016752f61 -size 3185146 diff --git a/examples/assets/FlightHelmet/FlightHelmet_normal1.png b/examples/assets/FlightHelmet/FlightHelmet_normal1.png deleted file mode 100644 index afa3ce9b..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_normal1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:573a3d39db8a109352d16a421aff316d37faeb52f6abf01d0ca72db279bde7d9 -size 5708074 diff --git a/examples/assets/FlightHelmet/FlightHelmet_normal2.png b/examples/assets/FlightHelmet/FlightHelmet_normal2.png deleted file mode 100644 index 00b58e74..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_normal2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:13e867927da090fe696248e0d884087a7d4e310dca8315cd8d4d686b95db7aef -size 17805 diff --git a/examples/assets/FlightHelmet/FlightHelmet_normal3.png b/examples/assets/FlightHelmet/FlightHelmet_normal3.png deleted file mode 100644 index bef510ce..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_normal3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3506c43687bf4bd441eef301b157761574c2edecab6c8af6b8e6a85b772abe15 -size 3713769 diff --git a/examples/assets/FlightHelmet/FlightHelmet_normal4.png b/examples/assets/FlightHelmet/FlightHelmet_normal4.png deleted file mode 100644 index 074d5538..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_normal4.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c34919581290d71a541697454ef9200d3f693236e8e9ddac89b49fa83c3befd9 -size 3702691 diff --git a/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic.png b/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic.png deleted file mode 100644 index 3421ab6c..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7fe00edcc79fb3266f7fe61ddb3fbf08f425b731985af7543bc5b677414cbf19 -size 4591738 diff --git a/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic1.png b/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic1.png deleted file mode 100644 index f0edcd24..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c6f75cb920285d4b0eb1f087bc79e70d31b1801c3df4edba294351516fa98953 -size 5304637 diff --git a/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic2.png b/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic2.png deleted file mode 100644 index b1f50b08..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:32afd5ae0da2f2880fc85753b993a6945da1993f4087e562f2f75e107ecbf2f3 -size 755081 diff --git a/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic3.png b/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic3.png deleted file mode 100644 index f32a6371..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c15354b40ef4f79b83d16d6aaa37cfd7654a8e281ef5e5dc5a25934d55f16f7a -size 3748216 diff --git a/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic4.png b/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic4.png deleted file mode 100644 index 73fd570e..00000000 --- a/examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic4.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c821ef0709398d8bc3cccfa311572fb45d4d9198514155f940936019ad0f32fd -size 4489618 diff --git a/examples/assets/FlightHelmet/README.md b/examples/assets/FlightHelmet/README.md deleted file mode 100644 index 2a99b3a0..00000000 --- a/examples/assets/FlightHelmet/README.md +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0bc81c711f74fdfd2ef56e34d747383444a3ab6a1ee52fe62cb5838e59b0be56 -size 545 diff --git a/examples/assets/background.ktx b/examples/assets/background.ktx deleted file mode 100644 index 4f13ac3a..00000000 --- a/examples/assets/background.ktx +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:620bfa644724e9914df19949346ad0f441357fbb176879421d66b4377705836b -size 1048644 diff --git a/examples/assets/background.png b/examples/assets/background.png deleted file mode 100644 index 2ca89ebb..00000000 --- a/examples/assets/background.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bedb625eca04a9abba66d1521efda591819212e44cef0ab2438631596902140c -size 585493 diff --git a/examples/assets/default_env/default_env_ibl.ktx b/examples/assets/default_env/default_env_ibl.ktx deleted file mode 100644 index 4ba3a2cc..00000000 --- a/examples/assets/default_env/default_env_ibl.ktx +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0245800fa846c2a3c15cb1d2aa6ded86fcf8355e568907dcd50e073c589f85d6 -size 2095464 diff --git a/examples/assets/default_env/default_env_skybox.ktx b/examples/assets/default_env/default_env_skybox.ktx deleted file mode 100644 index 33f4d477..00000000 --- a/examples/assets/default_env/default_env_skybox.ktx +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:40379fcd881ca3729b0fa057f66b8fedbd8ab92b8e407bc3a4fd17c1a2b6e75e -size 1572932 diff --git a/examples/assets/shapes/shapes.bin b/examples/assets/shapes/shapes.bin deleted file mode 100644 index 661d051b..00000000 --- a/examples/assets/shapes/shapes.bin +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5821c53850d84c5b2d0b39ad28e6cde94d8fc7e1bbb97d5d898c40733e2d4e99 -size 107424 diff --git a/examples/assets/shapes/shapes.blend b/examples/assets/shapes/shapes.blend deleted file mode 100644 index 1f15f926..00000000 --- a/examples/assets/shapes/shapes.blend +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9134594e40a4bad7601d0396bb5f2a7600656bda5d815b3cb2e855ba6c6c5e4 -size 1263808 diff --git a/examples/assets/shapes/shapes.blend1 b/examples/assets/shapes/shapes.blend1 deleted file mode 100644 index 27743c63..00000000 --- a/examples/assets/shapes/shapes.blend1 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ab0cada556723be0d138d7b1cadb5e315a273524db0468e0c4255d8d2b0c1c2d -size 1222992 diff --git a/examples/assets/shapes/shapes.glb b/examples/assets/shapes/shapes.glb deleted file mode 100644 index 9d154306..00000000 --- a/examples/assets/shapes/shapes.glb +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c58d82602dc9b4dabb63f378fecd7ecb9eaf6f5da5746552ec42dde4ec211d7 -size 121104 diff --git a/examples/assets/shapes/shapes.gltf b/examples/assets/shapes/shapes.gltf deleted file mode 100644 index f06ccefc..00000000 --- a/examples/assets/shapes/shapes.gltf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c1d3eac0151a58c3f36bea0f636691559612fd2d5ce21bb3551d43e86043e26 -size 36741 diff --git a/examples/assets/shapes/texture_test.png b/examples/assets/shapes/texture_test.png deleted file mode 100644 index 078faa47..00000000 --- a/examples/assets/shapes/texture_test.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b58c687c2687f5b3b576e4f5672981fde5657519f51dd331e6e671634c77640f -size 29920 diff --git a/examples/assets/solidcolor.filamat b/examples/assets/solidcolor.filamat deleted file mode 100644 index 4b3536e9..00000000 --- a/examples/assets/solidcolor.filamat +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c07d5f3b06fb763d74e4d6afa2ff933d8953e8f73828320d0c34c2105e346d97 -size 38119 diff --git a/examples/assets/solidcolor.mat b/examples/assets/solidcolor.mat deleted file mode 100644 index d416afd8..00000000 --- a/examples/assets/solidcolor.mat +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2033d3f7f8e0af983d8ab237737b45db2ed476b9283c6b0fda6a6954e1a72dea -size 294 diff --git a/examples/dart/cli_macos/.gitignore b/examples/dart/cli_macos/.gitignore deleted file mode 100644 index 3a857904..00000000 --- a/examples/dart/cli_macos/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# https://dart.dev/guides/libraries/private-files -# Created by `dart pub` -.dart_tool/ diff --git a/examples/dart/cli_macos/CHANGELOG.md b/examples/dart/cli_macos/CHANGELOG.md deleted file mode 100644 index effe43c8..00000000 --- a/examples/dart/cli_macos/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.0 - -- Initial version. diff --git a/examples/dart/cli_macos/README.md b/examples/dart/cli_macos/README.md deleted file mode 100644 index 3816eca3..00000000 --- a/examples/dart/cli_macos/README.md +++ /dev/null @@ -1,2 +0,0 @@ -A sample command-line application with an entrypoint in `bin/`, library code -in `lib/`, and example unit test in `test/`. diff --git a/examples/dart/cli_macos/analysis_options.yaml b/examples/dart/cli_macos/analysis_options.yaml deleted file mode 100644 index dee8927a..00000000 --- a/examples/dart/cli_macos/analysis_options.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/examples/dart/cli_macos/bin/assets b/examples/dart/cli_macos/bin/assets deleted file mode 120000 index 2978ef39..00000000 --- a/examples/dart/cli_macos/bin/assets +++ /dev/null @@ -1 +0,0 @@ -../../../assets \ No newline at end of file diff --git a/examples/dart/cli_macos/bin/example_cli.dart b/examples/dart/cli_macos/bin/example_cli.dart deleted file mode 100644 index e56c3400..00000000 --- a/examples/dart/cli_macos/bin/example_cli.dart +++ /dev/null @@ -1,46 +0,0 @@ -import 'dart:io'; -import 'package:thermion_dart/thermion_dart/compatibility/compatibility.dart'; -import 'package:thermion_dart/thermion_dart/swift/swift_bindings.g.dart'; -import 'package:thermion_dart/thermion_dart/compatibility/compatibility.dart'; -import 'package:thermion_dart/thermion_dart/utils/dart_resources.dart'; -import 'package:ffi/ffi.dart'; -import 'package:thermion_dart/thermion_dart.dart'; - -void main() async { - var scriptDir = File(Platform.script.toFilePath()).parent.path; - final lib = ThermionDartTexture1( - DynamicLibrary.open("$scriptDir/libthermion_swift.dylib")); - final object = ThermionDartTexture.new1(lib); - object.initWithWidth_height_(500, 500); - - final resourceLoader = calloc(1); - var loadToOut = NativeCallable< - Void Function(Pointer, - Pointer)>.listener(DartResourceLoader.loadResource); - - resourceLoader.ref.loadToOut = loadToOut.nativeFunction; - var freeResource = NativeCallable.listener( - DartResourceLoader.freeResource); - resourceLoader.ref.freeResource = freeResource.nativeFunction; - - var viewer = ThermionViewerFFI(resourceLoader: resourceLoader.cast()); - - await viewer.initialized; - await viewer.createSwapChain(500, 500); - await viewer.createRenderTarget(500, 500, object.metalTextureAddress); - await viewer.updateViewportAndCameraProjection(500, 500); - - var outDir = Directory("$scriptDir/output"); - if (outDir.existsSync()) { - outDir.deleteSync(recursive: true); - } - outDir.createSync(); - - await viewer.setRecordingOutputDirectory(outDir.path); - await viewer.setRecording(true); - await viewer.loadSkybox( - "file:///$scriptDir/assets/default_env/default_env_skybox.ktx"); - await Future.delayed(Duration(milliseconds: 16)); - await viewer.render(); - await viewer.dispose(); -} diff --git a/examples/dart/cli_macos/bin/libthermion_swift.dylib b/examples/dart/cli_macos/bin/libthermion_swift.dylib deleted file mode 120000 index c9146a01..00000000 --- a/examples/dart/cli_macos/bin/libthermion_swift.dylib +++ /dev/null @@ -1 +0,0 @@ -../../../../thermion_dart/native/lib/macos/swift/libthermion_swift.dylib \ No newline at end of file diff --git a/examples/dart/cli_macos/bin/output/output_000007.png b/examples/dart/cli_macos/bin/output/output_000007.png deleted file mode 100644 index 656ea930073f4538adb6cce27621e9111dc6c760..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47139 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

Wi`~7AB ztb$i5mW@*b>h$IzNoh-7@8WdzbH&E-QNFAMQRQ9ZC17pKFi5)D@3A9AH}`>7sQ7iB zy`>v}()j26$tSoY)qd%X1md%!U_HU}Spnp@4m@g=@q6`4crj)fzTspV$??3+9T@kV4m$X)hMaEX3*V$F}ygW96xK{u!C|*}yb9;^a3sT*vB^yA4p|P&m4r;iVWL zABFffS}#eX#vJ*2K#MYqa6fT_H^_s#Hg!%k4k<( zu#tgP`%7-zB8~u~)kV+AT37CEvgww{7;m!dH?*&@ungG2vD$Z!wMNKNZychCbo*_? zj;1!9&UPJR0OCmzv5xSGtxv!6Q98^QZHIN7JhHafKu4%DS@w0~ewSQ!P2&jZ!TkCg zY>FE}o(DQ=Gai3lH4bQJo1q_l(KS!u{PW^UdJp9GkLx*Klk1j7#=Jc^KmG-#906&B z90{B{AeLn~p4hE^N~FD-PI5?KTda|;M=u{GTlCo?ecT?+&#TG-78>|wW!&R*Kt9UN z0P{)+ppQ(Fj&6PQ=@$|DX za2H9rL`&QkRhv$?Y^?gZSSJs!x7OxU9e|wFyKUUAXxS%^2J>|wj@u*2$nhW<1Jbj; z@$;Bx1fCB+hxS@?mOH=cQee~G04&|hIR$uxRwpG%19P_CGPzUhTHWxtHuB`7OMb2O zV8*A(rIEB`_l`NlW+cjH9S|2(2S+O+Z_UPMZC-4&8TlFs2Sv7f$OdpGO)4GsC>kHD zpCk>aHX9|8tTfu@^h(!)PT||Zoad*XKj`zJ%e@~_fw^uhk_d9%9I;5X(>BSF)wA18 zuipS;Q~KDv^t}foFBTm_Hw*_bn=>G7rW@_U9x@BSdcahAPZ%kayeP7lJK{WxQzPxw zySsO3ufl@Tu!Q1nD?UR6}Mh`!hw>@S~y)MiSS^B*anR1tdDr5|urk6BF@e#c) zBK_rX)z~S!Al=e5yI*&&pO%T$v}rK3IX!au5x{=aDIlgP6(JIeJxZ@Olyc6RtR@@K z%9*l&T$e7_$dJj514&$$FM@?+VB;lebv`45>C)TkjqG7!YUu5TWCtq`D06!1LdsLY zb7VT(6>&g~Y@FVypw|u`TY2seX?rkPI$$5=>Ah`zmwGJ?NNGi?-L4}BF;+#8`f|)O zDZ_qQ^oS4A+BA>%It&oMJYtuDvqpC*-Wqp&jhwn}({+DNzP8p5j;(#q>Gi)WWJJ#c zkvDr#byi(;-$0c~+24+{*SSlX*G}imjP}5ei~OPD?W4xZi25S%O@V$LRgZ1Hi zfl)Q*z?=%?e!KL}YJ?6yi0gD_=%c||?hwo}rOpqwu3l$g`h*yx(FLyw(-c=hO`1BC zrP=jSARK8<+=vahE`J)C(>?3AMY=NGlV(NAJ+Fp++viK?Q~JGfGHuha=@$X=e895$fR`+@V$-KJ$^0|;!TUkmI~;xqYZyeaeP{s1FOnw z1NHevdm6x`x_I#C=SA!GkGsc?_LL$|xl4N%Br-8Qyu&8-mZf%JC7ApadOoQ8qM}`- zUH7NVizeN3EtYBmV4q$M$msR*&Vffi77a@QwwHl@|6 zj@iv~n2vcIG=Dwl^$}gWp>rFxBzp-+)eLs+b1BRxK%*}ofsVuzfXv+#4r!m&Y@3r>m2VvlEGntbxY*fqHS!wyv`jq_uj!Fy4>qP zC_>}Y^ko=F>yhcADW-IQ$)xp`BC8|Iz*??*9xDZo>Nu2QOCihb(>OvStx2itBQpB8 z>uFvkM*uiJ(J9c_p!-HUjxGO7 z0svTj6fzi&vVX*2L+PSlx2pUjuPpM%ZPTW;N3wMOYjyWyHK1O3N0K-_8vFFT^gXF# zbmUF9_xhvc=h2g+eU4TGd0aZ)B2Q2D6g(ZJ>-EF|s@_?N(d~0CB;%m{Sn3R1f4nMC zYJgThu5K!JT`~tk4m$Kk$2~M$+Ie(FVEu4ZPwS=}0qKL}&k)Rxoj09MQFKJEmp9%Y z-l;qdK+lO{pGmq@b%Z=Cuh$MazibY4x>zSmuX`SwmnopuGB&b@*R<(!mqowcG-|+n?vJ%(rO%@P)IaCL zJd1GBFZ3?w#;e!vROq7Ame1#SK+HBVtd64`pk%d!c2+dfl>vFmj*-p09+u*h?k8SPYH4h3whrkg&_8G)Sy=#UsK@L94GQkmA;JSG#mXBqZq zQ1$E&HSmGdK4muISPKh%mm&*~<+$WV2-2liD5A1qS zuYBB?7>ZeoPX_UE!J{M5O#T&Mj_cI$#@hD=|JLY`jn&Eag1IIOVgqxTF68Lf`Nn6Y zihE!hKc|Jnro>m(xl5tI%qF|Lf{ts+Qp3LGc{gYzpf zQrKano7;*My-kNL;!|lbgQqU@5DBF4SlpqLMz&HLDBZEn2)%Y3{|g#q>r&Tj{53Mh zqv9IPqf%I#Mwyg7(75P2w+_%`9sIf|zt!QbVZ-|P`*7cXuX6xuC(9X=By^mme33zx z4g3UWWHqe-XbEYf$MLg_d1zDeJ{#yJI%z%FVvE*pZoDLtj!o11z`T?x{mX~Jrz%?QBGg4k%UbI)UGd&au9UcQcCemR)RPwunWgxkTD z4se+=vdt%M5&CS1^nN^#V!$syB3>nb+~0T*$%-;LJ|4_t$^ka#KvG`g!Q)y~K|cc017%BAhGMEli=liGsWX94xmPKqoY z?4VZXTyx~d1Fv*r`gaLmm%Tvl1rm`3Y937*TMDM0XH>d|8O{n`-=06y@I(LC%=1NU z`ZLhBn@+z0c_ZxzT_Z1TQ@=`a4h3W*1nRTgR<~zz|%Sx!erK+a2p z-euptu?5!veaOTAP-D+y!@AuFPm@_g`~bH zJ=;M!m2w>?x$r1EqUVEw74%sqfaBvNnG((S7#ll(9+T~m>z2sm#!$Lm^@0@Cp-qS8 zpT|Pu`Ut$cLe|cE{d4EM{MWv;5wHGi`8qZRtg*Em39h?qoBKcu6iyh$56h62MJ(xl znOq@9r_%?h{@r|aX5e$lcS@RAi|Kju@cZ=ZQt$I;aVdVOv!d4@q1)z+fLFzKH8pfu zMAa+Ed7pf=Ne{G;t@Zj%kV9cfW5W&w%7y5G8RIexFsQfuoi)mOb;K!hvvVK^XYBc; z=%iHpzZO-WK%P2wyl$yJJuve6M?tX;gGCk{IqMA4kLRv=0U8@;bA;N@(JuE=WZ+bP zNo`gV2kKNLIM>;|y0M!kt+U&l4;;KS^C7Nw@}=o^NhZO@%j@Py>O4vH>`S%#*X&C= z%C5KP*SfRhuW%SNy!_|7u{LML9&NvozvY<@`FgyuE_W+1&IU_s%@El-=cBU(Hr=J@ zL0FnuXh{;~V>a5l_Br`8Z%aCRZ<)BGBezYUN#TtBa+KbojIqH>|C&>9Qi&lK$gu%9 zqs5-s6h0nx#@47c`lFl!n{G;`Y@T>22mBoX) zL^nScifnaJbgM(x`K`APk7nuhnzT<3ykx$zdlCU;pO7v;3E-Yi=hV<~FpmRZy~8le zU`IM?_Pl+ZY`bnuf1GaVJSjOum%9cSX;8O~gLKdOX;2y$i3X2xK{X(!=@_RShwA)T zQ2XlJ8 z_^cu>Pczo;3}|ecQtnh#ECC{zKeE;g>%GRw-rtt$pCi9{P zBQom3*KK-j?H<6Tx^G%h=k9gWASiVxH2UQZ1w3M1Go9rNB0t2Y6rYoT+q@>7-pWI+ zlD0r}8i0Bnxu;S#n4jP*%r?l4iUvx^4$m6J)Tp(4pBKz=dDz&DjK(-_cx|m8h^N_k zQ0^m2D6*C4!Ki`^rCaiDw6@MpI}|u?hJzEcapP|)v}0NuOYx`Fdl~%GtKTrJX>c8= zp9r9uQq5E8oZ9xpg?^S{b3`O^HhNRn0GF6ot{WSuTTf`*i`t;+G&=^$ zWf~h<=N|P_x}|kxJy_EY1*St9F7Tt&U$vy(dMkF{K1uHsNzA z-vP7B8!u*Lqa@_d5@giFTYg)epSLF?gTOl|abV78VJd&u6o&z0ED-ULHEt8FTjEgQ zGUu9ZOpSdW3*DSZdtjY1!1bh%rC*$wI=qjfYx7<^91_YG)c24Dv|{B+dHo(jE_mYd zv@*}INAEmgj)Ybh)8*cRNh_JFxsJSCO1~cuP3js)E7e4{nz}Y71J`}=YrrC-&Mwzs z{{rDo8SOO8yfWf>@#lz=rzO4ZnV|bGgSrQ-_D1#*a-|zS_F2@Ne88#8)J55W^XTo7 zMfSRV*5Wt-C&fuXL;CKm7SstzU1TfOeT}7b-z0x+OxkRv|M3$Vtne?P=9RF>x_c{6 z;wa#@=+o(vFK%Y^ZHpTG>n)Z4Z;%hn*Y+1^Ks3)0jhZ(PVD=!v2jaXv(N2PNEj0I? z*9i{*0lgJCcc{%Qms*r%o1W%e#bsN+b!rm^c30nn0hxskkuKMp*#B?H}jqEDyOJ7@NBy0s*` z+^dkf@q23Q{a9>s#sIj0<88Vz{WB2YktZH4O4IXmZ^4|h)}*I3C5M3%mBaJG_e92v zSVKIxoP#+?GU>o|>v^PQ2#&lC)2C8Q55j7l>*RWC>oI_=;T;9pB5PR+Tw{mb9?F*J z-h{shT^j9re_gE~tBwBK@pgw|Br4tBkC)ZOb!7y7gx^_|*i5JA#T^5RY$XG!yg0Hs zDs~X3?D&GZ6-3_1-&y*k@^n#rcDcZwBFEQvRfYi{YqKZA?u-(|`%RwZPBZrDT}Uw< z+x03Y4)@Py(TCdI}#6?RYzQdolFM*t?;L*{ps=FPt3CZEcr&{ENSbi z4o!h}2sJuo+Oh%t*o>$W=aa6nUQtA3hk<}bw z>cFwel|)VRIH<FYk&y<;_s-#$H?;oaWAW-A4dMW8Pl#Q>^QX> z!Ozc6dB5M~2bt`BZRE+Yd$f79W7JRC4e`--jAJ5@7MGEml9$^d;}=<=mZR6HcNjdS zmWZ0Q&Y9o=Un7sp0I*%|?Uxr%okL%GY%FT4a-0tIY;|pDNjnfZ-oX z=__J2gW`+6c`(K2l?Cisr0+MNy?^R6ygv8t{-wrX|1Slbi^XoqruGK^=1I1xYUqS= zh6l_uYQCe+=(N8-1s-P~{=Fi(O#1C$4$u8{zpmv;1M_uUXe?h>mey2p(6i~j$ByzM z8{#x$#~aB-Fj0ClcuS#x0*|CTUr>E-MWIQF_R{S8;q)U|C64n}x7 z8XT>xyUWJo53Je(uvrak9;BE!Yo41sj?zh>5N)K>^GALuNgtl8#wju$=Bi{-TU*#ys zKnLU$%GBuB>9z32g19fMATRq!=gg0bNYgWCxzj@Vh&%@bsX8|_S!om*UDuv%k*Dr^ z{-WlSzJZ|UrS)?1OOf|S%yO;rGE|^rS~2gwK^h@-Q)qd7oT?*=d(xzdwem=Xf0&x2qi}UptXs=V3F_cnknsDj?;iMV*r7PnTc}R+K8lOzNG+3GxuUq#J9W{r4&LZmv)H<4B^Jyx zbic0%-5zO=pY@xRlwV2`=Yx(K+ws?Crj5q&#;W?crY4Gy)n*-9zC!YjI=nSpjk84Y z%Jj<&gg3kODQ2Ex?txGLXOQl7H;1ldnYt*Ggft5`+G*-IT=na#ug%o%-&J8!V zeePc^lcdfKkENn-n7=ic2i6`e>E^lmx1`2z`-xL5x}8@Z->7G0+NjlETP}t2qP-pL zUgrQAQQ)-~Nq6Xt1X@0m<<@X^Mqfm6S&-Fwt-5j)Ya(nv2>a)taU}Ah>)1$N=XCJ8 zF?mFn`v`*l|1nU9NK#vdfqF&r8vbxd?9ry#ZOwFY9c>vy>#SgQNFB9tOmwY$(gZwj zEA;twNY>G*A$jeyX$P2R1GznQZPJzkjGz>hH_lmrWX6EGcMUXPj_cOwr^Yc|?hvSB zV+$}=x3SaXFx|FjC&nJy!C7k$$Wg{JfEC#FdMmGlEKP!-<}lF3DIP3$L}p*QX)ln2 z9KrHv9aedo8h(t!pc4Y?e1m_-^%PXu@iOs@&iy%amb+X5UeDEodX+~*hJ$wo1eCnOIYvA}s+T|@un za_i6Kv)kt%4+-ES_K{a&2c^5+o84XR{rGE>!s^Nzz=Hrp0@ge*>g}=j2T1LP^gz^K z^wz6K8G4)X5`@(*FTYj?pAm{R09)^9dUCq`CNBU5S%F^(R+ZrtXrkzu$77Hl*kt2- zUOOmbj2;I;8f3)XgHffT%e~$pPjgr0*KB5(Zd`xHyX>PqrDWOzUPW!JYaRncnrDKO zQ;NJl0_V>GKYyg{wjfGSFLgo0_({a4XIJYcIfCUuylcTcCOz$O4s7;h)aR{WUW)20 z_g;`B4UN^gvGi?Z9obSgkVmLeJyo8~9*9SiA;1X-Sewlpd28E!dBsQC=0Zs(!msa3 zndEnH@<3EaId({a$)f|38CPe{1<$kW!7~#t59r8&wbec{>Gk6d#r)t&Ys8~HSq@HT zjWD{WDEgiL->abhsM@nWLlaASN5yBW*O~c}kFrzuJF+3#`m#@sek{$e5hMZr=t$pd zk4*dZR6$e^UVT5 z{kr*gZOaDobpmMGRa#h6@190TB{_8X#`FA|41-R&#>ue(vTpsoB?pT$fOfg}Nk^>(o99T9yLDt+LjO@W*a8@TaIejRxvwQU?nJ>T~= zt?YY@$Om8QUsgP?wM#>Qcu zOe6r$W82Mnz8O&C9wZN4d67+N1dM} zRo>e}kCoa7%^4a8ku6o85A3uj%gfLkNJlHUywd>G>p=Z0va6J31{=%P(78IC6sRv*e58cyrT|V?*XC=w60pX>O7qUO&gnp}7Wv#@ zncDZn_2A6Q07i6n_`wZ-{-pKf)szJsC(QAzsG28D^kkD6xgc~TC(#*G3#WD1^v2jM z1#>;aO>6M6H_ z7pzyuCy@LnPx1wj_F0f4h#@gRxF1b-W&qX!c{GstC_8mM%32SMIvqGa#k1DtTn7Of z>(k9N#ZgglDV|!l20-X~{LJfV+>`KWbU^Z@>1r7`!%b*%J%iScR}bpd7Mx^u*^nk1 zsAA+tJ3V%KT9hoOCxQ7iI#8BgM_#QO&k)Ax@XF%>)#JeAIug^-uY4pasVnniB{Jcg zkJs*dK(j^Cux^Z3(nrAa@?%T!*R1U+b^4iD(_p6uz*WFbk+ih)rD(Ekj2R@;FE`RN zA3HD17?+Zlj+HW6??0c}&;zo5kv!`I9R2DAb!==*ox5(-ke%?2l)fT{kEd;sX9#Wv z-79>(uBdvoCaXbbPa` z+pM)$TAI*j6l8&+bnG||vS;dYub^HEp91Hj3=LSf2EX5Q4Os&Q^H^+tRX0SMW;)pb zoj_v09Jz6P1J^hg>pR-~ddgEtmXtbtkK$1$V!w<7!+nTpL133TyAOJ~3K~%Ae z?7)|yn;ab|3*(QBEH$!hPK0kf#cTz0>DXA%pSs+8kf9^9+;@_(8nUi=4jcO?O#xof zeFXeC4XEJ{o~MI-*E{RKe>I=#g~b5xd=I!U?FrHEmuA}K#7HARp){v13$F%rJfsJ6 z9GK^9vC0yIQ=_@hSq=jD+L}fHG->>mGEEd)1mn1y#&wFnyJ$QbfVH)JPG+0~)!Ior z4PM8MxLS1cvPTRy`+ceQFQ}hGHn73LAx8c>d3t?v1MJ{y*QwQQ8z;TzF{yIBJuvpY z-tYHR=bi=W0ELe7-^e&AsOX|rE_LsBGVuA`V@Hy{LqFP>mlfe3UQ1~}U{$&2RZ4yX zn_Yh1X4BHw39!+*k$1E_k3v15U^*@Hwt=}mVjtx_56pFQ9>)p0-1UH>2S+|q9PKG3 zBC5XSL1Xjm`O_fY#OsZ=g6oQCyA(?uf7W3KH|ae)4?w?l?ei(J)~%PP(5wI`y*zM) zgBRk7PIrS`YF;Ur>p@>;4`-{Q%N+w0KY;X;*K}UX?Xfu{x@>@4Pn(waW?Y0BQ{zkH90Z{9$Rb?s6^g$#mMIytK;>8IWA8ovkm~e+)H_vA7+QitLNIr;-Jng zPGstS)?+;o#(HQ?FVk0_*7NdTK3o?6yvd1nGEW3g&-dwHryXFPt1~yc-@_m475C*%e~exaKN*r$}4Z)0X02IqGhQ)+8Q>Ve%7SMJ@x6n(J|ssn#go~ zbLE!q)=}lfXACk)yRn^Se-xb+ZC8@nr87Rd){X1%$@Zq?^PPx!fL5ml%=N%8kK*Om z=Yh>x?$`z>0lZ##R$aTbrxd9@)>49XoD``0vHEqeNB=Ot938MZKorr0m(`uleR1Ld zGY5HN*60k%0rA`@%Sx~gzv39%ZRulBlEIO%MaX`e_0e@K=+k56^Lw>}uH#foiES*q z4f4xuxQZO8--sTcJ=DTVekPW;uQW1XdEO1Zk5n}_Pm)L-nkGTWj&;D>Q(PqPSzDoo zL!;V#7@JHYPJS`o{wzyG)yYiOlKf*H%caqxY%XjQTfpvvGja z>!8QVZkn{NUFQ?sOqa*|`&Y?|wk=J9aq@k1Dp)=}D#ysb-sjvfeVRT4^d!6)83MV? zH~@skt<8SWWfToS>oX6Elj3^eI&i!BBLU9qWavRe&#TEKR2?n#Sq>fVOwv+CUbni8 zKPFY0a~O`5;-mCzM`i~-1I+1+REoybC{)916*Ti%Y?9jI1#@4y0MpF_wEaF^nFPR+M`#s{uYt|ZD+gJa=xFbl8 zPMsA+9tb0oS;s-7Y38H(@Y-(l`}>f6qYd-AyoWKP4qH}(v~G&pb)Ypr#CoHAO>@!) z#wfjcpm1tw;AC30W}5V>LApaPAyp0L?fzm>91Z4pgshc&^T&d?Cwl<%zj%;&1DkeB z_By);;Gh&ppZ1RjFAZ3EosN-guk=A<{5DHS1I(W60Iyrygl8vD3F1q8DLb_v?I>6q z&EoZOI(4A8uFgI0n?9MNJZKY;&ne2D;VgGv*t!E@G`#mLb0SiEGaXlkpuv{rwT%92^N;~1&4+Nj zrLs9)n0$pusb-N(sp9I~_(=mqe87?s#d>sT*D607p|fXtZLN=Z{i#|#5Vj8tRlm1I z-+Z(!t!wLl&J?e?^WL-ctpZG+9Ee4di+t_nkwIp5z+3D8(w8psfMb4?Jj?S5wKv7# z4yz3Wb#x|}OPtTy9)a{fUhph;Y0bD-Dg|o|5WWQ&0UM}GD7v{1vccmRY4|JeC{H6N zw-(Q@i64aR83(|M$ivQ1j@Z?A%IV@|5KM@I2+4SBG98!t9a2mG?^M4mmE z!vemxX4~vBfGY*sSmNsOJ*Yzqp#v+ulR!H`Inj5^KT=EsAULXEwa&Z-JIV&0b~mi8 zZJaw9#4(CT-5o&g0iZQDtm5^|HQN!u#?cO@-X1TQ`Iyrd3_`s3F^F&k%E1x zZ&a!S%spvwSieT6Om{~5ebgUWg81!nfB$YYTz9Dz;3VUEFq2TfN%A0fleQaN>UhMY z@?m-Ot7$MVt%o-P)*l%KUb1XpXWcxkpc*r0%NO73jGj;Sd$>wxoL;S-9HrjczjrMx z{CePzu{Sq$ug^wE#&%uqrBKnj4dAq3+mfxm%%}V$p)wl;(DWr=yctTsp0qp1cv ztz9x5dC{y5-1QD;6xmXKr-S;AaC(OWu~xn|0u@L^(a>44S*wQ)9tOUsBZNYY3j(@|5@~JrQ3Ou zug8jrT&E)@Ev)DDFU0!#v&Uu~c*aE6{RQuO0Znl|pq7Gfc>1Wd@=2SoJe#^E?O*j) zk~a6jV`X}!@APAOD_QE%5=Tc*{F=0S`6oC#U9R6;*LVP*>1g=Lv+3ng7Ukr#N^YOMBEF$k&j7%ZdZ9$M7Ye4;!hQ3qCTmQ|`yDk&54v_LP0x`0@z^~MnmMVvI zXvWPH*d0c!)HdfP>y*n=d!5NEvGq}?LAgNDRSymg!(WD%2a~))p1QgGz zp-)mGOp$3)s(Ok8u&UY2LNePu%I~M1aIyo70ky{VX~? zvOg8beRlE8>*k#e<~p5Py)nQq(HmoPZk9m~=0gp=zHhFpJKtdJ2lYA*CmhhKd`;S4 zXCJ?+Qo!|OCcJfbx+#(7#r5L+(Fe|Cy~cGq5NhdE;5?18*C|?luD!kRh)hKeFk0+X zNDoPYdu^0~d3$}RpzEFq3bmUgOl@8MSat!iY{ME7nlUygl>EufxxSv^w<;f@Pn2`?}m` z1(E}5uIrvur!E5LQ~6YFcSRJ9uZ6$vKFgGot-+3$CzB~JCGax+j+#V&4(V-wN`@g4 zoKB#OroBB*frj5BOarQv4O$*4a~~iowW)dK^?Llevddk%$@0g^Lh>&i?G=Ar+grot zK`1_@-rM1;yUT2mr`y*>*}Nl$$@Iv33K&xK8L9TQlgI#L5C7gYeNH;t>j)jB?A z($X5f9Q5gdFAebMn&&DQX}hyMb#3VhY!<+UL5NN@WBmmRt;J(=Zws#j{(mp0lz3pb zP)5p~vu7RPe}HEZM*huphm+%J$Xa6q$l>6X>h*%Tgx?b(kuAp7JQ0{%v1H`DRF5UA6#c!HIkaQKat*6D2L{ShJe zHhMakuX7AmfH|(ys~3_P)7*xQ(~+<4&NIK?L&{wqfnVcfX;Xg_Sj%q%_0cA5thKq! zmW{yen64sv<&FTvi_6F*Jt*=SgHqPbL-NJ^gw*{Rv?4VdN6~!&JEDARqnMo6&ld^& zE1nk(I77{D((zzZoGb$GQ^ELnI$a^FnfD%-ghy9OX!Tf|%c_%;?XZkIH`POIO0m_R zXs6N+i?D6&tL~KM*^-vd(xES9F4f>H6HvmK&hXv)wznQkMnZD zF8Aw#JOUpT$WLKwjgp+G*78W|>~)-GWAuQ~TR5&bbP(FZB1hc&j_6L;$+M9@8+0mo ze$(yiNWRwlfqZ1hNL`PzVubEU$)617(z0wFkB>zFy;qQ3W50D|jK>~E%ZY1Ry*^;( zZ!q0;4+B(w*+U16*)?hX=HWBun`%FYJixJ%RyJ6vB^#q*n%71->3pxlUdgt5&DA7r{!s6Y10A-;K0i`mY0k)6OP0j%=x1jZAiQ$k>QAj;*2V z=jEA$4a_N~`I>KiWS~DC{i*?LTaBGd6~l(g8oug{)gMr!kIXz7f=0?<2Suyv?){qB zn%MBPzfG>ff)H?DL*K~0r&B>Z!!DalZRRUyL9Nb59Qb^iQXV^`G9ccjo6tIBwvTauMum=P{8(`6A(2h3A}>`U>HbLPFy z1@pJT_KfU>OlHJdSin4^Mo!CSy4+hv$t!8P<~c~V40xrdugy178b!m43WMg{gysPc zKdj0Rl!`}d=17i6mAd{(^dt_IA9@*`9O7>s}?TQ3_ zgxjzty>8Hu%C8ZQ2U9V&NO|=_Z10h4BXWAYs>{8oUP<#D5i5NqhXybv>w@d zcryXIa)q{BVCr(0)!4OT8?L_ye7qt}1M4ybRi`ffZ*8V)r2O&f!8I-$Fv^Hdp(9rd zWLH+Yo%<4H*6*|E$&vk0XLP02lZ+fP8NWTt;1U)V%xV(mvW!&@@5^ZWLxhu()~{Z_7lN; zM>FCxn(TIfc`W#Hq-}W9f_Y}`e~jQmy4+jAn$z2)UGCZ%`zX`0;q_qct6B4P_t^A) z1h19!I;Ho04f%9#K!sNOUiFWpbAeoLSl%4G>19A7DC3R%E#>FN`VH6B$ECn81%1dK zSXOA4dmS%ro*QM$B4XWdjKhnji<+xrkO%5k-csaQgf(?$8>rLrTGHF8pP0^T-xC@? zB_gM2byT@ae#SiW0M;!vRK7)q9L%Gg7HN%K6YV!#O!hRT%Uzr9)<)p9#%|xyW^m{9 z)*IjfSN|b4m~GNhiA;y)@E=UpiUVVW9EGyoZ|7~$T7=zIp77GDh|(;@kq*uwD?qME zU27Y+^fE;pN?t4&wUVaUP5&Oh)IoXaHX~h^yEfgejll6Vh`u3C1GL^0dL38LvAfgk z+OkNdEiuHW_FH;d$~^-lu{HRl)P8gwJBuP4*=+J+cyT!%p}vfO9$f9V`hFsn=WQZ% z>1M3~YH8|z;QEWe$18aaaTZXg^vmn+upk*2wgdXLKIO0%zGfz;m7VBMYc$KCaSi@m zAO|IE(CH_y4Z7?_OgcM0W0Dskw>n^ctv;FFd;H7RaHaujcw(|&cN=AEBE2~pzUFQ4z1n6gb$o&SGsr#{-y%e>VP07P=iL$2$FEy%gglPZG{(us z58Q)&ula&By6iVc?Z&73+16IJ9@Mq=VT}hDuV!ao0qQg_ZdWOGVCK`;D}ddm$F@WG z8}lsmuXz#ip2IF@BulRrAawE~jrOI%c|I;;jds9vV6Ls>M@8^tm%A)NgcMnieU*;Y zg1SVX)UnVu=fw$bXaW-E$i<*jfsV&|@}ara|aHpc0I|JGM| zDH3(LYa7O@;@ksjKxywwp3RYv&abYSzSO|U)j2|#d^tZo=ZprsoA!XEJteu;-tC^m zLK^SMj%e{5S`X%Og*)o#a+!KCkB*Re{@jv?xXZou5acQ6Dw75pEOkGQUy&iOrSq}- zw4?6c+9N$TfRkl?_nwnG+i`9Ly${?Uf<%YX4j_-Nbz5acl>oeJ=&99v>*0XJvWYpb_89=+9GJ*p*4PaP`LvmdH@VUdf=3179g^n8kbxC@DjBi z`_uIQ7M&7#Ya5|rjvh*Z0K7E0Ga+Mg*PT zv?Iz0w)cer)|ap6t=^$gefjmKu-C z0B9oezrVK{7ng2G6VRa?d#;7Qgwcy4+Z@^8|4k@rRC*wttKw0!7Q^ZX*y*k0g< zY{&&wXk2!e`%UUDcT4je%x|q(=XSYQ-d?|@p{>e*$`_VKww_`e>}(|m3jo^IQC6?d zuFXf$Q|#PH=Ky9;@~(5+1lG(u3(VtWcvIWe5%?)}&#n);@@bwZn|WS{hv;&Lgv=lMn#)$azJ_H8#&PR_ z*;{x2l|tCml2-nj=-1+m3=&j2Ao6Dla_MP+cNVQFokY<38oFL#{NXN;j#6y*&02Ek z^;!5mseFr0N0{6)a$>*ctw`s0YJYJjt=GkDI59WT* zf-{JbwC2<|h+oP(kJFfJso}q*X;fSDoCoAueSe>_dhc0F!{G=#oFt1 z#2aL5=E{=eiRv>Q0j(gLL*vbgyx;HpU>SWxiZ{%-^}kd@PFeP4P8t#qJb!8{(&BorOhdmG#AGFpBgsOowC{*rPa{C_ocXn+iC zzg_NnVD4|AKickPMs&I(8ck&o`2%hPSzo>W3+kUry60}CzBrw*?r0#-YK)7H>b>cG zTXP&PPsgtZbI4wzDNYBrr*yfmaYT9H0UbVBfB#zyg0u_`?GJVDEo@Y!@(}klx4S{r<1m9hgaSCu?n&wr*X%srD~HbaDe?1fbC}<0kKYue_J# zvt^dyaRgLcW`57T76AG!(6(8RH@EU=I>arG!8yQuPI@1dTFcQDan> zJH)##i-5^%{zp7h(G7QWw475G!0ad`1K8Ki;WO#!K)ybi`HN`P8_|K<3H9l?G->1>e|PJpCk#zfA&Orx}bdD`Z+rxYLr^jnDy=edv7!0IWW(1nSVwsPV|?&mz~oTx3)|$lV=n9(o<a>w-h=C!=b zeRXPl-*2Y({1BfGnB%huqYmp)y0c7AW`WgoOYQXL=qQ~I3&ovQ_oZ_Qe?U%kwDP;# zqbDv+85<-!Ga-920+AVjfG&4iY8>Jp$4P)M0cQrjbUM+y->#;(9nM33Ss(_;Gn|Zlj)1i^;(KO9UGBQnIL2=U3w@2g z<+XLmXQ%h8Z8oyb3zOCS@9)1EX>-B~b}q4H0?rO%gvyR@-P}*!4RH@eMrTF~kSt%U z+(>ybDfC{ZQJTvUusS%tIsA6H+f(D(W+*!Vc>rwolsxt6tcE)4n!q+ikTtsY89_Jp ztpRnOKar9FUo8^_pR&2>b9%X9v zjO!Q=Q22eK>*3iHvjd*mr1dXTR{C0|Cre)>psmSHL`U^2qiJ}&P5`G*(B&>xRrC>b zzo@$peA)Z@nn1eQ;kxZYWe`6dp2S$f_?@t>%00vDTGZe+2vm{?ZD2-&u_TnDZ5M{Az7ndDPLgUP4I)Y z7QoMSD00gL(V!K(NV^?@h<=cOF8Aovwl1>t)~CI|Og&gA2Z&d6xic1&xHXKV=uPiSt7&bM znodWClk^1V;PV^-{|~y{HZ<>{>o;OsYCCT8jo7^7Z195mEOVsDA3=#P0gT>hWVS%0 zz0>*0(e9V>X+@J7uQwZAJ%EPGijfCs_y|W}kYo@*WdUB}0L!aUcWT@BGpvzma6Reg z0P~L&|0650ziyUO0+?lu&uv~qA92<2<+IuO^&E03{yy)f+{QIXN2L5n$G`@1w7lsP zk2FN4jMpteU7Sh z;JT+i?PtL$>WHqi55KjYFO{=-@Jce&3g?Q>o&ThZw*(|1nY zd=0SYIeEOkV98m6)pSy0+^(qq30>~q4sp8-ir?c1h`Ij$QUUtSyz}+5m{+8(IqYnv zYi+Toxa|*PUYC0*>mz4e-&tMnrK|+1Q&PT9rTsu&^{jB5Ry{AfqhE-3ZrLoLcC((IiHK<4((8$oA06eN75zfI-qd)^oMs`fc~Ar}kK?3` zV-*0_Iv3;XRqx|c(tYDdBN|cjRz$ z%CoQG2)aL|?rT0UkF!b7E8%~Q3@wxOePx4;W{>NHv)duwh!fT9eGJ1V?{NdD|Id1# zdrUpU8$c$w;`TqU8SYu&_esR>=WFgwUOIcy)cw1{k%{OR$jK6D2?|H1mj(Bk0n+c#&)IND}G6xNzQN7hh&ph)T0mFOf z5x^e9-+WTMz#I`F%WKX1(*2|C;nPljW|wzs(L0t;htdbrvF>gLu&6<>?i~N8}OwZ_Rt?vW3<((#182^)hXs z4%sx4z1AFYh|TZ+N-XG3+WzFP=yGrMNa(aq_fn|ufl5j_VJ>;JBbv&j=m>xca+mA>eGeT=h1)vZwMVtaq+)L&Kb^eTEP{R0jj#!_V`rB;tanXAT;$sa z8DvlAoi&dbItcMXC}MNg>-+oPrsa%IdG|6svR0(~_d29f{os4(rTC&|3#k8c{_=Yw zQ26Gal=k*E8CE-5neeFfKcKP(l<3U`*8hygxK9K1XMy=Cjd75^93Wp2*#cU_qWrk^ z(Kp9QWUh4t&>A|_+@w9C)duRf&e4ui{GIkEb-CZ^6ECncT7okToF0k%d|-v6_S~kt zNO~3segerh&iMOsN@H9pJAiz)K`9N9sg!bHmcYuN+T}iaJeAM7llp%eH7-RRmG-9V zB2j0#uaBg0`8j0*%m(6W!UkrW)3KgK0>v!)Np))r?au^6NB-HFgjruKXzt1q#FlS_ zfZj(u)(yG!ggig0V(&^HZOQpjmAqqPBhvld|5$ku@7Qy;oEs_Y$@jLz2Q9=zk@eQ+ z(#lK#t}A*WBSC3JJ)G95-<;C z_=ncl;laQr9Cxg4P~eCS9H0b=p4kp?v_((cvV32)TiG@ zeowT$Iy$~}`s?oJr2AWW%m`%2{x0`vM7j+c^1kMB(p=Ti$uWpu z@5uB%WzVZ0xT8KD3r?BQanz5hWPtFlSIf@na__FPHasWI|0H047Lf0+V@oKzHoeDL zh>r5(?2cXU)#?2q3y2RHkGoG6NYEwZKa<~mdCPJR}UuXhe3DX)>O z%6m$bAKeRJcal6#5WG&#_t0&?>^+69xLh$dTvI_coc>NtwU@ zD;Ztxx1Q)Ocj<$+zsvnxP|u;$=6f)jg-~3UDawX#m%B(Zpu;aKN?w*DVEXygKhaKL z_D9?BL*_Y=j%x0T0^)C%dz@aa&eJjvHaZ2=pAF{UF85x3o(@23u%7s=LC(5opY8sN zsGoX)xt(OhQKzxdc5K}pdr+PZy19;!$bur7)B47|EII*fo=M*>_gVf^orR370W4Q7 zAyAgw5eR+{-Jb@JeBI1<8eJ!;vm-M-|2d!=?FdPADn=)4FyAismQLAR&!ZjLf!xNp zNgJX!NIEDpD*E*r98({+$N=6$r#9f{zHa6R6}--T^4aZ-wvr3Fu^#&BdcB2WyWG#4 zpPVA=t0xd`%vrYfloiDi8WFudd9gAZ=}wt(j*@4d7Xw*C_ij#c>CGN^B94e{$(!cS z?P^~aNw<1WOh?c6{#?+D>(V`QemEVBY-Yme^eiARCEwACUXTdqAkQI)%z8xFCTfa{ z*yP*vw@p@F?KvtcUeVRQB9d3OwPR!bw-a{|N3MjXLxWh~$qvP>LJ+-TS)|J^{SIREX!Lk?-otSZu)2X2T zY#@J9mwO(N=YW;kir}(9M!G*jZuUG4Kc8w%eUEZxqat2k`<~rib**c#qv?b$_mfKr zGCBcVK7&r_a^LSzWJmt%orPE({+hO(pOKD4_b>fs&rQwMSagJ`iR((JcrnTT2sM~2Hp7c$7dZw07=Q<0y z&OyfdMA)eX^HPA6dt8H<6-@iIeznC$**~BXlM%q=R+({tfj=O+x_l{_fGWH9=hT)@ z+r+<=MevQzzyD`C5&6zSWDh}p2_W_)IK3>ihF&AKU7+6Ea#P;f?LKgbdqr=O{3}26 z)it3d31tDPPGUr7!#7giMW5r*;LqHyIoh4@EL!tQT;${;)8N?|j#8}U0`@)h2v8r% z^XgOdyU6D@(@jz*`50wK(iv;!qu8v@8T2^-`4l=c%d$EnkRQc@T7x6~49CEd0v{wG zG93~Jezwa!Bc<%!bTgvixMsRpCPZt`ZqFg?wXr>5+S~9s!2YFdI=Ab6wTF>etBy>a zGn#_Id`;axg8walZ4L5HybWQI&2Le)X37i8JL2`$ne}SfB|8_~PKc7@Jz$LdbNkmk z4cm=4Gir{dtn{@`XO_M!AYV}rr*+22)bi5;OuvU-h5vFoqxYDI`?4XgmYoB_*sEn3 zN4$D}d`F_A`=9dR!1R2-?4}XU^wK9N{;79gy#-bxSDImPpwd z&27E>?tcL?czX3rF%hC2jA-vG?j*Sw%BvyoPhZ1&*8mXx5Ysk%Yv!lXK}aJc{`uQY z`BAEc@>A3?ll3>Z&HT~#!Mc_}4ZTK)9zed0x@1H()A?(`(auXFxx|7n|G=z>qIbNi z<{{g2yOR#uk^ga$y&}1rvTD-3{O*$t)6R7c;wI!@n^@-zX^QiJ`XK3j*Vs#m0fJf! zE+qmqBh%Y!QvS639KgkD{VlBnQu=wy?4$V7=g}!$?wz*aI<8Qwz=o6MBU*!_{J2#8 zJGg{EzP469!KmL0zk%Salr-)kJ*lgm0^C){$gT%c{@dXF!os7#{zd0wRn4@WR zsy`#0O=v^(`sKyRB(w#|kI53?YbpLc^o-8#i0C?2=Aa<~gs}%BqpLl?4v#;S+!x>} z9qk#<>X-C%9+1-poo8>QRj;gNq_{_U>)sLfDT;HR=#q=_J@lDub@uq^`tK94OyCFM z>?k)!hun)@-PQiIj`ou`=x5TC7u4>^=1?xcX(>1IkM1E@?Hu^PoU>8+d+1fL50q)3 ziAwQjceH0U)5XbFSOKnCWbXs5S4z*ViJ#@5?4<)xM@T0CBu&u(XQ!;l{~77@+!BDa zZvTpS#q3g8|Mt9IHp{YagnUihN|#M>01Rgu+_ z+HKmfoAT7$;wr>Vp{eK)@Hihga)dscN^r*O3im*-2*=hWTf zWdqtuZdbeg3xnHn78vHe4e%wHd>i7qKn@#ruD$sw?pa6PV(hA4>*dDFV*uTos_rA0 z=nXTY-kX=+jyw`wlJjsfAe}>WKg>$K>ur$g&UO}}WUjE& zt^+bp(Bw)45|!vUJ8Y9Om>Na9IxFYiqP|*4NCUfjFu=zLEGVHyYRlniH}Q zoGwoOsuSn_t~@FQzGg?WYz|VM^ML9s;@4;00>;!{&DsGw7HUsQ-JkewyVkjQz29&5 z52*Ahc|GXJ8`ZQnMFHRq?DLiE)b&ZAme&jyn=Z83c)$XGNl5x#@>86Z{qw;0LXSN3 z>Vo-3q`@;BEK8=K`T5j$$j_7B=JYgZL8`piuJaY0<-dQG*n@2*O~3!rQFESt zKS?$LxSn6i7uZiG`R2AC_+n{A9U9k_uTyS=N=kyvLBnBb|1RZzMe8vUtuIZDr!2e? zaRuPm4SYvOdoH;050g&+SwQ);M!he|=qw=LQQNlB>T*K<{3FW(Yx@N}HTjb;k*pQuNz+`8Y0$h?rvP?gp8rjhvdwN>`07Q1Q zkI`*pNdnea9h6md_)9N5Qf|Xq@RT`0-$u93Cf%;N7ZA@#Ra8;TCcN`aCi3AvL4CQlbv6iH>+0VGAARR0DwCpZVV{1Ay@a(_>XtCAvKpK3j$=vuSCwhTXLD}H^f z*O#A~t_KuEHXn+$m+|nMk@kRMwDmu1bk)^L@_&t;TOFq)?luvimcG{1#}4wTT7 z=J&6Weq%fo1%wS-Yn4WRi%Op8PzUG~L^J{Av?|8?hy8DK#==0f2+1*eVE?%X- z`Lvwb&0dPO2V(d7eyJzhrg#7n0dxXD!n8W&yr%w*YEO#xv*uzsT<6tK%>IsdR5yDp zs8^XIo%joIa(%S?^^I?59DW1S8I4hAt_@G;g3&XGf4y@JWjA>VEU15_sD5TWJX&tZ zNpYhQ`pruk{YJkpA13Zkri4DPqg|hBdfM-&d+BMVi+=~m&v5uMX&0EU>wL%bhDl76 z-DnBOAiR2D^F)@O#yLXjFv+a*+2h{}$K}Or?z-;S6=eYpog2~T($m1;OFiwmf4I^U zpQrUUWxV&EQx69<1vy;r_us)XqcCe-6l?)7{&r{=KJzCozVyKOrLZ*&Z*1O z^e;LAUy7jfczf=QKCq^x6(F*@4nOM1 zdqcoV@cf^ay8hB$IstgJbe7F~8`)ZV&S5W;oDZdZcsRxR=jhqqZMGj-(kqmyJEc{J))+#IFO01v-4?;=(PVTpo0#! z$vZ_37kmb=ucv>t#-B-FFo$Vp2m0Q7vI@-CIt|&588ru0m%HrsFIEaDFDvrRig-uB z&E5Pj9eLoYYp~;O_zWccSDl$i`aBSq_r;t{yq&odS+`DE&270gaacC5#Q56UEjaG| z;~CtmjtI)F5x@WH?%BVKUW#Qdxd+`$+7|qh+)8@NCjF&sf**u4o{x0^W2KcPg{PMY ztXUi9d+0IEbCc8#+;hMotL~nChz+Qjoy%H)z3icNexu$mok%AFAx}H%&}TXj*{SimRIo<2=*_(gm-Sl0+b0VD#hB)m6^Y}?H=!cF!ny1=YTnELyTeB1>jO* zPeG$SoF_NajXEG&-(ZJaRX5!o;{kl>5#--UPXHY&o%SkQbmumqY0$Zj@;l%CWIk9X zwkZw2NqJ|nKe?H1($?v1=>#y9IcqyI4PSaD`F6h(B3N?7gB*=BUMUNezEIbw!>`PB zQXFPTWaCy=dKo&+?A%g<&xTUY0MqO*$L_WM5>NhT;6Z3Nk*)#uWZKinmaQ~8`d{xH zyx#Bk??xE68%6_JZp}EdnQp#g{7qc*F8X=3ZHRpL_8D{hcj?~-bDYiq@^fn6rR1i! zW%^E*jXMgj`a!K{mlAnuT+9YLduowD*n4Ix>g>JlHO+LTP$~ISQr><$zQBGC#cgJX zAdP|6)t9XleMUL1hrGJACLXUm6UZ^yK*~KHU~*0+s~%-WoqffjHMrh&ggHv3>;%N< zPE;9vvIB5RytYcyK z0t@X0KK&#)ias&2-@lQcM4#1=CZ%0-%6_$r(GJ*=s4ZcxmJ9*{=#h2hQ7$IapJv?^ z-L5#qW^EY&Cw`qzN!{D&6F2oQ(e#{qz80t~wBN4iet?~kzK)0pJ-4o$5e-36b@YKX znBH~ooyYb%_-y&CX!c8=L;FD`gU)JP8);=D+h@Ek7w?>jUt7ac(5E%eHImDCmUnaq zdv|qtGaaONJ;Cey{3!iP&!f{0Td`8+31@mbr;$yjD=Xz4NqLT$@jdj6lzhw&wu~~n z|B>LHQ+Ln)rM6q|36U~g^P$dvZ?g_9AI2k>{Ur(YSs(aXX~s|v+q<;)@p?9~V}h&f zd(8D3?L59eH^TCaoKNRP-a9e^>(kql1%}$SUTzM#4wktox_J(pc=Ulaz091ba^>r2 zCxALm_|shP#W+U#4dBKdy)c{Ujr`4xr^fcLLA?b#Sv!UvZ+%A2rIUbsuPxdA0khDP z>*0DmZx5jNUh=9s@^emeTM14lRz@|;F-Jj*`$}3+{i|k(CRb%g|_7$8An)u;2W{Krrj?(eX>)|ML0G$Km zk}SvqGtBze7`O5Oo&0ywXSuI-K^e~qc(Ql0_8JvioV)X^CM>BIG{yJyfLJIt4kqf@{K zqw^h&?E1H!vYOjyJy|kkN?y?5OW03nsxu4JtDcKs9j6{zgF6T->+btY0blykP5#~S z6hMifXUt_xG3Ur9M{HQ9jJ^X&11Ux1!7}f66sZ6H^%39^oe|id3dRnt!RX(L>c6yx zPDvY|L95@n)>3wgSxT|b1}!Y}IUJkYti*J=M}c}H5dn|LAA-p`W4-xbi9d-B)|v6X zyqEsHRQ;E7X@35n590g4A&Ph#^Cz)xowBnGh}K|*g4fpGvbq-aoY{?}cLuCr&nN(bqH z=o=}2=_EP@5HjhRbKH?JIM;#L*D#l%s|J^3zk~TpH=U4%w$O=A$fq>2!FtwAZq%bbDXu@JGZNHq%0KudyUxA_(604g zS6+}Sd8$*knoc-ql1cMuVB4u&&u`MH5@b zFV%esqE7*XPo`Dr&K!Dvcl<@`fOX%ReY*Oo>D#B; zjZ>V%6G^u3+o8MEKT4;9#tJ%h?q}Gw&$);?>_x8Y?|)`FuZ-8x;$&7}e=0cUG!gPT zpSV^Q`hxii@~_t!;INML^F3pMcHgH}uanU>tZZy6C32p>zqWQVsJAj#HsQqr@VZ91 zR$scBFMT}uHk;i5VWUr}W6NkKi0*u4bM?GeI0}C$_p?ELZKGT%P))s*I3QjVt>?ap z@ToQRXVR{NK|YV30_L+J=h(*683)SzeY!y3iV45_8v0YB>TmQZr@VD~+6{QnZl|Ot zZRBUuj#r-i^dy^iy=u3z9$xij>YN+WO97kW;v=sZ0PY*IzMxLicWqiaeaF+=_oPjH z7k&B~ojX4mY?fQGG&*i|X6wTpPo&HJR8Y^C`3ZEwnw((6MaS-XMQhu+8~8c&=}nR+ zJ_9E-vi)ga2I6bG@1^sa0KJ0b$)LWbrv9awetyc|AvX8_zjTrAOMT$ZoKD|Ngq6+& z&Hc3MUG!exj?}$OFZ+Aw=Ysl5dXB*{YugJMWj^oz<-q0FC%pan_2R!z z7O&;%^u5)A3qM%q$ut919CBs+W_tWD-%&cg6h{x=*-dmtU3C|oJLl88`u9CIYqBD- z^8*3>DN%H!jX7W*f4+LA(*eu>5={RFK*h}MgBR$Rp7#t~2A^s7p0^D?;l1?7M(F1Q zPaK$EGIA%pBHGWOtERtN>r=p-H|}iv&!#7?-Rc@JM>{&vTYaCFx_=~~|0`e~1G02I z{1d31Q^ptcq=qCpot{cPi*~&qok6GH+trP1qmI3)`%-e|d&y(~{gczVd7avEKwe4| zm}jiLK68-&s>hy){W+Fdp$`B6AOJ~3K~(hIwfVl{C!u|fYrL*~_heTJf4!qZ0Q#9= z9+Q5K0J`|dH>y4!ecE4~Jbuk0qTx>j_3tZjGWxXpPTk9M=Xyqcer8P)MtSDzXMj$^a*RT^Vh~K zbdJMuN=^K%ZukMv+4B+Qi*6{Rt_UmmrI&0(9(o^lW(!Tel^XTL`?WxJ{?aGgs z^DAa^_eaG0B6@3dYJb<Znh~ z6{GD zz6QTFYoG>ndy3wgmbWs%Cmug9$5A=GiunD zwaSni6`5;F8(4JRi~yo@xTbCe_A3hK!CE>FqA!@+=$v<-^Xa4mTC}w1jCRO|eQUUS z4aVmM1@!Yfwrx?S-Z_c4Nw>B#{ql9UmJlkxo#5yKvVDxuYlMu|%d7lbCKkzKjX|>7 zd$kFYfl>ZG4J$YuAO7W<{<9pFb5s1g>*2Ev`Fb&Z6QJ9HT+h?$Er{1>dX#evI<&X4!m%mrY z#&I{Oa^OCKcnj=(?Ry-Dr_UonJ-VsxYa^-X5<VRus;3Fr4Fmbb2Z4KEQ?~%S ztxNt3>NkxO8^KL7@i+4KS#-kY9!00m2_M*c|Z_B_?(|R z-`xNyqdmV}-dV7rEE3hs*PZ45_m^_tjtBjHk-9vEJiI3Jd)97u& zYXSlJ{do`Mm&~za9gfC-hU*Zpk6?YBAeRm5buJRxo66n2xvnDFJWpN>+_qEi;Tai% zQ@&p@%3m6g{rgLmc9#$KgIILrF9l`ZCR|x^Xr@ueH#tPL7O1u3cdMGmL9x zw!nVdd0nT0zmLx6$o%IQp!+Wv4(dPUb`at=gjvv;V161>(Ds}PY(9Ec?f$H$z&m5O zL35Hb^P>0r=twy#ZLA&V1x6_-Q!=a(xx{vxPMwV2o=k$lynz27o9bHN=Og;cH-b3y z+8h2ZyA;&>H2;~jZp}{B-+FvItxP=54)v?2wgqmykbWmi96TQJqplc z9fQBWM4xl=hEc?|5s>lgBe2OMTdbxIUH|>$@9zriP=wA!=Wxm%nzskkyOAXl1oosy zPuh5M>Dk$Zv+vVs8G-#B@;$K;x;>)4uk+yGi#}u1(7uQ^2heE;Bo54JTf6^(WBTiO z>IrH-gKE)M>bv6cD1D5|;lD2#Jg8URaUL39 z95l?-Md;pB%B;XF;nz2d@iyB)UGKc;QtLhk0|Q?Ea|w`-|l^7oZ0+4#27F zP^3PC`2Beg=0Cr-;SqWZMG7o}V0?5UGSWf6Q?2W$*=FW%GNGqCrkvh|(jJ&1b0)OW<* zrrdA)TQKiy?xPJm9MFL~l&zMs_;-lzGr}PP9AHS&q~mhsU=D zFKSbly*d^JzWo?1>ZYP`8=(86bANN&JTHwMTAOY64c38=X+gc$-8YrVK|LzUt+Luz zaD&v@o%f28{6AnK^z14 z*14$Bx9kKuDX5nMog?3kayc~do6=K2W2D_1c04`Lu{tr`zxzO(2=!CS-45)LppFBy z9MDHF?wo@H=R`UQr#jbqw<1aas+ zbu1kZJ0Yc+s|D0=S<*;dLvb6`xq$J^2-Qj_Mz%A}ww-uiG&Slx{V_HWHS|&U;k03jy+#wKbL5l-E4&Z9tTt+b9 z_Ypb_>QtRQEB(HfPTY(ydR~NTr4u7tn9g^w*4vc7CffmB9y#J*?sEvJNE!NE1LTrO zU7B*|9RO-9JYEX=8Z_@~=kobx=k{attXU>Xk8 zOPSN`XM+0fC}X$1jsC62Ex*w08?)6}abjzuW7+DE_XWU(t9Ur9;lhScAW9sgXDw znZxg|LlOMHK+mYXM$(h#cdCPRid`$6iPyE+oB`ajs8t8%))YAo?wBn!DC3~XN8ht7 zZ0#VMIbg?hTcY!e#xGJ$MPL8F?V>@wtx3<|93P$bdayJ+*F@K65crfk=IFGvI=#M^ zo*$`7>EwvEr{|RbP5|>AS%KHjj}FjdK)w_XJfU$KFt;|X$$*!#d#*imz&_iBgK0ZX z-v5Bt!)YhQMtvH)0#^lg9jLbvG8LWEHFhjg@9X7I6CIRtpRbJ#b92-_f_m??w4ZgW z`L}lS=bskA{~KWbthqh!p6mhhGn}5+fB*eAeV7-SV<~7FWHDYjkn?)=>2}T`p>5O5 zu^&%4C7k`z2%Q6cn)+071ytzBR4!#bg8Bt+a|8@^$+sW~MY#~5j`Qf}4oB(m5wl~| zUVcBP8|iM)@7Iw6Z|oP}#xc(T{wLTdqwyX-o1QX{b0YIS1iXjt19M6GnUX05A*)^( z$ZcyNa{{2$J7+rvyjU8aa}-9~q4Ct`I+`Q&7RcfEx2cqM59+1RU_M6a_*guGhoby( zLFO@iHeq&H<_Mj#3j%N)n6Y%dg!c?O**2b@lRoF^d2`wAJe`xp=m32cm`m&DSk%aY z8pJ2d49xmrUTK7kudRd!vq6$wz(1EZ7(#Z+sE^QZ9c|kA9yk8N*$9jysNei=LE3(9 zp7YS0TCY0bf2kUKLGAB>4eo%)L7m%BP6YMco3WpsZ2L$%>b@2_(dpRz9K7ERpl5)& zw0oOR+0Wo514IlAbv!-q&-C{^2AA)xd-L<3Ki9~gW$0<-Z==)tSzU|k?|12=SP0aw zf7{RGzz#*h(BB&3Q}A=N-r9f3!0l@7E~T~iGeG?aBV2UGI$G(By04bbu=A|7yY;_* ze*P1KtQ3%;6f&1S#`W6L=1?SRiR}Bau#Gr~dLwi!LjYZq${)w(M(CG}3U0033bgHO zVeLESaK||Gx3tmjp0f|sZXl=DX9n}RVXlqz?f^Nxa@ zc5jAOn(cn*M9OpS!5Ma*1?DZi{`-%Ms!Op0xg`3Q%EzK@$_5M&{SF8nq2sb7b$G}b z>Bqu+Jh)5lH9lTSmA_4=wvAzRT%Sg7|DJ2-x6K}4hrmn=RuGWSQTi=+Y?zyC>vVRZ zf_Uoy)VaV7aqZehfqFEZv=M6Q#FVdj5YK=I=}y>Q{s~7y9M?UQE}`V8iC)IJ0G=x~gYIR@Sm zP?v3vKf{{*TN~ zY~<|fMj^UsTjg{CLI=duCzdA-iP$KHBc>4ca zdHQ+G_RtY^j{eaGcnl5LnBB8149wfl@m*ouG-i;xWI-u+PyKxSyUMs^zu*7&|LvXW za-=#8M%`2M{*Qcfe-PSQK5brrWLj0JCdP~G1|LZ_G}MXbMVt2`>Ghyc{2|D5=gSJ* zLzl;>uV)={!q&jF(q)}tPnSZyL47{5L%8wxv!VVm2oLGw@b~pPfF1!yL&^34HS~N? zjld1TDhJYf8Qi`H)z|xTB&v|zi-5CbpD&Nw!-5SwePf+{wReG^vMCv4I%sr-L4mhIyC~Q{wQ6KoiFR4e(3X=oUaspt$*Yv%kh1F|2PXt z7BGn6ngcrmO$4^FGPGS?#@1c;5tsE04=X+U<~m)UZ4g-PMs>vX*!AY}^9jOxTumO^ zA@}TKX>rKCx2g4%;Fo_Dh|K_s!W;qqsGE=5Q4V?F7Nos&TE8us_s9n|e1LMhe7=L< zBCm5(+=%Ch!6ftT*e#CA?TQ50Wk*rBXkMOymck;RYrE|ga^t@Up*F(<&CFj-KWqiN>7^`5_5*aO40WN*6V42smZfp*@e$@Pcs6q96R`HYk8n_kX0b$ zwKZR+mqP}D%#T4oZYX#<)s2cu-*7%$2TI3=fL9*tmHQPi+oR;?Pmiy<^S!b$E(*ER zKI$le^xiAdA>BjkP4v}zYaSg_>)C$24$eW30PaCkzF4L?dGYr;Dztx3n54Dfn*>kh zPt-q_XG6V~{cKbwO-buMV595)17 zJ7E1{$6ZgfWMD!6EDyAPHIm<-F!MX+W9jWa73x^{c(wLiqXdZtQ)|x$yPi{J1o09r z_^-2k|Pfvy}95z%!(O=T8953VC)k;#uRp zBZ>gu6er=M0TF{dQ|3(fJbhiJTEA=~20Kpo+Lrk(W5&;`rLsm}sdp#P*WJJs&-R3L z53AGTxK0b?9R3*A{n_?xeYrlhrq|5-x;ysL5zO^o1K&HhpIL9s19En`gx(XYA5o*% zHTw0r=Sl9qM)F*5*oIYWcN;Buyq__aea>oaY@A9jmaza6d*~Pzo`>GgTNk{g7e8+s z14suS*s)Ih+#Jl0^FI&hCvbKOpCCB2>=1B=DF=Utb^p`5;&nY}4OxS{pI_&#b3tA^ zdK3=Uix?N1n*c1 zHw0U|Z!8fX^Y;e)J#@Td-3REb7d=ux)-~G(trrbqoHr^n{&E+uyloKav2^<;K>rnlVB4GzK@@3y!i7MmAjTto@WTY#N7ElQaQ=* zp<^%CPxGGDKF-t67>Kye*z2eHB4fnP8-cdEL2VDvd%4(4&$N-tR}~rN7H22g(*Qd^ z?O#Yk;Ks0~?daFV{%PEUm*;`DFM0m;u4BL8uzYLOh(g}_IVMLMy+(9DJ;S8m%el}x zy{>n|owun{lN0E31%vY^^@Zz=jmnEO=|>M3OMX9c9ln2@WwjS=<+A{4=cRda_4v@Y z>hU4y0W=%#_uIGgT?O?uKu6xV$idpmc;~aiJ#_?g8`jtuu#5!?>;FI$;MIC`KpQ>C z7~zJA78!20-wEHn_Ctq^w|=D2usin3WAEBpm$&5(xEq=T_v>ArSufqno7WT82+H?!d4pvHv{rum`x$9#mH2I*9^)*; zu~$xY(4lsEEdS@_MndWu{C`x4ox*%ptZ+NZYM>6{*KuE!l?ZX12qUI*moQ%^=I0y%);pI%;)CfQ$`@YI`e1The@DreR;|30jX_Q7Fkbs8vCUykHG-zHttf zry+N`{%(iwkuLsQ^RgnnbdaN2Fvs3{BYL%W+1{ttI9T=fizoe&HFm3x-o~@w={qn~ zo&w59YzO1+@z2kLtDmZf<-88AF*=loel(6VkHH+(S%bOVmId_4bC-I}0o^{A@sjh9 zjUx$GJ^K6b^N$Jgl)ulAc4bJnuaEV&pJABmx_H~!erS)gH41Sa7U%gqFJ9N-yBSvAA9a}oU{R;J#@WEj{h&g&viuO%yJN2W@fl+C(YF&uiL&}%u+AWWlZcj z@M*>hpGUrrE>X!hI#w+s{OuhaUF(+lBA8p{D|xGR*pSNt-G@aM>M?P$UVR2$u`#h$ zY@O&jtlqInz4Rl^_tL*hHVUjb)N6Ui*bw2rxJJG3IOMLOuj}^SOveoaUwvU{_?%?`Wic|1+I*}NWH^X=uqorNmOKMVApcR$pl@p5Yp+M5%9!q%RmY&#Qjm&deh z*2s~eb`4|tzkJ+`1Dk>#hudX-bk6>n*HPi)fukBEHwnFW11saL^RT-2s@U9PX;u_! z^(2ctHM^asNqr7j{tcL+&;}o5mCT>mNZLg(Hu_R=ZP z>M*xAfz|pUy>)z^=JCVrzNaqRiGM&wwqf){>5rlp2;y?rJlg$kZIVMF_vkHf9qctQ z>l9Pgyy+7>V?~B zd1(+(FCA^1lb$h6&rA{+oiPZ;%jmxD zhI;q#TC)L1&qd$IRbD#Kv{^Sk51G@vI@~Tp?%sRi{kG+Ayyv}j3U|vp@9F(~Z&Uvi ztL>dzYw7XhYTffcQ^w$amc^mT=Sgl3IphgmvMu&}f2GHYBx8)UcFi^7%~dmN_2kvB zt&Mu+etvI~jp`i*de2`EkE8Z-ZPyHis6M-nIdA_8FTF!uM{K@x1fFsP=qlK=o_TAQ zcP`IU;PzwfjW?C0J-s=xbtqz9w@=c7FGK&a6e7)EYXkl%*KyC_e(V^(FdHx5M7r`qp`3Lj=|k zT5?{UwjmIgjb*Id6%d#0`Bz^ABMTfdTs-2jOHZ`YCrfV&RBaOr{R7Oolp>CP)Fc6 zCr*7G=ECx`*8mn9*gf=4L+%phLG8_c%bYfx@?JYNiq3MCUGR~&-pK!r&YSVT&UmH`A#Fo=gNK~>+XmH`tC|Vx5B4(xr(PAm9K)aK6B?T?kp5u z;NId+?Jv#k7y7jtPU)xL`mk3Dv|{{ElH<8PLuhCxo} z)@(05AAK}r z1bQ4+uRyuy&lm){yar<}Ou7z^vYwfcd#3*Na)p(U^N=zj_g+u;{^*3?kI{=}{Abk1 z!tPrCIK+OD&uI1l02gIRL_t)-_djxude-OhpQbm`p}OfCVcf-WmnAgn7m|pno$W z4IS%QbG;$1f3`N_tv7L=_7SJkF(Ci7ad@o+sFwUv#}28_bH2V;5Vq!|UA^9q7)B$9 zn_4y6Z>0VAf9m|-e&dO1%`nk_rr+8au}J`S*o*Ix1LF|awzy>c|aH*<*{$wgo%IYqfs z_j^549#t@NwQFD*i+}z4QH?vs+2X^MdlX`abnkU&artbI{CsLu0nX%m$24D!R8sL7 zsK@o!Be)%#n(K7V0%h;;Zi0t@K@>erQaFdgas%T=`gJIf z#30A**dmuGvM=fxSx@JXuYsNF7mGIFuUjhx+N5CFny1_SVe{6q^Zu1kl@d9htzCI7 z_>Lt0PUm$x+xvT399c;Dp?IDb)lmgi9c&Wjm7V#kC13e(gn4TmhBDosusDRjYk8+z zo;ruT+!-&uc5g@byq9jlJQHHqW8k;pjU`?mUjua+2|0AKf8QM&J-%no0iXAPD$&8X z&TB&D>`Zzd$m@2k=jbEkChyeQ6(}4TbuB@7!zGM$~!STJBfbyvN$W=ny0AN=RAJgnoQ2-0PFavw^B5 z9^0JJHPEuD2au-P;6~>N#nnkHwDb;e@&e ze%k<{q4Az(zo18sm+hf@Ȅ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 diff --git a/examples/dart/cli_macos/pubspec.yaml b/examples/dart/cli_macos/pubspec.yaml deleted file mode 100644 index e2672c8a..00000000 --- a/examples/dart/cli_macos/pubspec.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: example_cli -description: A sample command-line application. -version: 1.0.0 -# repository: https://github.com/my_org/my_repo - -environment: - sdk: ^3.3.0 - -# Add regular dependencies here. -dependencies: - thermion_dart: - path: ../../../thermion_dart - ffi: - -dev_dependencies: - ffigen: ^11.0.0 - lints: ^3.0.0 - test: ^1.24.0 diff --git a/examples/dart/cli_macos/test/example_cli_test.dart b/examples/dart/cli_macos/test/example_cli_test.dart deleted file mode 100644 index 900e362a..00000000 --- a/examples/dart/cli_macos/test/example_cli_test.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:example_cli/example_cli.dart'; -import 'package:test/test.dart'; - -void main() { - test('calculate', () { - expect(calculate(), 42); - }); -} diff --git a/examples/dart/cli_wasm/.gitignore b/examples/dart/cli_wasm/.gitignore deleted file mode 100644 index 3a857904..00000000 --- a/examples/dart/cli_wasm/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# https://dart.dev/guides/libraries/private-files -# Created by `dart pub` -.dart_tool/ diff --git a/examples/dart/cli_wasm/CHANGELOG.md b/examples/dart/cli_wasm/CHANGELOG.md deleted file mode 100644 index effe43c8..00000000 --- a/examples/dart/cli_wasm/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.0 - -- Initial version. diff --git a/examples/dart/cli_wasm/README.md b/examples/dart/cli_wasm/README.md deleted file mode 100644 index 3816eca3..00000000 --- a/examples/dart/cli_wasm/README.md +++ /dev/null @@ -1,2 +0,0 @@ -A sample command-line application with an entrypoint in `bin/`, library code -in `lib/`, and example unit test in `test/`. diff --git a/examples/dart/cli_wasm/analysis_options.yaml b/examples/dart/cli_wasm/analysis_options.yaml deleted file mode 100644 index dee8927a..00000000 --- a/examples/dart/cli_wasm/analysis_options.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/examples/dart/cli_wasm/bin/.gitignore b/examples/dart/cli_wasm/bin/.gitignore deleted file mode 100644 index 768bac72..00000000 --- a/examples/dart/cli_wasm/bin/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -example_cli.mjs -example_cli.wasm -example_cli.unopt.wasm -node_modules/**/* diff --git a/examples/dart/cli_wasm/bin/build.log b/examples/dart/cli_wasm/bin/build.log deleted file mode 100644 index 2f3f8079..00000000 --- a/examples/dart/cli_wasm/bin/build.log +++ /dev/null @@ -1,98 +0,0 @@ -MAIN -initializing -gto uberarchive ptr -create void ptr callback -resolve -try -done, returning -created -got promise [object Promise] -got fn ptr address 2720 -Calling create_filament_viewer_ffi -Call complete -Created viewer, waiting for initialization -Creating WebGL context. -Created WebGL context 2.0 -Made WebGL context current -FEngine (32 bits) created at 0x1937d0 (threading is disabled) - -[stack-gl], [ANGLE], [OpenGL ES 3.0 (WebGL 1.0 stack-gl 8.0.2)], [OpenGL ES GLSL ES 1.00 (WebGL GLSL ES 1.0 stack-gl)] - -Feature level: 1 -Active workarounds: - -Backend feature level: 1 - -FEngine feature level: 1 - -Set frame interval to 16.666666 -Setting tone mapping to ACES -Bloom is disabled on WebGL builds as it causes instability with certain drivers. setBloom will be ignored -View created -Camera aperture 16.000000 shutter 0.008000 sensitivity 100.000000 -Created ubershader provider. -Added imageEntity 6 -Got void ptr callback -Set viewer to true -Created viewer 1652064 -Initialied -Loading GLB from buffer of length 116948 -Loaded glb -Entities : [10, 11, 12] -entityName : Cone -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -morph targets : [Key 1, Key 2, Key 3, Key 4, Key 5, Key 6, Key 7, Key 8] -entityName : Cube -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -morph targets : [Key 1, Key 2] -entityName : Cylinder -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -Getting morpht arget names -No insdtance -Using asset instance -morph targets : [Key 1, Key 2, Key 3, Key 4] diff --git a/examples/dart/cli_wasm/bin/example_cli.dart b/examples/dart/cli_wasm/bin/example_cli.dart deleted file mode 100644 index 7e5f0a1f..00000000 --- a/examples/dart/cli_wasm/bin/example_cli.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:thermion_dart/thermion_dart/compatibility/compatibility.dart'; -import 'package:thermion_dart/thermion_dart.dart'; -import 'package:animation_tools_dart/animation_tools_dart.dart'; - -void main(List args) async { - final resourceLoader = thermion_dart_web_get_resource_loader_wrapper(); - var viewer = ThermionViewerFFI(resourceLoader: resourceLoader.cast()); - viewer.initialized.then((_) async { - var entity = await viewer.loadGlb( - "/Users/nickfisher/Documents/polyvox/apps/packages/thermion_flutter/thermion_flutter_federated/thermion_flutter/example/assets/shapes/shapes.glb"); - var entities = await viewer.getChildEntities(entity, true); - for (final childEntity in entities) { - final childName = await viewer.getNameForEntity(childEntity); - var morphTargetNames = - await viewer.getMorphTargetNames(entity, childEntity!); - if (morphTargetNames.isNotEmpty) { - await viewer.setMorphTargetWeights( - childEntity, List.filled(morphTargetNames.length, 1.0)); - } - var animationData = MorphAnimationData( - List.generate( - 10, (_) => List.filled(morphTargetNames.length, 1.0)), - morphTargetNames); - - await viewer.setMorphAnimationData(entity, animationData, - targetMeshNames: [childName!]); - } - }); - - while (true) { - await Future.delayed(Duration(seconds: 1)); - } -} diff --git a/examples/dart/cli_wasm/bin/main.js b/examples/dart/cli_wasm/bin/main.js deleted file mode 100644 index 9a2a5033..00000000 --- a/examples/dart/cli_wasm/bin/main.js +++ /dev/null @@ -1,123 +0,0 @@ -const fs = require('node:fs'); -const thermion_dart = require("./thermion_dart.js") -const GLctx = require('gl')(100, 100, { preserveDrawingBuffer: true }) - -// queueMicrotask = (func) => { -// func(); -// } -// read('thermion_dart.wasm', 'binary') -// const exports = {}; -// const module = {}; - -const wasmBuffer = fs.readFileSync('thermion_dart.wasm'); - -var dartFilamentModulePromise = WebAssembly.compile(wasmBuffer); -let globalDf; -thermion_dart({ - dartFilamentResolveCallback: (cb, data) => { - const fn = globalDf.wasmTable.get(cb); - if(data) { - fn(data); - } else { - fn(); - } - }, - ctx:GLctx}).then((df) => { - globalDf = df; - createVoidCallback = () => { - let res; //placeholder for resolver callback, outside of promise - const promise = new Promise((resolve, reject) => { - res = resolve; - }); - try { - const callback = () => { - try { - res({}); - } catch(err) { - console.log(err); - } - } - const fnPtr = df.addFunction(callback, 'v'); - return [promise, fnPtr]; - } catch(err) { - console.log(err); - return null; - } - } - createIntCallback = () => { - let res; - const promise = new Promise((resolve, reject) => { - res = resolve; - }); - try { - const callback = (val) => { - try { - res(val); - } catch(err) { - console.log(err); - } - } - const fnPtr = df.addFunction(callback, 'vi'); - return [promise, fnPtr]; - } catch(err) { - console.log(err); - return null; - } - } - createVoidPointerCallback = () => { - console.log("create void ptr callback"); - let res; //placeholder for resolver callback, outside of promise - const promise = new Promise((resolve, reject) => { - console.log("resolve"); - res = resolve; - }); - try { - console.log("try"); - const callback = (voidPtr) => { - try { - res(voidPtr); - } catch(err) { - console.log(err); - } - } - const fnPtr = df.addFunction(callback, 'vi'); - console.log("done, returning"); - return [promise, fnPtr]; - } catch(err) { - console.log(err); - return null; - } - } - - createBoolCallback = () => { - let res; //placeholder for resolver callback, outside of promise - - const promise = new Promise((resolve, reject) => { - res = resolve; - }); - try { - const callback = (val) => { - try { - res(val); - } catch(err) { - console.log(err); - } - } - const fnPtr = df.addFunction(callback, 'vi'); - return [promise, fnPtr]; - } catch(err) { - console.log(err); - return null; - } - } - - import('./example_cli.mjs').then((dart2wasm_runtime) => { - var dartModulePromise = WebAssembly.compile(fs.readFileSync('./example_cli.wasm')); - const imports = {"thermion_dart": df, "ctx": GLctx}; - dart2wasm_runtime.instantiate(dartModulePromise, imports).then((moduleInstance) => { - dart2wasm_runtime.invoke(moduleInstance); - }); - }); -}); - -// // dartModulePromise.then((dartModule) => { console.log(dartModule.exports); dart2wasm_runtime.invoke(dartModule, imports);}); }); \ No newline at end of file diff --git a/examples/dart/cli_wasm/bin/package-lock.json b/examples/dart/cli_wasm/bin/package-lock.json deleted file mode 100644 index 69892e83..00000000 --- a/examples/dart/cli_wasm/bin/package-lock.json +++ /dev/null @@ -1,1559 +0,0 @@ -{ - "name": "bin", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "dependencies": { - "gl": "^8.0.2" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@npmcli/agent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", - "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/fs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/abbrev": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", - "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bit-twiddle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", - "integrity": "sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==" - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/cacache": { - "version": "18.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz", - "integrity": "sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==", - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/exponential-backoff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==" - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, - "node_modules/gl": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/gl/-/gl-8.0.2.tgz", - "integrity": "sha512-bAQg+aXnz/uBDwWEld/6Fifj0KBN3H3XElQgoz/F9hmBhIYKRohZP/41y43tHBQ6+LqVt1JKM1vts7t+Nzc6oA==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "bit-twiddle": "^1.0.2", - "glsl-tokenizer": "^2.1.5", - "nan": "^2.18.0", - "node-abi": "^3.56.0", - "node-gyp": "^10.0.1", - "prebuild-install": "^7.1.1" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.11.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glsl-tokenizer": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", - "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", - "dependencies": { - "through2": "^0.6.3" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "engines": { - "node": ">=16" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" - }, - "node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/make-fetch-happen": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", - "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", - "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/proc-log": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", - "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-fetch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", - "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/nan": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", - "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==" - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-abi": { - "version": "3.62.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.62.0.tgz", - "integrity": "sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-gyp": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", - "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^4.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/nopt": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", - "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", - "dependencies": { - "abbrev": "^2.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/prebuild-install": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", - "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "optional": true - }, - "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", - "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", - "dependencies": { - "agent-base": "^7.1.1", - "debug": "^4.3.4", - "socks": "^2.7.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" - }, - "node_modules/ssri": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", - "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==", - "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } -} diff --git a/examples/dart/cli_wasm/bin/package.json b/examples/dart/cli_wasm/bin/package.json deleted file mode 100644 index c6382089..00000000 --- a/examples/dart/cli_wasm/bin/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "gl": "^8.0.2" - } -} diff --git a/examples/dart/cli_wasm/bin/thermion_dart.js b/examples/dart/cli_wasm/bin/thermion_dart.js deleted file mode 120000 index 6710a76f..00000000 --- a/examples/dart/cli_wasm/bin/thermion_dart.js +++ /dev/null @@ -1 +0,0 @@ -../../../native/web/build/build/out/dart_filament.js \ No newline at end of file diff --git a/examples/dart/cli_wasm/bin/thermion_dart.wasm b/examples/dart/cli_wasm/bin/thermion_dart.wasm deleted file mode 120000 index a1439c39..00000000 --- a/examples/dart/cli_wasm/bin/thermion_dart.wasm +++ /dev/null @@ -1 +0,0 @@ -../../../native/web/build/build/out/dart_filament.wasm \ No newline at end of file diff --git a/examples/dart/cli_wasm/bin/thermion_dart.worker.js b/examples/dart/cli_wasm/bin/thermion_dart.worker.js deleted file mode 120000 index 54392ba9..00000000 --- a/examples/dart/cli_wasm/bin/thermion_dart.worker.js +++ /dev/null @@ -1 +0,0 @@ -../../../native/web/build/build/out/dart_filament.worker.js \ No newline at end of file diff --git a/examples/dart/cli_wasm/pubspec.yaml b/examples/dart/cli_wasm/pubspec.yaml deleted file mode 100644 index e02af0c1..00000000 --- a/examples/dart/cli_wasm/pubspec.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: example_cli -description: A sample command-line application. -version: 1.0.0 -# repository: https://github.com/my_org/my_repo - -environment: - sdk: ^3.3.0 - -# Add regular dependencies here. -dependencies: - thermion_dart: - path: ../../ - ffi: - -dev_dependencies: - ffigen: ^11.0.0 - lints: ^3.0.0 - test: ^1.24.0 diff --git a/examples/dart/cli_wasm/test/example_cli_test.dart b/examples/dart/cli_wasm/test/example_cli_test.dart deleted file mode 100644 index 900e362a..00000000 --- a/examples/dart/cli_wasm/test/example_cli_test.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:example_cli/example_cli.dart'; -import 'package:test/test.dart'; - -void main() { - test('calculate', () { - expect(calculate(), 42); - }); -} diff --git a/examples/dart/web_wasm/.gitignore b/examples/dart/web_wasm/.gitignore deleted file mode 100644 index 3a857904..00000000 --- a/examples/dart/web_wasm/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# https://dart.dev/guides/libraries/private-files -# Created by `dart pub` -.dart_tool/ diff --git a/examples/dart/web_wasm/CHANGELOG.md b/examples/dart/web_wasm/CHANGELOG.md deleted file mode 100644 index effe43c8..00000000 --- a/examples/dart/web_wasm/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.0 - -- Initial version. diff --git a/examples/dart/web_wasm/README.md b/examples/dart/web_wasm/README.md deleted file mode 100644 index 3816eca3..00000000 --- a/examples/dart/web_wasm/README.md +++ /dev/null @@ -1,2 +0,0 @@ -A sample command-line application with an entrypoint in `bin/`, library code -in `lib/`, and example unit test in `test/`. diff --git a/examples/dart/web_wasm/analysis_options.yaml b/examples/dart/web_wasm/analysis_options.yaml deleted file mode 100644 index dee8927a..00000000 --- a/examples/dart/web_wasm/analysis_options.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/examples/dart/web_wasm/bin/README.md b/examples/dart/web_wasm/bin/README.md deleted file mode 100644 index 75aba073..00000000 --- a/examples/dart/web_wasm/bin/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Flight Helmet - -## Screenshot - -![screenshot](screenshot/screenshot.jpg) - -## License Information - -Donated by Microsoft for glTF testing - -[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/) -To the extent possible under law, Microsoft has waived all copyright and related or neighboring rights to this asset. - -Draco compression was done via Cesium tools on 27-03-2020 as follows. - - gltf-pipeline -i FlightHelmet.gltf -o FlightHelmet.gltf -d -s --keep-unused-elements diff --git a/examples/dart/web_wasm/bin/assets b/examples/dart/web_wasm/bin/assets deleted file mode 120000 index 0500631d..00000000 --- a/examples/dart/web_wasm/bin/assets +++ /dev/null @@ -1 +0,0 @@ -../../../../flutter_filament_federated/flutter_filament/example/assets \ No newline at end of file diff --git a/examples/dart/web_wasm/bin/example_web.dart b/examples/dart/web_wasm/bin/example_web.dart deleted file mode 100644 index 37e35c1a..00000000 --- a/examples/dart/web_wasm/bin/example_web.dart +++ /dev/null @@ -1,57 +0,0 @@ -import 'dart:js_interop'; -import 'dart:js_interop_unsafe'; -import 'package:thermion_dart/thermion_dart/compatibility/compatibility.dart'; -import 'package:thermion_dart/thermion_dart/thermion_viewer_ffi.dart'; -import 'package:web/web.dart'; - -void main(List arguments) async { - var fc = FooChar(); - - final canvas = document.getElementById("canvas") as HTMLCanvasElement; - canvas.width = window.innerWidth; - canvas.height = window.innerHeight; - - var resourceLoader = thermion_dart_web_get_resource_loader_wrapper(); - - var viewer = ThermionViewerFFI(resourceLoader: resourceLoader); - - var mousedown = (JSObject event) { - var x = event.getProperty("clientX".toJS) as JSNumber; - var y = event.getProperty("clientY".toJS) as JSNumber; - viewer.rotateStart(x.toDartDouble, y.toDartDouble); - }; - - canvas.addEventListener("mousedown", mousedown.toJS); - - var mousemove = (JSObject event) { - var x = event.getProperty("clientX".toJS) as JSNumber; - var y = event.getProperty("clientY".toJS) as JSNumber; - viewer.rotateUpdate(x.toDartDouble, y.toDartDouble); - }; - - canvas.addEventListener("mousemove", mousemove.toJS); - - var mouseup = (JSObject event) { - viewer.rotateEnd(); - }; - - canvas.addEventListener("mouseup", mousedown.toJS); - - await viewer.initialized; - var width = window.innerWidth; - var height = window.innerHeight; - await viewer.createSwapChain(width.toDouble(), height.toDouble()); - await viewer.setBackgroundColor(0.0, 1.0, 1.0, 1.0); - await viewer.loadSkybox("assets/default_env_skybox.ktx"); - await viewer.loadIbl("assets/default_env_ibl.ktx"); - await viewer.loadGltf("assets/FlightHelmet.gltf", "assets"); - await viewer.updateViewportAndCameraProjection( - width.toDouble(), height.toDouble()); - await viewer.setPostProcessing(true); - await viewer.setRendering(true); - - while (true) { - await Future.delayed(Duration(milliseconds: 16)); - } - print("Finisehd!"); -} diff --git a/examples/dart/web_wasm/bin/example_web.mjs b/examples/dart/web_wasm/bin/example_web.mjs deleted file mode 100644 index 836f37a3..00000000 --- a/examples/dart/web_wasm/bin/example_web.mjs +++ /dev/null @@ -1,249 +0,0 @@ -let buildArgsList; - -// `modulePromise` is a promise to the `WebAssembly.module` object to be -// instantiated. -// `importObjectPromise` is a promise to an object that contains any additional -// imports needed by the module that aren't provided by the standard runtime. -// The fields on this object will be merged into the importObject with which -// the module will be instantiated. -// This function returns a promise to the instantiated module. -export const instantiate = async (modulePromise, importObjectPromise) => { - let dartInstance; - - function stringFromDartString(string) { - const totalLength = dartInstance.exports.$stringLength(string); - let result = ''; - let index = 0; - while (index < totalLength) { - let chunkLength = Math.min(totalLength - index, 0xFFFF); - const array = new Array(chunkLength); - for (let i = 0; i < chunkLength; i++) { - array[i] = dartInstance.exports.$stringRead(string, index++); - } - result += String.fromCharCode(...array); - } - return result; - } - - function stringToDartString(string) { - const length = string.length; - let range = 0; - for (let i = 0; i < length; i++) { - range |= string.codePointAt(i); - } - if (range < 256) { - const dartString = dartInstance.exports.$stringAllocate1(length); - for (let i = 0; i < length; i++) { - dartInstance.exports.$stringWrite1(dartString, i, string.codePointAt(i)); - } - return dartString; - } else { - const dartString = dartInstance.exports.$stringAllocate2(length); - for (let i = 0; i < length; i++) { - dartInstance.exports.$stringWrite2(dartString, i, string.charCodeAt(i)); - } - return dartString; - } - } - - // Prints to the console - function printToConsole(value) { - if (typeof dartPrint == "function") { - dartPrint(value); - return; - } - if (typeof console == "object" && typeof console.log != "undefined") { - console.log(value); - return; - } - if (typeof print == "function") { - print(value); - return; - } - - throw "Unable to print message: " + js; - } - - // Converts a Dart List to a JS array. Any Dart objects will be converted, but - // this will be cheap for JSValues. - function arrayFromDartList(constructor, list) { - const length = dartInstance.exports.$listLength(list); - const array = new constructor(length); - for (let i = 0; i < length; i++) { - array[i] = dartInstance.exports.$listRead(list, i); - } - return array; - } - - buildArgsList = function(list) { - const dartList = dartInstance.exports.$makeStringList(); - for (let i = 0; i < list.length; i++) { - dartInstance.exports.$listAdd(dartList, stringToDartString(list[i])); - } - return dartList; - } - - // A special symbol attached to functions that wrap Dart functions. - const jsWrappedDartFunctionSymbol = Symbol("JSWrappedDartFunction"); - - function finalizeWrapper(dartFunction, wrapped) { - wrapped.dartFunction = dartFunction; - wrapped[jsWrappedDartFunctionSymbol] = true; - return wrapped; - } - - // Imports - const dart2wasm = { - -_18: f => finalizeWrapper(f,x0 => dartInstance.exports._18(f,x0)), -_19: f => finalizeWrapper(f,x0 => dartInstance.exports._19(f,x0)), -_75: (x0,x1) => x0.getElementById(x1), -_76: f => finalizeWrapper(f,x0 => dartInstance.exports._76(f,x0)), -_77: (x0,x1,x2) => x0.addEventListener(x1,x2), -_78: f => finalizeWrapper(f,x0 => dartInstance.exports._78(f,x0)), -_79: f => finalizeWrapper(f,x0 => dartInstance.exports._79(f,x0)), -_1499: (x0,x1) => x0.width = x1, -_1501: (x0,x1) => x0.height = x1, -_1878: () => globalThis.window, -_1920: x0 => x0.innerWidth, -_1921: x0 => x0.innerHeight, -_6854: () => globalThis.document, -_12721: () => globalThis.createBoolCallback(), -_12722: () => globalThis.createVoidPointerCallback(), -_12723: () => globalThis.createVoidCallback(), -_12727: v => stringToDartString(v.toString()), -_12743: () => { - let stackString = new Error().stack.toString(); - let frames = stackString.split('\n'); - let drop = 2; - if (frames[0] === 'Error') { - drop += 1; - } - return frames.slice(drop).join('\n'); - }, -_12762: s => stringToDartString(JSON.stringify(stringFromDartString(s))), -_12763: s => printToConsole(stringFromDartString(s)), -_12777: (ms, c) => - setTimeout(() => dartInstance.exports.$invokeCallback(c),ms), -_12781: (c) => - queueMicrotask(() => dartInstance.exports.$invokeCallback(c)), -_12783: (a, i) => a.push(i), -_12794: a => a.length, -_12796: (a, i) => a[i], -_12797: (a, i, v) => a[i] = v, -_12799: a => a.join(''), -_12809: (s, p, i) => s.indexOf(p, i), -_12812: (o, start, length) => new Uint8Array(o.buffer, o.byteOffset + start, length), -_12813: (o, start, length) => new Int8Array(o.buffer, o.byteOffset + start, length), -_12814: (o, start, length) => new Uint8ClampedArray(o.buffer, o.byteOffset + start, length), -_12815: (o, start, length) => new Uint16Array(o.buffer, o.byteOffset + start, length), -_12816: (o, start, length) => new Int16Array(o.buffer, o.byteOffset + start, length), -_12817: (o, start, length) => new Uint32Array(o.buffer, o.byteOffset + start, length), -_12818: (o, start, length) => new Int32Array(o.buffer, o.byteOffset + start, length), -_12821: (o, start, length) => new Float32Array(o.buffer, o.byteOffset + start, length), -_12822: (o, start, length) => new Float64Array(o.buffer, o.byteOffset + start, length), -_12827: (o) => new DataView(o.buffer, o.byteOffset, o.byteLength), -_12831: Function.prototype.call.bind(Object.getOwnPropertyDescriptor(DataView.prototype, 'byteLength').get), -_12832: (b, o) => new DataView(b, o), -_12834: Function.prototype.call.bind(DataView.prototype.getUint8), -_12836: Function.prototype.call.bind(DataView.prototype.getInt8), -_12838: Function.prototype.call.bind(DataView.prototype.getUint16), -_12840: Function.prototype.call.bind(DataView.prototype.getInt16), -_12842: Function.prototype.call.bind(DataView.prototype.getUint32), -_12844: Function.prototype.call.bind(DataView.prototype.getInt32), -_12850: Function.prototype.call.bind(DataView.prototype.getFloat32), -_12852: Function.prototype.call.bind(DataView.prototype.getFloat64), -_12873: o => o === undefined, -_12874: o => typeof o === 'boolean', -_12875: o => typeof o === 'number', -_12877: o => typeof o === 'string', -_12880: o => o instanceof Int8Array, -_12881: o => o instanceof Uint8Array, -_12882: o => o instanceof Uint8ClampedArray, -_12883: o => o instanceof Int16Array, -_12884: o => o instanceof Uint16Array, -_12885: o => o instanceof Int32Array, -_12886: o => o instanceof Uint32Array, -_12887: o => o instanceof Float32Array, -_12888: o => o instanceof Float64Array, -_12889: o => o instanceof ArrayBuffer, -_12890: o => o instanceof DataView, -_12891: o => o instanceof Array, -_12892: o => typeof o === 'function' && o[jsWrappedDartFunctionSymbol] === true, -_12896: (l, r) => l === r, -_12897: o => o, -_12898: o => o, -_12899: o => o, -_12900: b => !!b, -_12901: o => o.length, -_12904: (o, i) => o[i], -_12905: f => f.dartFunction, -_12906: l => arrayFromDartList(Int8Array, l), -_12907: l => arrayFromDartList(Uint8Array, l), -_12908: l => arrayFromDartList(Uint8ClampedArray, l), -_12909: l => arrayFromDartList(Int16Array, l), -_12910: l => arrayFromDartList(Uint16Array, l), -_12911: l => arrayFromDartList(Int32Array, l), -_12912: l => arrayFromDartList(Uint32Array, l), -_12913: l => arrayFromDartList(Float32Array, l), -_12914: l => arrayFromDartList(Float64Array, l), -_12915: (data, length) => { - const view = new DataView(new ArrayBuffer(length)); - for (let i = 0; i < length; i++) { - view.setUint8(i, dartInstance.exports.$byteDataGetUint8(data, i)); - } - return view; - }, -_12916: l => arrayFromDartList(Array, l), -_12917: stringFromDartString, -_12918: stringToDartString, -_12921: l => new Array(l), -_12925: (o, p) => o[p], -_12929: o => String(o), -_12930: (p, s, f) => p.then(s, f), -_12949: (o, p) => o[p] - }; - - const baseImports = { - dart2wasm: dart2wasm, - - - Math: Math, - Date: Date, - Object: Object, - Array: Array, - Reflect: Reflect, - }; - - const jsStringPolyfill = { - "charCodeAt": (s, i) => s.charCodeAt(i), - "compare": (s1, s2) => { - if (s1 < s2) return -1; - if (s1 > s2) return 1; - return 0; - }, - "concat": (s1, s2) => s1 + s2, - "equals": (s1, s2) => s1 === s2, - "fromCharCode": (i) => String.fromCharCode(i), - "length": (s) => s.length, - "substring": (s, a, b) => s.substring(a, b), - }; - - dartInstance = await WebAssembly.instantiate(await modulePromise, { - ...baseImports, - ...(await importObjectPromise), - "wasm:js-string": jsStringPolyfill, - }); - - return dartInstance; -} - -// Call the main function for the instantiated module -// `moduleInstance` is the instantiated dart2wasm module -// `args` are any arguments that should be passed into the main function. -export const invoke = (moduleInstance, ...args) => { - const dartMain = moduleInstance.exports.$getMain(); - const dartArgs = buildArgsList(args); - moduleInstance.exports.$invokeMain(dartMain, dartArgs); -} - diff --git a/examples/dart/web_wasm/bin/example_web.unopt.wasm b/examples/dart/web_wasm/bin/example_web.unopt.wasm deleted file mode 100644 index 3bda134510c0b4a74e4ad3ade7eeaa5192c7d411..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238521 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 e~AUM&yF+Haj`)5+3|)tJ`Sk+ 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 E2VVs7J^%m! diff --git a/examples/dart/web_wasm/bin/index.html b/examples/dart/web_wasm/bin/index.html deleted file mode 100644 index 7abc5620..00000000 --- a/examples/dart/web_wasm/bin/index.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/examples/dart/web_wasm/bin/thermion_dart.js b/examples/dart/web_wasm/bin/thermion_dart.js deleted file mode 120000 index 6710a76f..00000000 --- a/examples/dart/web_wasm/bin/thermion_dart.js +++ /dev/null @@ -1 +0,0 @@ -../../../native/web/build/build/out/dart_filament.js \ No newline at end of file diff --git a/examples/dart/web_wasm/bin/thermion_dart.wasm b/examples/dart/web_wasm/bin/thermion_dart.wasm deleted file mode 120000 index a1439c39..00000000 --- a/examples/dart/web_wasm/bin/thermion_dart.wasm +++ /dev/null @@ -1 +0,0 @@ -../../../native/web/build/build/out/dart_filament.wasm \ No newline at end of file diff --git a/examples/dart/web_wasm/bin/thermion_dart.worker.js b/examples/dart/web_wasm/bin/thermion_dart.worker.js deleted file mode 120000 index 54392ba9..00000000 --- a/examples/dart/web_wasm/bin/thermion_dart.worker.js +++ /dev/null @@ -1 +0,0 @@ -../../../native/web/build/build/out/dart_filament.worker.js \ No newline at end of file diff --git a/examples/dart/web_wasm/pubspec.yaml b/examples/dart/web_wasm/pubspec.yaml deleted file mode 100644 index e1be14e3..00000000 --- a/examples/dart/web_wasm/pubspec.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: example_web -description: A sample command-line application. -version: 1.0.0 -# repository: https://github.com/my_org/my_repo - -environment: - sdk: ^3.3.0 - -# Add regular dependencies here. -dependencies: - thermion_dart: - path: ../../ - ffi: - -dev_dependencies: - lints: ^3.0.0 - test: ^1.24.0 diff --git a/examples/dart/web_wasm/test/example_web_test.dart b/examples/dart/web_wasm/test/example_web_test.dart deleted file mode 100644 index 4c50d967..00000000 --- a/examples/dart/web_wasm/test/example_web_test.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:example_web/example_web.dart'; -import 'package:test/test.dart'; - -void main() { - test('calculate', () { - expect(calculate(), 42); - }); -} diff --git a/examples/flutter/example/.fvm/fvm_config.json b/examples/flutter/example/.fvm/fvm_config.json deleted file mode 100644 index 8fd7d3ea..00000000 --- a/examples/flutter/example/.fvm/fvm_config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "flutterSdkVersion": "3.16.0-0.2.pre", - "flavors": {} -} \ No newline at end of file diff --git a/examples/flutter/example/.gitattributes b/examples/flutter/example/.gitattributes deleted file mode 100644 index 588e746e..00000000 --- a/examples/flutter/example/.gitattributes +++ /dev/null @@ -1,30 +0,0 @@ -assets/lit_opaque_43.uberz filter=lfs diff=lfs merge=lfs -text -assets/BusterDrone filter=lfs diff=lfs merge=lfs -text -assets/FlightHelmet filter=lfs diff=lfs merge=lfs -text -assets/lit_opaque_32.uberz filter=lfs diff=lfs merge=lfs -text -windows/lib/**/*.* filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/12_Settonemappingtolinear.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/3_loadIBL.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/6_zoomin.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/13_Movecameratoasset.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/14_movecamerato.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/7_rotate.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/9_transformtounitcube.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/0_fresh.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/10_setshapespositionto.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/2_loadskybox.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/4_Renderingfalse.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/8_pan.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/11_Disablefrustumculling.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/15_setcameratofirstcamerainshapesGLB.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/1_createviewerdefaultubershader.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/5_loadshapesGLB.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/16_resize.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/3_loadskybox.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/4_loadIBL.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/19_resize.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/17_resize.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/2_Renderingfalse.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/18_resize.png filter=lfs diff=lfs merge=lfs -text -integration_test/goldens/ios/diffs filter=lfs diff=lfs merge=lfs -text diff --git a/examples/flutter/example/.gitignore b/examples/flutter/example/.gitignore deleted file mode 100644 index 76cbb205..00000000 --- a/examples/flutter/example/.gitignore +++ /dev/null @@ -1,50 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Web related - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release - -/android/.cxx/**/* - -# fvm -.fvm/flutter_sdk diff --git a/examples/flutter/example/.metadata b/examples/flutter/example/.metadata deleted file mode 100644 index de6eb858..00000000 --- a/examples/flutter/example/.metadata +++ /dev/null @@ -1,30 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: "12d54de962782853206992fedce29723fcb4a95b" - channel: "master" - -project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: 12d54de962782853206992fedce29723fcb4a95b - base_revision: 12d54de962782853206992fedce29723fcb4a95b - - platform: macos - create_revision: 12d54de962782853206992fedce29723fcb4a95b - base_revision: 12d54de962782853206992fedce29723fcb4a95b - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/examples/flutter/example/README.md b/examples/flutter/example/README.md deleted file mode 100644 index a1e9374f..00000000 --- a/examples/flutter/example/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# thermion_flutter_example - -Demonstrates how to use the thermion_flutter plugin. - -## Linux - -export PKG_CONFIG_PATH=/usr/lib/pkgconfig/:/usr/lib64/pkgconfig/ -export CPLUS_INCLUDE_PATH=/usr/include/gtk-3.0/:/usr/include/pango-1.0/:/usr/include/harfbuzz:/usr/include/cairo/:/usr/include/gdk-pixbuf-2.0/:/usr/include/atk-1.0/ - -## Getting Started - -This project is a starting point for a Flutter application. - -A few resources to get you started if this is your first Flutter project: - -- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) - -For help getting started with Flutter, view our -[online documentation](https://flutter.dev/docs), which offers tutorials, -samples, guidance on mobile development, and a full API reference. diff --git a/examples/flutter/example/analysis_options.yaml b/examples/flutter/example/analysis_options.yaml deleted file mode 100644 index 61b6c4de..00000000 --- a/examples/flutter/example/analysis_options.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/examples/flutter/example/android/.gitignore b/examples/flutter/example/android/.gitignore deleted file mode 100644 index 6f568019..00000000 --- a/examples/flutter/example/android/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -gradle-wrapper.jar -/.gradle -/captures/ -/gradlew -/gradlew.bat -/local.properties -GeneratedPluginRegistrant.java - -# Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app -key.properties -**/*.keystore -**/*.jks diff --git a/examples/flutter/example/android/app/build.gradle b/examples/flutter/example/android/app/build.gradle deleted file mode 100644 index 2641214e..00000000 --- a/examples/flutter/example/android/app/build.gradle +++ /dev/null @@ -1,51 +0,0 @@ -plugins { - id "com.android.application" - id "kotlin-android" - // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. - id "dev.flutter.flutter-gradle-plugin" -} - -android { - namespace = "app.polyvox.example" - compileSdkVersion 34 - ndkVersion "25.2.9519653" - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 - } - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId = "app.polyvox.example" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdk = 30 - targetSdk = 31 - versionCode = flutter.versionCode - versionName = flutter.versionName - } - - buildTypes { - release { - signingConfig = signingConfigs.debug - shrinkResources false - minifyEnabled false - } - debug { - - } - } -} - -dependencies { - implementation 'net.java.dev.jna:jna:5.10.0@aar' -} - -flutter { - source = "../.." -} diff --git a/examples/flutter/example/android/app/src/debug/AndroidManifest.xml b/examples/flutter/example/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 399f6981..00000000 --- a/examples/flutter/example/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/examples/flutter/example/android/app/src/main/AndroidManifest.xml b/examples/flutter/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 74a78b93..00000000 --- a/examples/flutter/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/flutter/example/android/app/src/main/kotlin/app/polyvox/example/MainActivity.kt b/examples/flutter/example/android/app/src/main/kotlin/app/polyvox/example/MainActivity.kt deleted file mode 100644 index c546a613..00000000 --- a/examples/flutter/example/android/app/src/main/kotlin/app/polyvox/example/MainActivity.kt +++ /dev/null @@ -1,5 +0,0 @@ -package app.polyvox.example - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() diff --git a/examples/flutter/example/android/app/src/main/res/drawable-v21/launch_background.xml b/examples/flutter/example/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f3..00000000 --- a/examples/flutter/example/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/examples/flutter/example/android/app/src/main/res/drawable/launch_background.xml b/examples/flutter/example/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f8..00000000 --- a/examples/flutter/example/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/examples/flutter/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/examples/flutter/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/examples/flutter/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/examples/flutter/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/examples/flutter/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/examples/flutter/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/examples/flutter/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/examples/flutter/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372eebdb28e45604e46eeda8dd24651419bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/examples/flutter/example/android/app/src/main/res/values-night/styles.xml b/examples/flutter/example/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be7..00000000 --- a/examples/flutter/example/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/examples/flutter/example/android/app/src/main/res/values/styles.xml b/examples/flutter/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef880..00000000 --- a/examples/flutter/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/examples/flutter/example/android/app/src/profile/AndroidManifest.xml b/examples/flutter/example/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 399f6981..00000000 --- a/examples/flutter/example/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/examples/flutter/example/android/build.gradle b/examples/flutter/example/android/build.gradle deleted file mode 100644 index d2ffbffa..00000000 --- a/examples/flutter/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = "../build" -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(":app") -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/examples/flutter/example/android/gradle.properties b/examples/flutter/example/android/gradle.properties deleted file mode 100644 index 25971708..00000000 --- a/examples/flutter/example/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError -android.useAndroidX=true -android.enableJetifier=true diff --git a/examples/flutter/example/android/gradle/wrapper/gradle-wrapper.properties b/examples/flutter/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e1ca574e..00000000 --- a/examples/flutter/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip diff --git a/examples/flutter/example/android/settings.gradle b/examples/flutter/example/android/settings.gradle deleted file mode 100644 index 536165d3..00000000 --- a/examples/flutter/example/android/settings.gradle +++ /dev/null @@ -1,25 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "7.3.0" apply false - id "org.jetbrains.kotlin.android" version "1.7.10" apply false -} - -include ":app" diff --git a/examples/flutter/example/assets b/examples/flutter/example/assets deleted file mode 120000 index 41aef43f..00000000 --- a/examples/flutter/example/assets +++ /dev/null @@ -1 +0,0 @@ -../../assets \ No newline at end of file diff --git a/examples/flutter/example/integration_test/goldens/ios/0_fresh.png b/examples/flutter/example/integration_test/goldens/ios/0_fresh.png deleted file mode 100644 index 7e09a470..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/0_fresh.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ec2a9627f23ffe07750323c25afa78c6c7fcb7d26b5ed36d119363ced0b60f29 -size 258304 diff --git a/examples/flutter/example/integration_test/goldens/ios/10_setshapespositionto.png b/examples/flutter/example/integration_test/goldens/ios/10_setshapespositionto.png deleted file mode 100644 index 654bce23..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/10_setshapespositionto.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:53256c9443c6d36edfb8c1234711173c847126e888d714151ae026c57495fe6b -size 1875814 diff --git a/examples/flutter/example/integration_test/goldens/ios/11_Disablefrustumculling.png b/examples/flutter/example/integration_test/goldens/ios/11_Disablefrustumculling.png deleted file mode 100644 index 938197ea..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/11_Disablefrustumculling.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b0c715cadbf84c2161099e8373a404c7d6dbb093faf4157aa0e0aa3825c28217 -size 1868778 diff --git a/examples/flutter/example/integration_test/goldens/ios/12_Settonemappingtolinear.png b/examples/flutter/example/integration_test/goldens/ios/12_Settonemappingtolinear.png deleted file mode 100644 index a3f358a9..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/12_Settonemappingtolinear.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:56a431b561db7038ad7fe92d025fc2fe2806dfa2cf68c29a0380c3cbd2b66fb5 -size 1742539 diff --git a/examples/flutter/example/integration_test/goldens/ios/13_Movecameratoasset.png b/examples/flutter/example/integration_test/goldens/ios/13_Movecameratoasset.png deleted file mode 100644 index 88cb252a..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/13_Movecameratoasset.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:14193a392baf348f77895ca7bfb8cee160407c762d03c01bf1f7b5b771a9b1ab -size 2282401 diff --git a/examples/flutter/example/integration_test/goldens/ios/14_movecamerato.png b/examples/flutter/example/integration_test/goldens/ios/14_movecamerato.png deleted file mode 100644 index 3208625c..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/14_movecamerato.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:77badd0b2a59122949e497297052064c403006272daa4488db43e492d60093e2 -size 1959141 diff --git a/examples/flutter/example/integration_test/goldens/ios/15_setcameratofirstcamerainshapesGLB.png b/examples/flutter/example/integration_test/goldens/ios/15_setcameratofirstcamerainshapesGLB.png deleted file mode 100644 index 8bd59ae0..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/15_setcameratofirstcamerainshapesGLB.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bdf63e19e5a992f2c848cf71b55ceddf8930d6a9368c9b3adcc13e7c478c7146 -size 1889777 diff --git a/examples/flutter/example/integration_test/goldens/ios/16_resize.png b/examples/flutter/example/integration_test/goldens/ios/16_resize.png deleted file mode 100644 index 601b3963..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/16_resize.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:651c19434ae3753488eb840695955b98db9d66a20b79bee1e21b3384c2358025 -size 1609541 diff --git a/examples/flutter/example/integration_test/goldens/ios/17_resize.png b/examples/flutter/example/integration_test/goldens/ios/17_resize.png deleted file mode 100644 index de3b79c8..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/17_resize.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f11462c0fdf30d101b6ed6c430734adcf6451818f3c7824126c8423014836773 -size 2060944 diff --git a/examples/flutter/example/integration_test/goldens/ios/18_resize.png b/examples/flutter/example/integration_test/goldens/ios/18_resize.png deleted file mode 100644 index d193c61c..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/18_resize.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:beb941d33777ad2e1d6ef3704ba6a63b3a5608ca885a516a1c9e807a31b533fc -size 1608407 diff --git a/examples/flutter/example/integration_test/goldens/ios/19_resize.png b/examples/flutter/example/integration_test/goldens/ios/19_resize.png deleted file mode 100644 index 18f22392..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/19_resize.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2bcae11fd2eb593c419a62731e1799f7340408b28ad56575fab5f79db608ae17 -size 2062339 diff --git a/examples/flutter/example/integration_test/goldens/ios/1_createviewerdefaultubershader.png b/examples/flutter/example/integration_test/goldens/ios/1_createviewerdefaultubershader.png deleted file mode 100644 index a33704b3..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/1_createviewerdefaultubershader.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dc3b3c5e0678a5b71728cea8961925e6c0fb44a59340aa2d77d4ea92a24cc7d6 -size 316763 diff --git a/examples/flutter/example/integration_test/goldens/ios/2_Renderingfalse.png b/examples/flutter/example/integration_test/goldens/ios/2_Renderingfalse.png deleted file mode 100644 index 8b21177b..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/2_Renderingfalse.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6dbbb518a86c546f188134c1d369762664f188dd6b9a38ec13963b6187cb4b25 -size 1456648 diff --git a/examples/flutter/example/integration_test/goldens/ios/3_loadskybox.png b/examples/flutter/example/integration_test/goldens/ios/3_loadskybox.png deleted file mode 100644 index 5fe8dd9c..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/3_loadskybox.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2d7951418e5875da7c7ed8dea482dbf1cbe81a42b47d255db7f1b6e11c16a193 -size 1876507 diff --git a/examples/flutter/example/integration_test/goldens/ios/4_loadIBL.png b/examples/flutter/example/integration_test/goldens/ios/4_loadIBL.png deleted file mode 100644 index 1d4d7fd9..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/4_loadIBL.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:80cd11f5be75012cfdf953569e409a355826ca23af35feba41aac78f0e3d35d8 -size 1874857 diff --git a/examples/flutter/example/integration_test/goldens/ios/5_loadshapesGLB.png b/examples/flutter/example/integration_test/goldens/ios/5_loadshapesGLB.png deleted file mode 100644 index f6d86acb..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/5_loadshapesGLB.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e605bb18426ea657b9352ecca51f0b55daac904b15dba3afdcffc412a445548a -size 1941423 diff --git a/examples/flutter/example/integration_test/goldens/ios/6_zoomin.png b/examples/flutter/example/integration_test/goldens/ios/6_zoomin.png deleted file mode 100644 index 6406f7a2..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/6_zoomin.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c026e8723922a6c56ab8e28f99a29805c53627ff5a659971590c95d89d7ac6bd -size 1940845 diff --git a/examples/flutter/example/integration_test/goldens/ios/7_rotate.png b/examples/flutter/example/integration_test/goldens/ios/7_rotate.png deleted file mode 100644 index 85cdf565..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/7_rotate.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fffa285edd2c5474e16475cafc67d2519e000b74178ce1a0f8d88229827cfabf -size 1937116 diff --git a/examples/flutter/example/integration_test/goldens/ios/8_pan.png b/examples/flutter/example/integration_test/goldens/ios/8_pan.png deleted file mode 100644 index b26c2c78..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/8_pan.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1db7a2f831d83e75e42dfe4f0547e9ed1f171152f45103e8f250d2b52ee3a8e1 -size 1937776 diff --git a/examples/flutter/example/integration_test/goldens/ios/9_transformtounitcube.png b/examples/flutter/example/integration_test/goldens/ios/9_transformtounitcube.png deleted file mode 100644 index 4db03efd..00000000 --- a/examples/flutter/example/integration_test/goldens/ios/9_transformtounitcube.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:00c70e7e77b98e4e72d0dde82482066096ebd502d25cccfada9cb87de332ecac -size 1941844 diff --git a/examples/flutter/example/integration_test/plugin_integration_test.dart b/examples/flutter/example/integration_test/plugin_integration_test.dart deleted file mode 100644 index d1a921f0..00000000 --- a/examples/flutter/example/integration_test/plugin_integration_test.dart +++ /dev/null @@ -1,190 +0,0 @@ -import 'dart:async'; -import 'dart:io'; -import 'dart:ui'; - -import 'package:flutter/gestures.dart'; -import 'package:flutter/widgets.dart'; -import 'package:thermion_flutter/filament/widgets/filament_widget.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:integration_test/integration_test.dart'; -import '../lib/main.dart' as app; - -void main() { - final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized() - as IntegrationTestWidgetsFlutterBinding; - - late String platformIdentifier; - if (Platform.isIOS) { - platformIdentifier = "ios"; - } else if (Platform.isAndroid) { - platformIdentifier = "android"; - } else if (Platform.isMacOS) { - platformIdentifier = "macos"; - } else if (Platform.isWindows) { - platformIdentifier = "windows"; - } else if (Platform.isLinux) { - platformIdentifier = "linux"; - } else { - throw Exception("Unexpected platform"); - } - - int _counter = 0; - - Future _snapshot(WidgetTester tester, String label, [int seconds = 0]) async { - await tester.pumpAndSettle(Duration(milliseconds: 16)); - for (int i = 0; i < seconds; i++) { - await Future.delayed(Duration(seconds: 1)); - await tester.pumpAndSettle(Duration(milliseconds: 16)); - } - await tester.pumpAndSettle(Duration(milliseconds: 16)); - var screenshotPath = '$platformIdentifier/${_counter}_$label'; - if (Platform.isIOS) { - // this is currently hanging on Android - // see https://github.com/flutter/flutter/issues/127306 - // it is also not yet implemented on Windows or MacOS - await binding.convertFlutterSurfaceToImage(); - final bytes = await binding.takeScreenshot(screenshotPath); - } - _counter++; - } - - Future tap(WidgetTester tester, String label, [int seconds = 0]) async { - var target = find.text(label, skipOffstage: false); - - if (!target.hasFound) { - print("Couldn't find target, waiting 100ms"); - await tester.pump(const Duration(milliseconds: 100)); - target = find.text(label); - } - - await tester.tap(target.first); - await _snapshot(tester, label.replaceAll(RegExp("[ -:]"), ""), seconds); - } - - Future pumpUntilFound( - WidgetTester tester, - Finder finder, { - Duration timeout = const Duration(seconds: 30), - }) async { - bool timerDone = false; - final timer = Timer( - timeout, () => throw TimeoutException("Pump until has timed out")); - while (timerDone != true) { - await tester.pump(); - - final found = tester.any(finder); - if (found) { - timerDone = true; - } - } - timer.cancel(); - } - - testWidgets('test', (WidgetTester tester) async { - app.main(); - await pumpUntilFound(tester, find.byType(app.ExampleWidget)); - - await tester.pumpAndSettle(); - - await _snapshot(tester, "fresh"); - - await tap(tester, "Controller / Viewer"); - await tap(tester, "Create ThermionFlutterPlugin (default ubershader)"); - await tap(tester, "Controller / Viewer"); - await tap(tester, "Create ThermionViewerFFI", - 4); // on older devices this may take a while, so let's insert a length delay - - await tap(tester, "Scene"); - await tap(tester, "Rendering"); - await tap(tester, "Set continuous rendering to true"); - - await tap(tester, "Scene"); - await tap(tester, "Assets"); - await tap(tester, "Shapes"); - await tap(tester, "Load GLB"); - - await tester.pump(); - - await tap(tester, "Scene"); - await tap(tester, "Assets"); - await tap(tester, "Load skybox", 1); - - await tap(tester, "Scene"); - await tap(tester, "Assets"); - await tap(tester, "Load IBL", 1); - - final Offset pointerLocation = - tester.getCenter(find.byType(ThermionWidget)); - TestPointer testPointer = TestPointer(1, PointerDeviceKind.mouse); - - // scroll/zoom - testPointer.hover(pointerLocation); - await tester.sendEventToBinding(testPointer.scroll(const Offset(0.0, 1.0))); - await tester.pumpAndSettle(); - await tester.sendEventToBinding(testPointer.scroll(const Offset(0.0, 1.0))); - await tester.pumpAndSettle(); - await _snapshot(tester, "zoomin"); - - // rotate - testPointer = - TestPointer(1, PointerDeviceKind.mouse, null, kTertiaryButton); - testPointer.hover(pointerLocation); - await tester.sendEventToBinding(testPointer.down(pointerLocation)); - await tester.pumpAndSettle(); - await tester.sendEventToBinding( - testPointer.move(pointerLocation + Offset(10.0, 10.0))); - await tester.pumpAndSettle(); - await tester.sendEventToBinding( - testPointer.move(pointerLocation + Offset(20.0, 20.0))); - await tester.pumpAndSettle(); - await tester.sendEventToBinding(testPointer.up()); - - await _snapshot(tester, "rotate", 2); - - // pan - testPointer = TestPointer(1, PointerDeviceKind.mouse, null, kPrimaryButton); - testPointer.hover(pointerLocation); - await tester.sendEventToBinding(testPointer.down(pointerLocation)); - await tester - .sendEventToBinding(testPointer.move(pointerLocation + Offset(0, 1.0))); - - for (int i = 0; i < 60; i++) { - await tester.sendEventToBinding(testPointer - .move(pointerLocation + Offset(i.toDouble() * 2, i.toDouble() * 2))); - await tester.pumpAndSettle(); - } - await tester.sendEventToBinding(testPointer.up()); - await tester.pumpAndSettle(); - - await _snapshot(tester, "pan"); - - await tap(tester, "Scene"); - await tap(tester, "Assets"); - await tap(tester, "Shapes"); - await tap(tester, "Transform to unit cube"); - - await tap(tester, "Scene"); - await tap(tester, "Assets"); - await tap(tester, "Shapes"); - await tap(tester, "Set position to 1, 1, -1"); - - await tap(tester, "Scene"); - await tap(tester, "Camera"); - await tap(tester, "Disable frustum culling"); - - await tap(tester, "Scene"); - await tap(tester, "Rendering"); - await tap(tester, "Set tone mapping to linear"); - - await tap(tester, "Scene"); - await tap(tester, "Camera"); - await tap(tester, 'Set to first camera in last added asset'); - - await tap(tester, "Move to last added asset"); - await tap(tester, "Move to 1, 1, -1"); - - await tap(tester, 'Toggle viewport size', 1); - await tap(tester, 'Toggle viewport size', 1); - await tap(tester, 'Toggle viewport size', 1); - }); -} diff --git a/examples/flutter/example/ios/.gitignore b/examples/flutter/example/ios/.gitignore deleted file mode 100644 index 7a7f9873..00000000 --- a/examples/flutter/example/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/examples/flutter/example/ios/Flutter/AppFrameworkInfo.plist b/examples/flutter/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 7c569640..00000000 --- a/examples/flutter/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 12.0 - - diff --git a/examples/flutter/example/ios/Flutter/Debug.xcconfig b/examples/flutter/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6f..00000000 --- a/examples/flutter/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/examples/flutter/example/ios/Flutter/Release.xcconfig b/examples/flutter/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index c4855bfe..00000000 --- a/examples/flutter/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/examples/flutter/example/ios/Podfile b/examples/flutter/example/ios/Podfile deleted file mode 100644 index 3e44f9c6..00000000 --- a/examples/flutter/example/ios/Podfile +++ /dev/null @@ -1,44 +0,0 @@ -# Uncomment this line to define a global platform for your project -platform :ios, '13.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/examples/flutter/example/ios/Podfile.lock b/examples/flutter/example/ios/Podfile.lock deleted file mode 100644 index a4335a9c..00000000 --- a/examples/flutter/example/ios/Podfile.lock +++ /dev/null @@ -1,35 +0,0 @@ -PODS: - - Flutter (1.0.0) - - integration_test (0.0.1): - - Flutter - - path_provider_foundation (0.0.1): - - Flutter - - FlutterMacOS - - thermion_flutter (0.0.1): - - Flutter - -DEPENDENCIES: - - Flutter (from `Flutter`) - - integration_test (from `.symlinks/plugins/integration_test/ios`) - - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - - thermion_flutter (from `.symlinks/plugins/thermion_flutter/ios`) - -EXTERNAL SOURCES: - Flutter: - :path: Flutter - integration_test: - :path: ".symlinks/plugins/integration_test/ios" - path_provider_foundation: - :path: ".symlinks/plugins/path_provider_foundation/darwin" - thermion_flutter: - :path: ".symlinks/plugins/thermion_flutter/ios" - -SPEC CHECKSUMS: - Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - integration_test: 252f60fa39af5e17c3aa9899d35d908a0721b573 - path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 - thermion_flutter: dd8d01cb3b3e6e9a612f5a1061a96be1e1c2f659 - -PODFILE CHECKSUM: a57f30d18f102dd3ce366b1d62a55ecbef2158e5 - -COCOAPODS: 1.15.2 diff --git a/examples/flutter/example/ios/Runner.xcodeproj/project.pbxproj b/examples/flutter/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 0b85a8de..00000000 --- a/examples/flutter/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,730 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 18BA9BAB0A3151C581637BC5 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 913673949B5C862688BEB411 /* Pods_Runner.framework */; }; - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 44B597F813CB15F7F7362D7F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E559449EFA9688E4362535A /* Pods_RunnerTests.framework */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 97C146E61CF9000F007C117D /* Project object */; - proxyType = 1; - remoteGlobalIDString = 97C146ED1CF9000F007C117D; - remoteInfo = Runner; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 24862DEBD358E9187AF1957F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 28E01474E257DCB9E5A9F16D /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 34F6152C42E578942239D66E /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 3E559449EFA9688E4362535A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 71B8727E9D9717E2EC7D0632 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 913673949B5C862688BEB411 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C4E435CCE2B189B896F861F8 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FA604CE866685A80B2F7D1EA /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 18BA9BAB0A3151C581637BC5 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E5F93109740F1CF8EAB7C740 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 44B597F813CB15F7F7362D7F /* Pods_RunnerTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 3762816736B339B0521FA963 /* Pods */ = { - isa = PBXGroup; - children = ( - FA604CE866685A80B2F7D1EA /* Pods-Runner.debug.xcconfig */, - C4E435CCE2B189B896F861F8 /* Pods-Runner.release.xcconfig */, - 24862DEBD358E9187AF1957F /* Pods-Runner.profile.xcconfig */, - 34F6152C42E578942239D66E /* Pods-RunnerTests.debug.xcconfig */, - 28E01474E257DCB9E5A9F16D /* Pods-RunnerTests.release.xcconfig */, - 71B8727E9D9717E2EC7D0632 /* Pods-RunnerTests.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 331C8082294A63A400263BE5 /* RunnerTests */, - 3762816736B339B0521FA963 /* Pods */, - F604EC48BBC88B9D456C52C9 /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - 331C8081294A63A400263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; - F604EC48BBC88B9D456C52C9 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 913673949B5C862688BEB411 /* Pods_Runner.framework */, - 3E559449EFA9688E4362535A /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C8080294A63A400263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 966EE0BC7D8B7994F46B60D0 /* [CP] Check Pods Manifest.lock */, - 331C807D294A63A400263BE5 /* Sources */, - 331C807F294A63A400263BE5 /* Resources */, - E5F93109740F1CF8EAB7C740 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 331C8086294A63A400263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - F7EDF8FA795C5CA2175B4CDF /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - ED098149A1804FAFC41C252E /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C8080294A63A400263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 97C146ED1CF9000F007C117D; - }; - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - 331C8080294A63A400263BE5 /* RunnerTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C807F294A63A400263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 966EE0BC7D8B7994F46B60D0 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; - ED098149A1804FAFC41C252E /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - F7EDF8FA795C5CA2175B4CDF /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C807D294A63A400263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 97C146ED1CF9000F007C117D /* Runner */; - targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = TM2B4SJXNJ; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "app.flutter-filament.example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 331C8088294A63A400263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 34F6152C42E578942239D66E /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = app.polyvox.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Debug; - }; - 331C8089294A63A400263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 28E01474E257DCB9E5A9F16D /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = app.polyvox.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Release; - }; - 331C808A294A63A400263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 71B8727E9D9717E2EC7D0632 /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = app.polyvox.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = TM2B4SJXNJ; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "app.flutter-filament.example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = TM2B4SJXNJ; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = "app.flutter-filament.example"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C8088294A63A400263BE5 /* Debug */, - 331C8089294A63A400263BE5 /* Release */, - 331C808A294A63A400263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/examples/flutter/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/examples/flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/examples/flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 8e3ca5df..00000000 --- a/examples/flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/flutter/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/examples/flutter/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/examples/flutter/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/examples/flutter/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/flutter/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/examples/flutter/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/examples/flutter/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/examples/flutter/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5..00000000 --- a/examples/flutter/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/examples/flutter/example/ios/Runner/AppDelegate.swift b/examples/flutter/example/ios/Runner/AppDelegate.swift deleted file mode 100644 index 62666446..00000000 --- a/examples/flutter/example/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Flutter -import UIKit - -@main -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fab..00000000 --- a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4725e9b0ddb1deab583e5b5102493aa332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10932 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 diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 797d452e458972bab9d994556c8305db4c827017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index 6ed2d933e1120817fe9182483a228007b18ab6ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cd7b0099ca80c806f8fe495613e8d6c69460d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index fe730945a01f64a61e2235dbe3f45b08f7729182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index 502f463a9bc882b461c96aadf492d1729e49e725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index 0ec303439225b78712f49115768196d8d76f6790..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index e9f5fea27c705180eb716271f41b582e76dcbd90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1674 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 diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index 0467bf12aa4d28f374bb26596605a46dcbb3e7c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2f..00000000 --- a/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725b..00000000 --- a/examples/flutter/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/examples/flutter/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/examples/flutter/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c7..00000000 --- a/examples/flutter/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/flutter/example/ios/Runner/Base.lproj/Main.storyboard b/examples/flutter/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c28516..00000000 --- a/examples/flutter/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/flutter/example/ios/Runner/Info.plist b/examples/flutter/example/ios/Runner/Info.plist deleted file mode 100644 index f15383a8..00000000 --- a/examples/flutter/example/ios/Runner/Info.plist +++ /dev/null @@ -1,49 +0,0 @@ - - - - - CADisableMinimumFrameDurationOnPhone - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Example - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - example - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UIApplicationSupportsIndirectInputEvents - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/examples/flutter/example/ios/Runner/Runner-Bridging-Header.h b/examples/flutter/example/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a56..00000000 --- a/examples/flutter/example/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/examples/flutter/example/ios/RunnerTests/RunnerTests.swift b/examples/flutter/example/ios/RunnerTests/RunnerTests.swift deleted file mode 100644 index 86a7c3b1..00000000 --- a/examples/flutter/example/ios/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import Flutter -import UIKit -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/examples/flutter/example/lib/camera_matrix_overlay.dart b/examples/flutter/example/lib/camera_matrix_overlay.dart deleted file mode 100644 index a2c4c17d..00000000 --- a/examples/flutter/example/lib/camera_matrix_overlay.dart +++ /dev/null @@ -1,139 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; -import 'package:thermion_flutter/thermion_flutter.dart'; -import 'package:vector_math/vector_math_64.dart' as v; -import 'package:thermion_dart/thermion_dart/thermion_viewer.dart'; - -class CameraMatrixOverlay extends StatefulWidget { - final ThermionViewer controller; - final bool showProjectionMatrices; - - const CameraMatrixOverlay( - {super.key, - required this.controller, - required this.showProjectionMatrices}); - - @override - State createState() => _CameraMatrixOverlayState(); -} - -class _CameraMatrixOverlayState extends State { - Timer? _cameraTimer; - String? _cameraPosition; - String? _cameraRotation; - - String? _cameraProjectionMatrix; - String? _cameraCullingProjectionMatrix; - - void _tick(Timer timer) async { - var cameraPosition = await widget.controller.getCameraPosition(); - var cameraRotation = await widget.controller.getCameraRotation(); - - _cameraPosition = - "${cameraPosition.storage.map((v) => v.toStringAsFixed(2))}"; - _cameraRotation = - "${cameraRotation.storage.map((v) => v.toStringAsFixed(2))}"; - - if (widget.showProjectionMatrices) { - var projMatrix = await widget.controller.getCameraProjectionMatrix(); - var cullingMatrix = - await widget.controller.getCameraCullingProjectionMatrix(); - - _cameraProjectionMatrix = - projMatrix.storage.map((v) => v.toStringAsFixed(2)).join(","); - _cameraCullingProjectionMatrix = - cullingMatrix.storage.map((v) => v.toStringAsFixed(2)).join(","); - _getFrustum(); - } - - setState(() {}); - } - - void _updateTimer() async { - _cameraTimer?.cancel(); - await widget.controller.initialized; - } - - v.Frustum? _frustum; - - void _getFrustum() async { - _frustum = await widget.controller.getCameraFrustum(); - } - - @override - void initState() { - super.initState(); - _updateTimer(); - } - - @override - void didUpdateWidget(CameraMatrixOverlay oldWidget) { - super.didUpdateWidget(oldWidget); - setState(() {}); - } - - @override - void dispose() { - super.dispose(); - _cameraTimer?.cancel(); - } - - @override - Widget build(BuildContext context) { - return Container( - decoration: BoxDecoration( - color: Colors.black.withOpacity(0.5), - borderRadius: BorderRadius.circular(29)), - padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 5), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Text("Camera : $_cameraPosition $_cameraRotation", - style: - const TextStyle(color: Colors.white, fontSize: 10)), - // widget.showProjectionMatrices - // ? Text("Projection matrix : $_cameraProjectionMatrix", - // style: const TextStyle(color: Colors.white, fontSize: 12)) - // : Container(), - // widget.showProjectionMatrices - // ? Text("Culling matrix : $_cameraCullingProjectionMatrix", - // style: const TextStyle(color: Colors.white, fontSize: 12)) - // : Container(), - widget.showProjectionMatrices - ? const Text("Frustum matrix", - style: TextStyle(color: Colors.white, fontSize: 10)) - : Container() - ] + - (_frustum == null - ? [] - : [ - _frustum!.plane0, - _frustum!.plane1, - _frustum!.plane2, - _frustum!.plane3, - _frustum!.plane4, - _frustum!.plane5 - ] - .map((plane) => Row( - children: [ - plane.normal.x, - plane.normal.y, - plane.normal.z, - plane.constant - ] - .map((v) => Text( - v.toStringAsFixed(2) + " ", - style: const TextStyle( - color: Colors.white, - fontSize: 10), - textAlign: TextAlign.center, - )) - .cast() - .toList())) - .cast() - .toList()))); - } -} diff --git a/examples/flutter/example/lib/example_viewport.dart b/examples/flutter/example/lib/example_viewport.dart deleted file mode 100644 index 4be74ea2..00000000 --- a/examples/flutter/example/lib/example_viewport.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/widgets.dart'; -import 'package:thermion_flutter/thermion/widgets/camera/entity_controller_mouse_widget.dart'; -import 'package:thermion_flutter/thermion_flutter.dart'; -import 'package:thermion_dart/thermion_dart/entities/entity_transform_controller.dart'; - - -class ExampleViewport extends StatelessWidget { - final ThermionViewer? viewer; - final EntityTransformController? entityTransformController; - final EdgeInsets padding; - final FocusNode keyboardFocusNode; - - const ExampleViewport( - {super.key, - required this.viewer, - required this.padding, - required this.keyboardFocusNode, - this.entityTransformController}); - - @override - Widget build(BuildContext context) { - return viewer != null - ? Padding( - padding: padding, - child: EntityTransformMouseControllerWidget( - transformController: entityTransformController, - child: ThermionGestureDetector( - showControlOverlay: true, - controller: viewer!, - child: ThermionWidget( - viewer: viewer!, - )))) - : Container(); - } -} diff --git a/examples/flutter/example/lib/main.dart b/examples/flutter/example/lib/main.dart deleted file mode 100644 index 4ab80781..00000000 --- a/examples/flutter/example/lib/main.dart +++ /dev/null @@ -1,196 +0,0 @@ -import 'dart:async'; -import 'package:flutter/material.dart'; -import 'package:thermion_flutter/thermion/widgets/debug/entity_list_widget.dart'; -import 'package:thermion_flutter_example/menus/controller_menu.dart'; -import 'package:thermion_flutter_example/example_viewport.dart'; -import 'package:thermion_flutter_example/menus/scene_menu.dart'; -import 'package:thermion_flutter/thermion_flutter.dart'; - -const loadDefaultScene = bool.hasEnvironment('--load-default-scene'); - -void main() async { - runApp(const MyApp()); -} - -class MyApp extends StatefulWidget { - const MyApp({Key? key}) : super(key: key); - - @override - State createState() => _MyAppState(); -} - -class _MyAppState extends State with SingleTickerProviderStateMixin { - @override - Widget build(BuildContext context) { - return MaterialApp( - theme: ThemeData( - useMaterial3: true, - textTheme: const TextTheme( - labelLarge: TextStyle(fontSize: 12), - displayMedium: TextStyle(fontSize: 12), - headlineMedium: const TextStyle(fontSize: 12), - titleMedium: TextStyle(fontSize: 12), - bodyLarge: TextStyle(fontSize: 14), - bodyMedium: TextStyle(fontSize: 12))), - // showPerformanceOverlay: true, - home: const Scaffold( - backgroundColor: Color(0x00000000), body: ExampleWidget())); - } -} - -class ExampleWidget extends StatefulWidget { - const ExampleWidget({super.key}); - - @override - State createState() { - return ExampleWidgetState(); - } -} - -enum MenuType { controller, assets, camera, misc } - -class ExampleWidgetState extends State { - ThermionViewer? _viewer; - - EdgeInsets _viewportMargin = EdgeInsets.zero; - - // these are all the options that can be set via the menu - // we store them here - static bool rendering = false; - static bool recording = false; - static int framerate = 60; - static bool postProcessing = false; - static bool antiAliasingMsaa = false; - static bool antiAliasingTaa = false; - static bool antiAliasingFxaa = false; - static bool frustumCulling = true; - - static double zoomSpeed = 0.01; - static double orbitSpeedX = 0.01; - static double orbitSpeedY = 0.01; - - static bool hasSkybox = false; - static bool coneHidden = false; - - static bool loop = false; - static final showProjectionMatrices = ValueNotifier(false); - - late StreamSubscription _listener; - - @override - void initState() { - super.initState(); - } - - @override - void dispose() { - super.dispose(); - _listener.cancel(); - } - - EntityTransformController? _transformController; - - final _sharedFocusNode = FocusNode(); - - @override - Widget build(BuildContext context) { - return Stack(fit: StackFit.expand, children: [ - if (_viewer != null) - Positioned.fill( - child: ExampleViewport( - viewer: _viewer!, - entityTransformController: _transformController, - padding: _viewportMargin, - keyboardFocusNode: _sharedFocusNode), - ), - Positioned( - bottom: 30, - left: 0, - right: 10, - height: 30, - child: Container( - height: 30, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(30), - color: Colors.white.withOpacity(0.25), - ), - padding: const EdgeInsets.symmetric(horizontal: 10), - child: - Row(crossAxisAlignment: CrossAxisAlignment.center, children: [ - ViewerMenu( - sharedFocusNode: _sharedFocusNode, - viewer: _viewer, - onToggleViewport: () { - setState(() { - _viewportMargin = (_viewportMargin == EdgeInsets.zero) - ? const EdgeInsets.all(30) - : EdgeInsets.zero; - }); - }, - onViewerDestroyed: () { - setState(() { - _viewer = null; - }); - }, - onViewerCreated: (v) { - setState(() { - _viewer = v; - }); - }), - SceneMenu( - sharedFocusNode: _sharedFocusNode, - controller: _viewer, - ), - GestureDetector( - onTap: () async { - await _viewer! - .loadGlb('assets/shapes/shapes.glb', numInstances: 1); - }, - child: Container( - color: Colors.transparent, - child: const Text("shapes.glb"))), - const SizedBox(width: 5), - GestureDetector( - onTap: () async { - await _viewer!.loadGlb('assets/1.glb'); - }, - child: Container( - color: Colors.transparent, child: const Text("1.glb"))), - const SizedBox(width: 5), - GestureDetector( - onTap: () async { - await _viewer!.loadGlb('assets/2.glb'); - }, - child: Container( - color: Colors.transparent, child: const Text("2.glb"))), - const SizedBox(width: 5), - GestureDetector( - onTap: () async { - await _viewer!.loadGlb('assets/3.glb'); - }, - child: Container( - color: Colors.transparent, child: const Text("3.glb"))), - Expanded(child: Container()), - ]))), - if (_viewer != null) ...[ - Positioned( - top: 10, - left: 10, - width: 200, - height: 200, - child: Container(child: EntityListWidget(controller: _viewer!))), - // Padding( - // padding: const EdgeInsets.only(top: 10, left: 20, right: 20), - // child: ValueListenableBuilder( - // valueListenable: showProjectionMatrices, - // builder: (ctx, value, child) => CameraMatrixOverlay( - // controller: _viewer!, showProjectionMatrices: value)), - // ), - // Align( - // alignment: Alignment.topRight, - // child: PickerResultWidget(controller: _viewer!), - // ) - ] - ]); - } -} diff --git a/examples/flutter/example/lib/menus/asset_submenu.dart b/examples/flutter/example/lib/menus/asset_submenu.dart deleted file mode 100644 index 78705f9c..00000000 --- a/examples/flutter/example/lib/menus/asset_submenu.dart +++ /dev/null @@ -1,263 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; -import 'package:thermion_flutter/thermion_flutter.dart'; -import 'package:animation_tools_dart/animation_tools_dart.dart'; -import 'package:thermion_flutter_example/main.dart'; -import 'package:vector_math/vector_math_64.dart' as v; -import 'package:thermion_dart/thermion_dart/thermion_viewer.dart'; - -class AssetSubmenu extends StatefulWidget { - final ThermionViewer viewer; - const AssetSubmenu({super.key, required this.viewer}); - - @override - State createState() => _AssetSubmenuState(); -} - -class _AssetSubmenuState extends State { - @override - void initState() { - super.initState(); - } - - Widget _shapesSubmenu() { - var children = [ - MenuItemButton( - closeOnActivate: false, - onPressed: () async { - var entity = await widget.viewer.getChildEntity( - widget.viewer.scene.listEntities().last, "Cylinder"); - await showDialog( - context: context, - builder: (BuildContext context) { - return Center( - child: Container( - color: Colors.white, child: Text(entity.toString()))); - }); - }, - child: const Text('Find Cylinder entity by name')), - MenuItemButton( - onPressed: () async { - widget.viewer.setPosition( - widget.viewer.scene.listEntities().last, - 1.0, - 1.0, - -1.0); - }, - child: const Text('Set position to 1, 1, -1'), - ), - MenuItemButton( - onPressed: () async { - final color = Colors.purple; - widget.viewer.setMaterialColor( - widget.viewer.scene.listEntities().last, - "Cone", - 0, - color.red / 255.0, - color.green / 255.0, - color.blue / 255.0, - 1.0); - }, - child: const Text("Set cone material color to purple")), - ]; - - return SubmenuButton(menuChildren: children, child: const Text("Shapes")); - } - - Widget _geometrySubmenu() { - return SubmenuButton( - menuChildren: [ - MenuItemButton( - onPressed: () async { - var verts = [ - -1.0, - 0.0, - -1.0, - -1.0, - 0.0, - 1.0, - 1.0, - 0.0, - 1.0, - 1.0, - 0.0, - -1.0, - ]; - var indices = [0, 1, 2, 2, 3, 0]; - var geom = await widget.viewer.createGeometry( - verts, indices, - materialPath: "asset://assets/solidcolor.filamat"); - }, - child: const Text("Quad")), - MenuItemButton( - onPressed: () async { - await widget.viewer.createGeometry([ - 0, - 0, - 0, - 1, - 0, - 0, - ], [ - 0, - 1 - ], primitiveType: PrimitiveType.LINES); - }, - child: const Text("Line")) - ], - child: const Text("Custom Geometry"), - ); - } - - @override - Widget build(BuildContext context) { - return SubmenuButton( - menuChildren: [ - _shapesSubmenu(), - _geometrySubmenu(), - MenuItemButton( - onPressed: () async { - await widget.viewer.addLight( - LightType.DIRECTIONAL, 6500, 100000, 0, 1, 0, 0, -1, 0); - }, - child: const Text("Add directional light"), - ), - MenuItemButton( - onPressed: () async { - await widget.viewer.addLight( - LightType.POINT, 6500, 100000, 0, 1, 0, 0, -1, 0, - falloffRadius: 1.0); - }, - child: const Text("Add point light"), - ), - MenuItemButton( - onPressed: () async { - await widget.viewer.addLight( - LightType.SPOT, 6500, 1000000, 0, 0, 0, 0, 1, 0, - spotLightConeInner: 0.1, - spotLightConeOuter: 0.4, - falloffRadius: 100.0); - }, - child: const Text("Add spot light"), - ), - MenuItemButton( - onPressed: () async { - await widget.viewer.clearLights(); - }, - child: const Text("Clear lights"), - ), - MenuItemButton( - onPressed: () { - final color = const Color(0xAA73C9FA); - widget.viewer.setBackgroundColor(color.red / 255.0, - color.green / 255.0, color.blue / 255.0, 1.0); - }, - child: const Text("Set background color")), - MenuItemButton( - onPressed: () { - widget.viewer - .setBackgroundImage('assets/background.ktx'); - }, - child: const Text("Load background image")), - MenuItemButton( - onPressed: () { - widget.viewer.setBackgroundImage( - 'assets/background.ktx', - fillHeight: true); - }, - child: const Text("Load background image (fill height)")), - MenuItemButton( - onPressed: () { - if (ExampleWidgetState.hasSkybox) { - widget.viewer.removeSkybox(); - } else { - widget.viewer - .loadSkybox('assets/default_env/default_env_skybox.ktx'); - } - ExampleWidgetState.hasSkybox = !ExampleWidgetState.hasSkybox; - }, - child: Text(ExampleWidgetState.hasSkybox - ? 'Remove skybox' - : 'Load skybox')), - MenuItemButton( - onPressed: () { - widget.viewer - .loadIbl('assets/default_env/default_env_ibl.ktx'); - }, - child: const Text('Load IBL')), - MenuItemButton( - onPressed: () { - widget.viewer.removeIbl(); - }, - child: const Text('Remove IBL')), - MenuItemButton( - onPressed: () async { - await widget.viewer.clearEntities(); - }, - child: const Text('Clear assets')), - ], - child: const Text("Assets"), - ); - } -} - -// _item(() async { -// var frameData = Float32List.fromList( -// List.generate(120, (i) => i / 120).expand((x) { -// var vals = List.filled(7, x); -// vals[3] = 1.0; -// // vals[4] = 0; -// vals[5] = 0; -// vals[6] = 0; -// return vals; -// }).toList()); - -// widget.controller!.setBoneAnimation( -// _shapes!, -// BoneAnimationData( -// "Bone.001", ["Cube.001"], frameData, 1000.0 / 60.0)); -// // , -// // "Bone.001", -// // "Cube.001", -// // BoneTransform([Vec3(x: 0, y: 0.0, z: 0.0)], -// // [Quaternion(x: 1, y: 1, z: 1, w: 1)])); -// }, 'construct bone animation'), - -// _item(() async { -// var morphs = await widget.controller! -// .getMorphTargetNames(_shapes!, "Cylinder"); -// final animation = AnimationBuilder( -// availableMorphs: morphs, -// framerate: 30, -// meshName: "Cylinder") -// .setDuration(4) -// .setMorphTargets(["Key 1", "Key 2"]) -// .interpolateMorphWeights(0, 4, 0, 1) -// .build(); -// widget.controller!.setMorphAnimationData(_shapes!, animation); -// }, "animate cylinder morph weights #1 and #2"), -// _item(() async { -// var morphs = await widget.controller! -// .getMorphTargetNames(_shapes!, "Cylinder"); -// final animation = AnimationBuilder( -// availableMorphs: morphs, -// framerate: 30, -// meshName: "Cylinder") -// .setDuration(4) -// .setMorphTargets(["Key 3", "Key 4"]) -// .interpolateMorphWeights(0, 4, 0, 1) -// .build(); -// widget.controller!.setMorphAnimationData(_shapes!, animation); -// }, "animate cylinder morph weights #3 and #4"), -// _item(() async { -// var morphs = await widget.controller! -// .getMorphTargetNames(_shapes!, "Cube"); -// final animation = AnimationBuilder( -// availableMorphs: morphs, framerate: 30, meshName: "Cube") -// .setDuration(4) -// .setMorphTargets(["Key 1", "Key 2"]) -// .interpolateMorphWeights(0, 4, 0, 1) -// .build(); -// widget.controller!.setMorphAnimationData(_shapes!, animation); -// }, "animate shapes morph weights #1 and #2"), diff --git a/examples/flutter/example/lib/menus/camera_submenu.dart b/examples/flutter/example/lib/menus/camera_submenu.dart deleted file mode 100644 index 30033684..00000000 --- a/examples/flutter/example/lib/menus/camera_submenu.dart +++ /dev/null @@ -1,224 +0,0 @@ -import 'dart:async'; -import 'dart:math'; - -import 'package:flutter/material.dart'; -import 'package:vector_math/vector_math_64.dart' as v; -import 'package:thermion_flutter/thermion_flutter.dart'; -import 'package:thermion_dart/thermion_dart/thermion_viewer.dart'; -import 'package:thermion_flutter_example/main.dart'; - -class CameraSubmenu extends StatefulWidget { - final ThermionViewer viewer; - const CameraSubmenu({super.key, required this.viewer}); - - @override - State createState() => _CameraSubmenuState(); -} - -class _CameraSubmenuState extends State { - double? _near; - double? _far; - - @override - void initState() { - super.initState(); - widget.viewer.initialized.then((_) { - widget.viewer.getCameraCullingNear().then((v) { - _near = v; - widget.viewer.getCameraCullingFar().then((v) { - _far = v; - setState(() {}); - }); - }); - }); - } - - final _menuController = MenuController(); - - List _cameraMenu() { - return [ - MenuItemButton( - closeOnActivate: false, - onPressed: () async { - ExampleWidgetState.showProjectionMatrices.value = - !ExampleWidgetState.showProjectionMatrices.value; - print("Set to ${ExampleWidgetState.showProjectionMatrices}"); - }, - child: Text( - '${ExampleWidgetState.showProjectionMatrices.value ? "Hide" : "Display"} camera frustum', - style: TextStyle( - fontWeight: ExampleWidgetState.showProjectionMatrices.value - ? FontWeight.bold - : FontWeight.normal), - ), - ), - SubmenuButton( - menuChildren: [1.0, 7.0, 14.0, 28.0, 56.0] - .map((v) => MenuItemButton( - onPressed: () { - widget.viewer.setCameraFocalLength(v); - }, - child: Text( - v.toStringAsFixed(2), - ), - )) - .toList(), - child: const Text("Set camera focal length")), - SubmenuButton( - menuChildren: [0.05, 0.1, 1.0, 10.0, 100.0] - .map((v) => MenuItemButton( - onPressed: () { - _near = v; - print("Setting camera culling to $_near $_far!"); - - widget.viewer.setCameraCulling(_near!, _far!); - }, - child: Text( - v.toStringAsFixed(2), - ), - )) - .toList(), - child: const Text("Set near")), - SubmenuButton( - menuChildren: [5.0, 50.0, 500.0, 1000.0, 100000.0] - .map((v) => MenuItemButton( - onPressed: () { - _far = v; - print("Setting camera culling to $_near! $_far"); - widget.viewer.setCameraCulling(_near!, _far!); - }, - child: Text( - v.toStringAsFixed(2), - ), - )) - .toList(), - child: const Text("Set far")), - MenuItemButton( - onPressed: () async { - widget.viewer.setCameraPosition(1.0, 1.0, -1.0); - }, - child: const Text('Set position to 1, 1, -1 (leave rotation as-is)'), - ), - MenuItemButton( - onPressed: () async { - widget.viewer.setCameraPosition(0.0, 0.0, 0.0); - widget.viewer.setCameraRotation( - v.Quaternion.axisAngle(v.Vector3(0, 0.0, 1.0), 0.0)); - }, - child: const Text('Move to 0,0,0, facing towards 0,0,-1'), - ), - MenuItemButton( - onPressed: () { - widget.viewer.setCameraRotation( - v.Quaternion.axisAngle(v.Vector3(0, 1, 0), pi / 4)); - }, - child: const Text("Rotate camera 45 degrees around y axis"), - ), - MenuItemButton( - onPressed: () { - ExampleWidgetState.frustumCulling = - !ExampleWidgetState.frustumCulling; - widget.viewer - .setViewFrustumCulling(ExampleWidgetState.frustumCulling); - }, - child: Text( - "${ExampleWidgetState.frustumCulling ? "Disable" : "Enable"} frustum culling"), - ), - MenuItemButton( - closeOnActivate: false, - onPressed: () async { - var projMatrix = - await widget.viewer.getCameraProjectionMatrix(); - await showDialog( - context: context, - builder: (ctx) { - return Center( - child: Container( - height: 100, - width: 300, - color: Colors.white, - child: Text(projMatrix.storage - .map((v) => v.toStringAsFixed(2)) - .join(",")))); - }); - }, - child: const Text("Get projection matrix")), - SubmenuButton( - menuChildren: ManipulatorMode.values.map((mm) { - return MenuItemButton( - onPressed: () { - widget.viewer.setCameraManipulatorOptions( - mode: mm, - orbitSpeedX: ExampleWidgetState.orbitSpeedX, - orbitSpeedY: ExampleWidgetState.orbitSpeedY, - zoomSpeed: ExampleWidgetState.zoomSpeed); - }, - child: Text( - mm.name, - style: TextStyle( - // fontWeight: ExampleWidgetState.cameraManipulatorMode == mm - // ? FontWeight.bold - // : FontWeight.normal - ), - ), - ); - }).toList(), - child: const Text("Manipulator mode")), - SubmenuButton( - menuChildren: [0.01, 0.1, 1.0, 10.0, 100.0].map((speed) { - return MenuItemButton( - onPressed: () { - ExampleWidgetState.zoomSpeed = speed; - widget.viewer.setCameraManipulatorOptions( - orbitSpeedX: ExampleWidgetState.orbitSpeedX, - orbitSpeedY: ExampleWidgetState.orbitSpeedY, - zoomSpeed: ExampleWidgetState.zoomSpeed); - }, - child: Text( - speed.toString(), - style: TextStyle( - fontWeight: - (speed - ExampleWidgetState.zoomSpeed).abs() < 0.0001 - ? FontWeight.bold - : FontWeight.normal), - ), - ); - }).toList(), - child: const Text("Zoom speed")), - SubmenuButton( - menuChildren: [0.001, 0.01, 0.1, 1.0].map((speed) { - return MenuItemButton( - onPressed: () { - ExampleWidgetState.orbitSpeedX = speed; - ExampleWidgetState.orbitSpeedY = speed; - widget.viewer.setCameraManipulatorOptions( - orbitSpeedX: ExampleWidgetState.orbitSpeedX, - orbitSpeedY: ExampleWidgetState.orbitSpeedY, - zoomSpeed: ExampleWidgetState.zoomSpeed); - }, - child: Text( - speed.toString(), - style: TextStyle( - fontWeight: - (speed - ExampleWidgetState.orbitSpeedX).abs() < 0.0001 - ? FontWeight.bold - : FontWeight.normal), - ), - ); - }).toList(), - child: const Text("Orbit speed (X & Y)")) - ]; - } - - @override - Widget build(BuildContext context) { - // if (_near == null || _far == null) { - // return Container(); - // } - return SubmenuButton( - controller: _menuController, - menuChildren: _cameraMenu(), - child: const Text("Camera"), - ); - } -} diff --git a/examples/flutter/example/lib/menus/controller_menu.dart b/examples/flutter/example/lib/menus/controller_menu.dart deleted file mode 100644 index 08bd89d4..00000000 --- a/examples/flutter/example/lib/menus/controller_menu.dart +++ /dev/null @@ -1,107 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; - -import 'package:thermion_flutter/thermion_flutter.dart'; - -class ViewerMenu extends StatefulWidget { - final ThermionViewer? viewer; - final void Function() onToggleViewport; - final void Function(ThermionViewer viewer) onViewerCreated; - final void Function() onViewerDestroyed; - final FocusNode sharedFocusNode; - - ViewerMenu( - { - required this.viewer, - required this.onViewerCreated, - required this.onViewerDestroyed, - required this.sharedFocusNode, - required this.onToggleViewport}); - - @override - State createState() => _ViewerMenuState(); -} - -class _ViewerMenuState extends State { - void _createViewer({String? uberArchivePath}) async { - var viewer = await ThermionFlutterPlugin.createViewer( - uberArchivePath: uberArchivePath); - await viewer.initialized; - widget.onViewerCreated(viewer); - } - - @override - void initState() { - super.initState(); - } - - @override - void didUpdateWidget(ViewerMenu oldWidget) { - super.didUpdateWidget(oldWidget); - } - - bool _initialized = false; - @override - Widget build(BuildContext context) { - var items = []; - if (!_initialized) { - items.addAll([ - MenuItemButton( - child: - const Text("Create ThermionFlutterPlugin (default ubershader)"), - onPressed: () { - _createViewer(); - }, - ), - MenuItemButton( - child: const Text( - "Create ThermionFlutterPlugin (custom ubershader - lit opaque only)"), - onPressed: () { - _createViewer( - uberArchivePath: Platform.isWindows - ? "assets/lit_opaque_32.uberz" - : Platform.isMacOS - ? "assets/lit_opaque_43.uberz" - : Platform.isIOS - ? "assets/lit_opaque_43.uberz" - : "assets/lit_opaque_43_gles.uberz"); - }, - ) - ]); - } else { - items.addAll([ - MenuItemButton( - child: const Text("Destroy viewer"), - onPressed: () async { - widget.viewer!.dispose(); - widget.onViewerDestroyed(); - setState(() {}); - }, - ) - ]); - } - return MenuAnchor( - childFocusNode: widget.sharedFocusNode, - menuChildren: items + - [ - TextButton( - child: const Text("Toggle viewport size"), - onPressed: widget.onToggleViewport, - ) - ], - builder: (BuildContext context, MenuController controller, Widget? child) { - return TextButton( - onPressed: () { - if (controller.isOpen) { - controller.close(); - } else { - controller.open(); - } - }, - child: const Text("Viewer / Viewer"), - ); - }); - } -} diff --git a/examples/flutter/example/lib/menus/rendering_submenu.dart b/examples/flutter/example/lib/menus/rendering_submenu.dart deleted file mode 100644 index c075c0ad..00000000 --- a/examples/flutter/example/lib/menus/rendering_submenu.dart +++ /dev/null @@ -1,95 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:thermion_flutter/thermion_flutter.dart'; -import 'package:thermion_flutter_example/main.dart'; -import 'package:thermion_dart/thermion_dart/thermion_viewer.dart'; - -class RenderingSubmenu extends StatefulWidget { - final ThermionViewer viewer; - - const RenderingSubmenu({super.key, required this.viewer}); - - @override - State createState() => _RenderingSubmenuState(); -} - -class _RenderingSubmenuState extends State { - @override - Widget build(BuildContext context) { - return SubmenuButton( - menuChildren: [ - MenuItemButton( - onPressed: () { - widget.viewer.render(); - }, - child: const Text("Render single frame"), - ), - MenuItemButton( - onPressed: () { - ExampleWidgetState.rendering = !ExampleWidgetState.rendering; - widget.viewer.setRendering(ExampleWidgetState.rendering); - }, - child: Text( - "Set continuous rendering to ${!ExampleWidgetState.rendering}"), - ), - MenuItemButton( - onPressed: () { - ExampleWidgetState.framerate = - ExampleWidgetState.framerate == 60 ? 30 : 60; - widget.viewer.setFrameRate(ExampleWidgetState.framerate); - }, - child: Text( - "Toggle framerate (currently ${ExampleWidgetState.framerate}) "), - ), - MenuItemButton( - onPressed: () { - widget.viewer.setToneMapping(ToneMapper.LINEAR); - }, - child: const Text("Set tone mapping to linear"), - ), - MenuItemButton( - onPressed: () { - ExampleWidgetState.postProcessing = - !ExampleWidgetState.postProcessing; - widget.viewer - .setPostProcessing(ExampleWidgetState.postProcessing); - }, - child: Text( - "${ExampleWidgetState.postProcessing ? "Disable" : "Enable"} postprocessing"), - ), - MenuItemButton( - onPressed: () { - ExampleWidgetState.antiAliasingMsaa = - !ExampleWidgetState.antiAliasingMsaa; - widget.viewer.setAntiAliasing( - ExampleWidgetState.antiAliasingMsaa, - ExampleWidgetState.antiAliasingFxaa, - ExampleWidgetState.antiAliasingTaa); - }, - child: Text( - "${ExampleWidgetState.antiAliasingMsaa ? "Disable" : "Enable"} MSAA antialiasing"), - ), - MenuItemButton( - onPressed: () { - ExampleWidgetState.antiAliasingFxaa = - !ExampleWidgetState.antiAliasingFxaa; - widget.viewer.setAntiAliasing( - ExampleWidgetState.antiAliasingMsaa, - ExampleWidgetState.antiAliasingFxaa, - ExampleWidgetState.antiAliasingTaa); - }, - child: Text( - "${ExampleWidgetState.antiAliasingFxaa ? "Disable" : "Enable"} FXAA antialiasing"), - ), - MenuItemButton( - onPressed: () { - ExampleWidgetState.recording = !ExampleWidgetState.recording; - widget.viewer.setRecording(ExampleWidgetState.recording); - }, - child: Text( - "Turn recording ${ExampleWidgetState.recording ? "OFF" : "ON"}) "), - ), - ], - child: const Text("Rendering"), - ); - } -} diff --git a/examples/flutter/example/lib/menus/scene_menu.dart b/examples/flutter/example/lib/menus/scene_menu.dart deleted file mode 100644 index 3a5e1d9b..00000000 --- a/examples/flutter/example/lib/menus/scene_menu.dart +++ /dev/null @@ -1,62 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'package:thermion_flutter/thermion_flutter.dart'; -import 'package:thermion_flutter_example/menus/asset_submenu.dart'; -import 'package:thermion_flutter_example/menus/camera_submenu.dart'; -import 'package:thermion_flutter_example/menus/rendering_submenu.dart'; - -class SceneMenu extends StatefulWidget { - final ThermionViewer? controller; - final FocusNode sharedFocusNode; - - const SceneMenu( - {super.key, required this.controller, required this.sharedFocusNode}); - - @override - State createState() { - return _SceneMenuState(); - } -} - -class _SceneMenuState extends State { - @override - void didUpdateWidget(SceneMenu oldWidget) { - super.didUpdateWidget(oldWidget); - if (widget.controller != null && - (widget.controller != oldWidget.controller)) { - setState(() {}); - } - } - - @override - Widget build(BuildContext context) { - return MenuAnchor( - onClose: () {}, - childFocusNode: widget.sharedFocusNode, - menuChildren: widget.controller == null - ? [] - : [ - RenderingSubmenu( - viewer: widget.controller!, - ), - AssetSubmenu(viewer: widget.controller!), - CameraSubmenu( - viewer: widget.controller!, - ), - ], - builder: - (BuildContext context, MenuController controller, Widget? child) { - return TextButton( - onPressed: () { - if (controller.isOpen) { - controller.close(); - } else { - controller.open(); - } - }, - child: const Text("Scene"), - ); - }, - ); - } -} diff --git a/examples/flutter/example/lib/picker_result_widget.dart b/examples/flutter/example/lib/picker_result_widget.dart deleted file mode 100644 index 692c4fc6..00000000 --- a/examples/flutter/example/lib/picker_result_widget.dart +++ /dev/null @@ -1,20 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:thermion_dart/thermion_dart/thermion_viewer.dart'; - -class PickerResultWidget extends StatelessWidget { - final ThermionViewer controller; - - const PickerResultWidget({required this.controller, super.key}); - - @override - Widget build(BuildContext context) { - return StreamBuilder( - stream: controller.pickResult.map((result) { - return controller.getNameForEntity(result.entity); - }), - builder: (ctx, snapshot) => snapshot.data == null - ? Container() - : Text(snapshot.data!, - style: const TextStyle(color: Colors.green, fontSize: 24))); - } -} diff --git a/examples/flutter/example/linux/.gitignore b/examples/flutter/example/linux/.gitignore deleted file mode 100644 index d3896c98..00000000 --- a/examples/flutter/example/linux/.gitignore +++ /dev/null @@ -1 +0,0 @@ -flutter/ephemeral diff --git a/examples/flutter/example/linux/CMakeLists.txt b/examples/flutter/example/linux/CMakeLists.txt deleted file mode 100644 index 8e014c4d..00000000 --- a/examples/flutter/example/linux/CMakeLists.txt +++ /dev/null @@ -1,141 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.10) -project(runner LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "thermion_flutter_example") -# The unique GTK application identifier for this application. See: -# https://wiki.gnome.org/HowDoI/ChooseApplicationID -set(APPLICATION_ID "app.polyvox.thermion_flutter") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# Load bundled libraries from the lib/ directory relative to the binary. -set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") - -# Root filesystem for cross-building. -if(FLUTTER_TARGET_PLATFORM_SYSROOT) - set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) - set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -endif() - -# Define build configuration options. -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") -endif() - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_14) - target_compile_options(${TARGET} PRIVATE -Wall -Werror -Wno-unused-function -Wno-unused-variable) - target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") - target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) - -add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") - -# Define the application target. To change its name, change BINARY_NAME above, -# not the value here, or `flutter run` will no longer work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} - "main.cc" - "my_application.cc" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add dependency libraries. Add any application-specific dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter) -target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) - -# Only the install-generated bundle's copy of the executable will launch -# correctly, since the resources must in the right relative locations. To avoid -# people trying to run the unbundled copy, put it in a subdirectory instead of -# the default top-level location. -set_target_properties(${BINARY_NAME} - PROPERTIES - RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" -) - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - -include_directories(../../ios/include) - - - -# === Installation === -# By default, "installing" just makes a relocatable bundle in the build -# directory. -set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -# Start with a clean build bundle directory every time. -install(CODE " - file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") - " COMPONENT Runtime) - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) - install(FILES "${bundled_library}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endforeach(bundled_library) - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") - install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() diff --git a/examples/flutter/example/linux/flutter/CMakeLists.txt b/examples/flutter/example/linux/flutter/CMakeLists.txt deleted file mode 100644 index d5bd0164..00000000 --- a/examples/flutter/example/linux/flutter/CMakeLists.txt +++ /dev/null @@ -1,88 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.10) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. - -# Serves the same purpose as list(TRANSFORM ... PREPEND ...), -# which isn't available in 3.10. -function(list_prepend LIST_NAME PREFIX) - set(NEW_LIST "") - foreach(element ${${LIST_NAME}}) - list(APPEND NEW_LIST "${PREFIX}${element}") - endforeach(element) - set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) -endfunction() - -# === Flutter Library === -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) -pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) -pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) - -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "fl_basic_message_channel.h" - "fl_binary_codec.h" - "fl_binary_messenger.h" - "fl_dart_project.h" - "fl_engine.h" - "fl_json_message_codec.h" - "fl_json_method_codec.h" - "fl_message_codec.h" - "fl_method_call.h" - "fl_method_channel.h" - "fl_method_codec.h" - "fl_method_response.h" - "fl_plugin_registrar.h" - "fl_plugin_registry.h" - "fl_standard_message_codec.h" - "fl_standard_method_codec.h" - "fl_string_codec.h" - "fl_value.h" - "fl_view.h" - "flutter_linux.h" -) -list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") -target_link_libraries(flutter INTERFACE - PkgConfig::GTK - PkgConfig::GLIB - PkgConfig::GIO -) -add_dependencies(flutter flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CMAKE_CURRENT_BINARY_DIR}/_phony_ - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" - ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} -) diff --git a/examples/flutter/example/linux/flutter/generated_plugin_registrant.cc b/examples/flutter/example/linux/flutter/generated_plugin_registrant.cc deleted file mode 100644 index 01193c10..00000000 --- a/examples/flutter/example/linux/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - -#include - -void fl_register_plugins(FlPluginRegistry* registry) { - g_autoptr(FlPluginRegistrar) thermion_flutter_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "ThermionFlutterPlugin"); - thermion_flutter_plugin_register_with_registrar(thermion_flutter_registrar); -} diff --git a/examples/flutter/example/linux/flutter/generated_plugin_registrant.h b/examples/flutter/example/linux/flutter/generated_plugin_registrant.h deleted file mode 100644 index e0f0a47b..00000000 --- a/examples/flutter/example/linux/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void fl_register_plugins(FlPluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/examples/flutter/example/linux/flutter/generated_plugins.cmake b/examples/flutter/example/linux/flutter/generated_plugins.cmake deleted file mode 100644 index 274b5f60..00000000 --- a/examples/flutter/example/linux/flutter/generated_plugins.cmake +++ /dev/null @@ -1,24 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST - thermion_flutter -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/examples/flutter/example/linux/main.cc b/examples/flutter/example/linux/main.cc deleted file mode 100644 index e7c5c543..00000000 --- a/examples/flutter/example/linux/main.cc +++ /dev/null @@ -1,6 +0,0 @@ -#include "my_application.h" - -int main(int argc, char** argv) { - g_autoptr(MyApplication) app = my_application_new(); - return g_application_run(G_APPLICATION(app), argc, argv); -} diff --git a/examples/flutter/example/linux/my_application.cc b/examples/flutter/example/linux/my_application.cc deleted file mode 100644 index 75722485..00000000 --- a/examples/flutter/example/linux/my_application.cc +++ /dev/null @@ -1,104 +0,0 @@ -#include "my_application.h" - -#include -#ifdef GDK_WINDOWING_X11 -#include -#endif - -#include "flutter/generated_plugin_registrant.h" - -struct _MyApplication { - GtkApplication parent_instance; - char** dart_entrypoint_arguments; -}; - -G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) - -// Implements GApplication::activate. -static void my_application_activate(GApplication* application) { - MyApplication* self = MY_APPLICATION(application); - GtkWindow* window = - GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); - - // Use a header bar when running in GNOME as this is the common style used - // by applications and is the setup most users will be using (e.g. Ubuntu - // desktop). - // If running on X and not using GNOME then just use a traditional title bar - // in case the window manager does more exotic layout, e.g. tiling. - // If running on Wayland assume the header bar will work (may need changing - // if future cases occur). - gboolean use_header_bar = TRUE; -#ifdef GDK_WINDOWING_X11 - GdkScreen* screen = gtk_window_get_screen(window); - if (GDK_IS_X11_SCREEN(screen)) { - const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); - if (g_strcmp0(wm_name, "GNOME Shell") != 0) { - use_header_bar = FALSE; - } - } -#endif - if (use_header_bar) { - GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); - gtk_widget_show(GTK_WIDGET(header_bar)); - gtk_header_bar_set_title(header_bar, "thermion_flutter_example"); - gtk_header_bar_set_show_close_button(header_bar, TRUE); - gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); - } else { - gtk_window_set_title(window, "thermion_flutter_example"); - } - - gtk_window_set_default_size(window, 1280, 720); - gtk_widget_show(GTK_WIDGET(window)); - - g_autoptr(FlDartProject) project = fl_dart_project_new(); - fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); - - FlView* view = fl_view_new(project); - gtk_widget_show(GTK_WIDGET(view)); - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); - - fl_register_plugins(FL_PLUGIN_REGISTRY(view)); - - gtk_widget_grab_focus(GTK_WIDGET(view)); -} - -// Implements GApplication::local_command_line. -static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { - MyApplication* self = MY_APPLICATION(application); - // Strip out the first argument as it is the binary name. - self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); - - g_autoptr(GError) error = nullptr; - if (!g_application_register(application, nullptr, &error)) { - g_warning("Failed to register: %s", error->message); - *exit_status = 1; - return TRUE; - } - - g_application_activate(application); - *exit_status = 0; - - return TRUE; -} - -// Implements GObject::dispose. -static void my_application_dispose(GObject* object) { - MyApplication* self = MY_APPLICATION(object); - g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); - G_OBJECT_CLASS(my_application_parent_class)->dispose(object); -} - -static void my_application_class_init(MyApplicationClass* klass) { - G_APPLICATION_CLASS(klass)->activate = my_application_activate; - G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; - G_OBJECT_CLASS(klass)->dispose = my_application_dispose; -} - -static void my_application_init(MyApplication* self) {} - -MyApplication* my_application_new() { - return MY_APPLICATION(g_object_new(my_application_get_type(), - "application-id", APPLICATION_ID, - "flags", G_APPLICATION_NON_UNIQUE, - nullptr)); -} diff --git a/examples/flutter/example/linux/my_application.h b/examples/flutter/example/linux/my_application.h deleted file mode 100644 index 72271d5e..00000000 --- a/examples/flutter/example/linux/my_application.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef FLUTTER_MY_APPLICATION_H_ -#define FLUTTER_MY_APPLICATION_H_ - -#include - -G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, - GtkApplication) - -/** - * my_application_new: - * - * Creates a new Flutter-based application. - * - * Returns: a new #MyApplication. - */ -MyApplication* my_application_new(); - -#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/examples/flutter/example/macos/.gitignore b/examples/flutter/example/macos/.gitignore deleted file mode 100644 index 746adbb6..00000000 --- a/examples/flutter/example/macos/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Flutter-related -**/Flutter/ephemeral/ -**/Pods/ - -# Xcode-related -**/dgph -**/xcuserdata/ diff --git a/examples/flutter/example/macos/Flutter/Flutter-Debug.xcconfig b/examples/flutter/example/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index 4b81f9b2..00000000 --- a/examples/flutter/example/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/examples/flutter/example/macos/Flutter/Flutter-Release.xcconfig b/examples/flutter/example/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index 5caa9d15..00000000 --- a/examples/flutter/example/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/examples/flutter/example/macos/Flutter/GeneratedPluginRegistrant.swift b/examples/flutter/example/macos/Flutter/GeneratedPluginRegistrant.swift deleted file mode 100644 index 93683cf5..00000000 --- a/examples/flutter/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// Generated file. Do not edit. -// - -import FlutterMacOS -import Foundation - -import path_provider_foundation -import thermion_flutter - -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) - SwiftThermionFlutterPlugin.register(with: registry.registrar(forPlugin: "SwiftThermionFlutterPlugin")) -} diff --git a/examples/flutter/example/macos/Podfile b/examples/flutter/example/macos/Podfile deleted file mode 100644 index 90de47d4..00000000 --- a/examples/flutter/example/macos/Podfile +++ /dev/null @@ -1,43 +0,0 @@ -platform :osx, '13.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_macos_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/examples/flutter/example/macos/Runner.xcodeproj/project.pbxproj b/examples/flutter/example/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 6eba66ee..00000000 --- a/examples/flutter/example/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,803 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 73983334E7E3D03A0E12661E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8E0CF9C3C7800C07C9845FC /* Pods_RunnerTests.framework */; }; - C522DC3C60A9E9D8A157D709 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A43AAD1E638EA0D1719DBA3 /* Pods_Runner.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC10EC2044A3C60003C045; - remoteInfo = Runner; - }; - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 07D325EB165BDBD20CA1B50D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 5A43AAD1E638EA0D1719DBA3 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 750CFF70D61D26C0BECD5590 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 8A325254C21887E4CBDE8294 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - C29827A08E11D88646BFBE93 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - D8E0CF9C3C7800C07C9845FC /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DEA954DCA916B6FC51B8D22B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - F0328BD31CA3A8DD85456972 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 331C80D2294CF70F00263BE5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 73983334E7E3D03A0E12661E /* Pods_RunnerTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - C522DC3C60A9E9D8A157D709 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 331C80D6294CF71000263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C80D7294CF71000263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 331C80D6294CF71000263BE5 /* RunnerTests */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - A1BEA79574E5550EED38B897 /* Pods */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* example.app */, - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - A1BEA79574E5550EED38B897 /* Pods */ = { - isa = PBXGroup; - children = ( - C29827A08E11D88646BFBE93 /* Pods-Runner.debug.xcconfig */, - F0328BD31CA3A8DD85456972 /* Pods-Runner.release.xcconfig */, - 8A325254C21887E4CBDE8294 /* Pods-Runner.profile.xcconfig */, - DEA954DCA916B6FC51B8D22B /* Pods-RunnerTests.debug.xcconfig */, - 750CFF70D61D26C0BECD5590 /* Pods-RunnerTests.release.xcconfig */, - 07D325EB165BDBD20CA1B50D /* Pods-RunnerTests.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 5A43AAD1E638EA0D1719DBA3 /* Pods_Runner.framework */, - D8E0CF9C3C7800C07C9845FC /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C80D4294CF70F00263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 210FEE2628F42B7BDFED20C4 /* [CP] Check Pods Manifest.lock */, - 331C80D1294CF70F00263BE5 /* Sources */, - 331C80D2294CF70F00263BE5 /* Frameworks */, - 331C80D3294CF70F00263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C80DA294CF71000263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - B67C6085C13299F59758F7CC /* [CP] Check Pods Manifest.lock */, - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - D8E4D2DE64C21B53086793F8 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = YES; - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C80D4294CF70F00263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 33CC10EC2044A3C60003C045; - }; - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 331C80D4294CF70F00263BE5 /* RunnerTests */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C80D3294CF70F00263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 210FEE2628F42B7BDFED20C4 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; - B67C6085C13299F59758F7CC /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - D8E4D2DE64C21B53086793F8 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C80D1294CF70F00263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; - }; - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 331C80DB294CF71000263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DEA954DCA916B6FC51B8D22B /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = app.polyvox.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example"; - }; - name = Debug; - }; - 331C80DC294CF71000263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 750CFF70D61D26C0BECD5590 /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = app.polyvox.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example"; - }; - name = Release; - }; - 331C80DD294CF71000263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 07D325EB165BDBD20CA1B50D /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = app.polyvox.example.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example"; - }; - name = Profile; - }; - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 13.0; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 13.0; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 13.0; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C80DB294CF71000263BE5 /* Debug */, - 331C80DC294CF71000263BE5 /* Release */, - 331C80DD294CF71000263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/examples/flutter/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/flutter/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/examples/flutter/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/examples/flutter/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/examples/flutter/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 15368ecc..00000000 --- a/examples/flutter/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/flutter/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/examples/flutter/example/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/examples/flutter/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/examples/flutter/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/flutter/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/examples/flutter/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/examples/flutter/example/macos/Runner/AppDelegate.swift b/examples/flutter/example/macos/Runner/AppDelegate.swift deleted file mode 100644 index 8e02df28..00000000 --- a/examples/flutter/example/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,9 +0,0 @@ -import Cocoa -import FlutterMacOS - -@main -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } -} diff --git a/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f1..00000000 --- a/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 82b6f9d9a33e198f5747104729e1fcef999772a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY diff --git a/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index 13b35eba55c6dabc3aac36f33d859266c18fa0d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5680 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 diff --git a/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 0a3f5fa40fb3d1e0710331a48de5d256da3f275d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520 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 diff --git a/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/examples/flutter/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 2f1632cfddf3d9dade342351e627a0a75609fb46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/flutter/example/macos/Runner/Configs/AppInfo.xcconfig b/examples/flutter/example/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index 322ba235..00000000 --- a/examples/flutter/example/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = example - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = app.polyvox.example - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2024 app.polyvox. All rights reserved. diff --git a/examples/flutter/example/macos/Runner/Configs/Debug.xcconfig b/examples/flutter/example/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd94..00000000 --- a/examples/flutter/example/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/examples/flutter/example/macos/Runner/Configs/Release.xcconfig b/examples/flutter/example/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f495..00000000 --- a/examples/flutter/example/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/examples/flutter/example/macos/Runner/Configs/Warnings.xcconfig b/examples/flutter/example/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf47..00000000 --- a/examples/flutter/example/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/examples/flutter/example/macos/Runner/DebugProfile.entitlements b/examples/flutter/example/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index dddb8a30..00000000 --- a/examples/flutter/example/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.server - - - diff --git a/examples/flutter/example/macos/Runner/Info.plist b/examples/flutter/example/macos/Runner/Info.plist deleted file mode 100644 index 4789daa6..00000000 --- a/examples/flutter/example/macos/Runner/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/examples/flutter/example/macos/Runner/MainFlutterWindow.swift b/examples/flutter/example/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 3cc05eb2..00000000 --- a/examples/flutter/example/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/examples/flutter/example/macos/Runner/Release.entitlements b/examples/flutter/example/macos/Runner/Release.entitlements deleted file mode 100644 index 852fa1a4..00000000 --- a/examples/flutter/example/macos/Runner/Release.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.security.app-sandbox - - - diff --git a/examples/flutter/example/macos/RunnerTests/RunnerTests.swift b/examples/flutter/example/macos/RunnerTests/RunnerTests.swift deleted file mode 100644 index 61f3bd1f..00000000 --- a/examples/flutter/example/macos/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import Cocoa -import FlutterMacOS -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/examples/flutter/example/pubspec.yaml b/examples/flutter/example/pubspec.yaml deleted file mode 100644 index 2f10f80c..00000000 --- a/examples/flutter/example/pubspec.yaml +++ /dev/null @@ -1,51 +0,0 @@ -name: thermion_flutter_example -description: Demonstrates how to use the thermion_flutter plugin. - -# The following line prevents the package from being accidentally published to -# pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: 'none' # Remove this line if you wish to publish to pub.dev - -environment: - sdk: ">=3.3.0 <4.0.0" - -dependencies: - flutter: - sdk: flutter - path_provider: - thermion_flutter: - path: ../../../thermion_flutter/thermion_flutter - cupertino_icons: ^1.0.2 - web: - -dependency_overrides: - thermion_flutter: - path: ../../../thermion_flutter/thermion_flutter - thermion_flutter_platform_interface: - path: ../../../thermion_flutter/thermion_flutter_platform_interface - thermion_flutter_ffi: - path: ../../../thermion_flutter/thermion_flutter_ffi - thermion_flutter_web: - path: ../../../thermion_flutter/thermion_flutter_web - thermion_dart: - path: ../../../thermion_dart - -dev_dependencies: - flutter_test: - sdk: flutter - integration_test: - sdk: flutter - flutter_lints: ^1.0.0 - crypto: - image_compare: ^1.1.2 - -# The following section is specific to Flutter. -flutter: - uses-material-design: true - assets: - - assets/ - - assets/shapes/ - - assets/default_env/ - - assets/BusterDrone/ - - assets/BusterDrone/textures/ - - assets/FlightHelmet/ - diff --git a/examples/flutter/example/test/widget_test.dart b/examples/flutter/example/test/widget_test.dart deleted file mode 100644 index c0873888..00000000 --- a/examples/flutter/example/test/widget_test.dart +++ /dev/null @@ -1,27 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility that Flutter provides. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:thermion_flutter_example/main.dart'; - -void main() { - testWidgets('Verify Platform version', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that platform version is retrieved. - expect( - find.byWidgetPredicate( - (Widget widget) => - widget is Text && widget.data!.startsWith('Running on:'), - ), - findsOneWidget, - ); - }); -} diff --git a/examples/flutter/example/test_driver/compare_goldens.sh b/examples/flutter/example/test_driver/compare_goldens.sh deleted file mode 100644 index 952ec892..00000000 --- a/examples/flutter/example/test_driver/compare_goldens.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -device=$1 -if [ -z "$device" ]; then - echo "Usage: $0 " - exit 1; -fi - -rm -f integration_test/goldens/{ios,macos,windows,android}/diffs/*.png -flutter drive --driver=test_driver/integration_test.dart -d $1 --target=integration_test/plugin_integration_test.dart diff --git a/examples/flutter/example/test_driver/integration_test.dart b/examples/flutter/example/test_driver/integration_test.dart deleted file mode 100644 index 752a3842..00000000 --- a/examples/flutter/example/test_driver/integration_test.dart +++ /dev/null @@ -1,58 +0,0 @@ -import 'dart:io'; - -import 'package:integration_test/integration_test_driver_extended.dart'; -import 'package:image_compare/image_compare.dart'; - -Future main() async { - await integrationDriver( - onScreenshot: ( - String screenshotName, - List screenshotBytes, [ - Map? args, - ]) async { - final dir = screenshotName.split("/")[0]; - final name = screenshotName.split("/")[1]; - final File golden = await File('integration_test/goldens/$dir/$name.png'); - - if (!golden.existsSync()) { - throw Exception( - "Golden image ${golden.path} doesn't exist yet. Make sure you have run integraton_test_update_goldens.dart first"); - } - - var result = await compareImages( - src1: screenshotBytes, - src2: golden.readAsBytesSync(), - algorithm: ChiSquareDistanceHistogram()); - - print(result); - - // TODO - it would be preferable to use Flutter's GoldenFileComparator here, e.g. - // - // ```var comparator = LocalFileComparator(testImage.uri); - // comparator.compare(imageBytes, golden) - // comparator.getFailureFile(failure, golden, basedir) - // var result = await comparator.compare( - // Uint8List.fromList(screenshotBytes), golden.uri); - // if (!result.passed) { - // for (var key in result.diffs!.keys) { - // var byteData = await result.diffs![key]!.toByteData(); - // File('integration_test/goldens/$dir/diffs/$name.png') - // .writeAsBytesSync( - // byteData!.buffer.asUint8List(byteData!.offsetInBytes)); - // } - // return false; - // }``` - // but this is only available via a Flutter shell which is currently unavailable (this script is run as a plain Dart file I guess). - // let's revisit if/when this changes - // see https://github.com/flutter/flutter/issues/51890 and https://github.com/flutter/flutter/issues/103222 - - if (result > 0.005) { - File('integration_test/goldens/$dir/diffs/$name.png') - .writeAsBytesSync(screenshotBytes); - return false; - } - - return true; - }, - ); -} diff --git a/examples/flutter/example/test_driver/integration_test_update_goldens.dart b/examples/flutter/example/test_driver/integration_test_update_goldens.dart deleted file mode 100644 index e32febe2..00000000 --- a/examples/flutter/example/test_driver/integration_test_update_goldens.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'dart:io'; -import 'package:crypto/crypto.dart'; -import 'package:integration_test/integration_test_driver_extended.dart'; - -Future main() async { - await integrationDriver( - onScreenshot: ( - String screenshotName, - List screenshotBytes, [ - Map? args, - ]) async { - final dir = screenshotName.split("/")[0]; - final name = screenshotName.split("/")[1]; - final File image = await File('integration_test/goldens/$dir/$name.png') - .create(recursive: true); - - image.writeAsBytesSync(screenshotBytes); - - return true; - }, - ); -} diff --git a/examples/flutter/example/test_driver/regenerate_goldens.sh b/examples/flutter/example/test_driver/regenerate_goldens.sh deleted file mode 100644 index b1f06b4f..00000000 --- a/examples/flutter/example/test_driver/regenerate_goldens.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -device=$1 -if [ -z "$device" ]; then - echo "Usage: $0 " - exit 1; -fi -rm -f integration_test/goldens/{ios,macos,windows,android}/*.png -flutter drive --driver=test_driver/integration_test_update_goldens.dart -d $1 --target=integration_test/plugin_integration_test.dart diff --git a/examples/flutter/example/web/favicon.png b/examples/flutter/example/web/favicon.png deleted file mode 100644 index 8aaa46ac1ae21512746f852a42ba87e4165dfdd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM diff --git a/examples/flutter/example/web/icons/Icon-192.png b/examples/flutter/example/web/icons/Icon-192.png deleted file mode 100644 index b749bfef07473333cf1dd31e9eed89862a5d52aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5292 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 diff --git a/examples/flutter/example/web/icons/Icon-512.png b/examples/flutter/example/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48dff1169879ba46840804b412fe02fefd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8252 zcmd5=2T+s!lYZ%-(h(2@5fr2dC?F^$C=i-}R6$UX8af(!je;W5yC_|HmujSgN*6?W z3knF*TL1$|?oD*=zPbBVex*RUIKsL<(&Rj9%^UD2IK3W?2j>D?eWQgvS-HLymHo9%~|N2Q{~j za?*X-{b9JRowv_*Mh|;*-kPFn>PI;r<#kFaxFqbn?aq|PduQg=2Q;~Qc}#z)_T%x9 zE|0!a70`58wjREmAH38H1)#gof)U3g9FZ^ zF7&-0^Hy{4XHWLoC*hOG(dg~2g6&?-wqcpf{ z&3=o8vw7lMi22jCG9RQbv8H}`+}9^zSk`nlR8?Z&G2dlDy$4#+WOlg;VHqzuE=fM@ z?OI6HEJH4&tA?FVG}9>jAnq_^tlw8NbjNhfqk2rQr?h(F&WiKy03Sn=-;ZJRh~JrD zbt)zLbnabttEZ>zUiu`N*u4sfQaLE8-WDn@tHp50uD(^r-}UsUUu)`!Rl1PozAc!a z?uj|2QDQ%oV-jxUJmJycySBINSKdX{kDYRS=+`HgR2GO19fg&lZKyBFbbXhQV~v~L za^U944F1_GtuFXtvDdDNDvp<`fqy);>Vw=ncy!NB85Tw{&sT5&Ox%-p%8fTS;OzlRBwErvO+ROe?{%q-Zge=%Up|D4L#>4K@Ke=x%?*^_^P*KD zgXueMiS63!sEw@fNLB-i^F|@Oib+S4bcy{eu&e}Xvb^(mA!=U=Xr3||IpV~3K zQWzEsUeX_qBe6fky#M zzOJm5b+l;~>=sdp%i}}0h zO?B?i*W;Ndn02Y0GUUPxERG`3Bjtj!NroLoYtyVdLtl?SE*CYpf4|_${ku2s`*_)k zN=a}V8_2R5QANlxsq!1BkT6$4>9=-Ix4As@FSS;1q^#TXPrBsw>hJ}$jZ{kUHoP+H zvoYiR39gX}2OHIBYCa~6ERRPJ#V}RIIZakUmuIoLF*{sO8rAUEB9|+A#C|@kw5>u0 zBd=F!4I)Be8ycH*)X1-VPiZ+Ts8_GB;YW&ZFFUo|Sw|x~ZajLsp+_3gv((Q#N>?Jz zFBf`~p_#^${zhPIIJY~yo!7$-xi2LK%3&RkFg}Ax)3+dFCjGgKv^1;lUzQlPo^E{K zmCnrwJ)NuSaJEmueEPO@(_6h3f5mFffhkU9r8A8(JC5eOkux{gPmx_$Uv&|hyj)gN zd>JP8l2U&81@1Hc>#*su2xd{)T`Yw< zN$dSLUN}dfx)Fu`NcY}TuZ)SdviT{JHaiYgP4~@`x{&h*Hd>c3K_To9BnQi@;tuoL z%PYQo&{|IsM)_>BrF1oB~+`2_uZQ48z9!)mtUR zdfKE+b*w8cPu;F6RYJiYyV;PRBbThqHBEu_(U{(gGtjM}Zi$pL8Whx}<JwE3RM0F8x7%!!s)UJVq|TVd#hf1zVLya$;mYp(^oZQ2>=ZXU1c$}f zm|7kfk>=4KoQoQ!2&SOW5|JP1)%#55C$M(u4%SP~tHa&M+=;YsW=v(Old9L3(j)`u z2?#fK&1vtS?G6aOt@E`gZ9*qCmyvc>Ma@Q8^I4y~f3gs7*d=ATlP>1S zyF=k&6p2;7dn^8?+!wZO5r~B+;@KXFEn^&C=6ma1J7Au6y29iMIxd7#iW%=iUzq&C=$aPLa^Q zncia$@TIy6UT@69=nbty5epP>*fVW@5qbUcb2~Gg75dNd{COFLdiz3}kODn^U*=@E z0*$7u7Rl2u)=%fk4m8EK1ctR!6%Ve`e!O20L$0LkM#f+)n9h^dn{n`T*^~d+l*Qlx z$;JC0P9+en2Wlxjwq#z^a6pdnD6fJM!GV7_%8%c)kc5LZs_G^qvw)&J#6WSp< zmsd~1-(GrgjC56Pdf6#!dt^y8Rg}!#UXf)W%~PeU+kU`FeSZHk)%sFv++#Dujk-~m zFHvVJC}UBn2jN& zs!@nZ?e(iyZPNo`p1i#~wsv9l@#Z|ag3JR>0#u1iW9M1RK1iF6-RbJ4KYg?B`dET9 zyR~DjZ>%_vWYm*Z9_+^~hJ_|SNTzBKx=U0l9 z9x(J96b{`R)UVQ$I`wTJ@$_}`)_DyUNOso6=WOmQKI1e`oyYy1C&%AQU<0-`(ow)1 zT}gYdwWdm4wW6|K)LcfMe&psE0XGhMy&xS`@vLi|1#Za{D6l@#D!?nW87wcscUZgELT{Cz**^;Zb~7 z(~WFRO`~!WvyZAW-8v!6n&j*PLm9NlN}BuUN}@E^TX*4Or#dMMF?V9KBeLSiLO4?B zcE3WNIa-H{ThrlCoN=XjOGk1dT=xwwrmt<1a)mrRzg{35`@C!T?&_;Q4Ce=5=>z^*zE_c(0*vWo2_#TD<2)pLXV$FlwP}Ik74IdDQU@yhkCr5h zn5aa>B7PWy5NQ!vf7@p_qtC*{dZ8zLS;JetPkHi>IvPjtJ#ThGQD|Lq#@vE2xdl%`x4A8xOln}BiQ92Po zW;0%A?I5CQ_O`@Ad=`2BLPPbBuPUp@Hb%a_OOI}y{Rwa<#h z5^6M}s7VzE)2&I*33pA>e71d78QpF>sNK;?lj^Kl#wU7G++`N_oL4QPd-iPqBhhs| z(uVM}$ItF-onXuuXO}o$t)emBO3Hjfyil@*+GF;9j?`&67GBM;TGkLHi>@)rkS4Nj zAEk;u)`jc4C$qN6WV2dVd#q}2X6nKt&X*}I@jP%Srs%%DS92lpDY^K*Sx4`l;aql$ zt*-V{U&$DM>pdO?%jt$t=vg5|p+Rw?SPaLW zB6nvZ69$ne4Z(s$3=Rf&RX8L9PWMV*S0@R zuIk&ba#s6sxVZ51^4Kon46X^9`?DC9mEhWB3f+o4#2EXFqy0(UTc>GU| zGCJmI|Dn-dX#7|_6(fT)>&YQ0H&&JX3cTvAq(a@ydM4>5Njnuere{J8p;3?1az60* z$1E7Yyxt^ytULeokgDnRVKQw9vzHg1>X@@jM$n$HBlveIrKP5-GJq%iWH#odVwV6cF^kKX(@#%%uQVb>#T6L^mC@)%SMd4DF? zVky!~ge27>cpUP1Vi}Z32lbLV+CQy+T5Wdmva6Fg^lKb!zrg|HPU=5Qu}k;4GVH+x z%;&pN1LOce0w@9i1Mo-Y|7|z}fbch@BPp2{&R-5{GLoeu8@limQmFF zaJRR|^;kW_nw~0V^ zfTnR!Ni*;-%oSHG1yItARs~uxra|O?YJxBzLjpeE-=~TO3Dn`JL5Gz;F~O1u3|FE- zvK2Vve`ylc`a}G`gpHg58Cqc9fMoy1L}7x7T>%~b&irrNMo?np3`q;d3d;zTK>nrK zOjPS{@&74-fA7j)8uT9~*g23uGnxwIVj9HorzUX#s0pcp2?GH6i}~+kv9fWChtPa_ z@T3m+$0pbjdQw7jcnHn;Pi85hk_u2-1^}c)LNvjdam8K-XJ+KgKQ%!?2n_!#{$H|| zLO=%;hRo6EDmnOBKCL9Cg~ETU##@u^W_5joZ%Et%X_n##%JDOcsO=0VL|Lkk!VdRJ z^|~2pB@PUspT?NOeO?=0Vb+fAGc!j%Ufn-cB`s2A~W{Zj{`wqWq_-w0wr@6VrM zbzni@8c>WS!7c&|ZR$cQ;`niRw{4kG#e z70e!uX8VmP23SuJ*)#(&R=;SxGAvq|&>geL&!5Z7@0Z(No*W561n#u$Uc`f9pD70# z=sKOSK|bF~#khTTn)B28h^a1{;>EaRnHj~>i=Fnr3+Fa4 z`^+O5_itS#7kPd20rq66_wH`%?HNzWk@XFK0n;Z@Cx{kx==2L22zWH$Yg?7 zvDj|u{{+NR3JvUH({;b*$b(U5U z7(lF!1bz2%06+|-v(D?2KgwNw7( zJB#Tz+ZRi&U$i?f34m7>uTzO#+E5cbaiQ&L}UxyOQq~afbNB4EI{E04ZWg53w0A{O%qo=lF8d zf~ktGvIgf-a~zQoWf>loF7pOodrd0a2|BzwwPDV}ShauTK8*fmF6NRbO>Iw9zZU}u zw8Ya}?seBnEGQDmH#XpUUkj}N49tP<2jYwTFp!P+&Fd(%Z#yo80|5@zN(D{_pNow*&4%ql zW~&yp@scb-+Qj-EmErY+Tu=dUmf@*BoXY2&oKT8U?8?s1d}4a`Aq>7SV800m$FE~? zjmz(LY+Xx9sDX$;vU`xgw*jLw7dWOnWWCO8o|;}f>cu0Q&`0I{YudMn;P;L3R-uz# zfns_mZED_IakFBPP2r_S8XM$X)@O-xVKi4`7373Jkd5{2$M#%cRhWer3M(vr{S6>h zj{givZJ3(`yFL@``(afn&~iNx@B1|-qfYiZu?-_&Z8+R~v`d6R-}EX9IVXWO-!hL5 z*k6T#^2zAXdardU3Ao~I)4DGdAv2bx{4nOK`20rJo>rmk3S2ZDu}))8Z1m}CKigf0 z3L`3Y`{huj`xj9@`$xTZzZc3je?n^yG<8sw$`Y%}9mUsjUR%T!?k^(q)6FH6Af^b6 zlPg~IEwg0y;`t9y;#D+uz!oE4VP&Je!<#q*F?m5L5?J3i@!0J6q#eu z!RRU`-)HeqGi_UJZ(n~|PSNsv+Wgl{P-TvaUQ9j?ZCtvb^37U$sFpBrkT{7Jpd?HpIvj2!}RIq zH{9~+gErN2+}J`>Jvng2hwM`=PLNkc7pkjblKW|+Fk9rc)G1R>Ww>RC=r-|!m-u7( zc(a$9NG}w#PjWNMS~)o=i~WA&4L(YIW25@AL9+H9!?3Y}sv#MOdY{bb9j>p`{?O(P zIvb`n?_(gP2w3P#&91JX*md+bBEr%xUHMVqfB;(f?OPtMnAZ#rm5q5mh;a2f_si2_ z3oXWB?{NF(JtkAn6F(O{z@b76OIqMC$&oJ_&S|YbFJ*)3qVX_uNf5b8(!vGX19hsG z(OP>RmZp29KH9Ge2kKjKigUmOe^K_!UXP`von)PR8Qz$%=EmOB9xS(ZxE_tnyzo}7 z=6~$~9k0M~v}`w={AeqF?_)9q{m8K#6M{a&(;u;O41j)I$^T?lx5(zlebpY@NT&#N zR+1bB)-1-xj}R8uwqwf=iP1GbxBjneCC%UrSdSxK1vM^i9;bUkS#iRZw2H>rS<2<$ zNT3|sDH>{tXb=zq7XZi*K?#Zsa1h1{h5!Tq_YbKFm_*=A5-<~j63he;4`77!|LBlo zR^~tR3yxcU=gDFbshyF6>o0bdp$qmHS7D}m3;^QZq9kBBU|9$N-~oU?G5;jyFR7>z hN`IR97YZXIo@y!QgFWddJ3|0`sjFx!m))><{BI=FK%f8s diff --git a/examples/flutter/example/web/icons/Icon-maskable-192.png b/examples/flutter/example/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76e525556d5d89141648c724331630325d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5594 zcmdT|`#%%j|KDb2V@0DPm$^(Lx5}lO%Yv(=e*7hl@QqKS50#~#^IQPxBmuh|i9sXnt4ch@VT0F7% zMtrs@KWIOo+QV@lSs66A>2pz6-`9Jk=0vv&u?)^F@HZ)-6HT=B7LF;rdj zskUyBfbojcX#CS>WrIWo9D=DIwcXM8=I5D{SGf$~=gh-$LwY?*)cD%38%sCc?5OsX z-XfkyL-1`VavZ?>(pI-xp-kYq=1hsnyP^TLb%0vKRSo^~r{x?ISLY1i7KjSp z*0h&jG(Rkkq2+G_6eS>n&6>&Xk+ngOMcYrk<8KrukQHzfx675^^s$~<@d$9X{VBbg z2Fd4Z%g`!-P}d#`?B4#S-9x*eNlOVRnDrn#jY@~$jfQ-~3Od;A;x-BI1BEDdvr`pI z#D)d)!2_`GiZOUu1crb!hqH=ezs0qk<_xDm_Kkw?r*?0C3|Io6>$!kyDl;eH=aqg$B zsH_|ZD?jP2dc=)|L>DZmGyYKa06~5?C2Lc0#D%62p(YS;%_DRCB1k(+eLGXVMe+=4 zkKiJ%!N6^mxqM=wq`0+yoE#VHF%R<{mMamR9o_1JH8jfnJ?NPLs$9U!9!dq8 z0B{dI2!M|sYGH&9TAY34OlpIsQ4i5bnbG>?cWwat1I13|r|_inLE?FS@Hxdxn_YZN z3jfUO*X9Q@?HZ>Q{W0z60!bbGh557XIKu1?)u|cf%go`pwo}CD=0tau-}t@R2OrSH zQzZr%JfYa`>2!g??76=GJ$%ECbQh7Q2wLRp9QoyiRHP7VE^>JHm>9EqR3<$Y=Z1K^SHuwxCy-5@z3 zVM{XNNm}yM*pRdLKp??+_2&!bp#`=(Lh1vR{~j%n;cJv~9lXeMv)@}Odta)RnK|6* zC+IVSWumLo%{6bLDpn)Gz>6r&;Qs0^+Sz_yx_KNz9Dlt^ax`4>;EWrIT#(lJ_40<= z750fHZ7hI{}%%5`;lwkI4<_FJw@!U^vW;igL0k+mK)-j zYuCK#mCDK3F|SC}tC2>m$ZCqNB7ac-0UFBJ|8RxmG@4a4qdjvMzzS&h9pQmu^x&*= zGvapd1#K%Da&)8f?<9WN`2H^qpd@{7In6DNM&916TRqtF4;3`R|Nhwbw=(4|^Io@T zIjoR?tB8d*sO>PX4vaIHF|W;WVl6L1JvSmStgnRQq zTX4(>1f^5QOAH{=18Q2Vc1JI{V=yOr7yZJf4Vpfo zeHXdhBe{PyY;)yF;=ycMW@Kb>t;yE>;f79~AlJ8k`xWucCxJfsXf2P72bAavWL1G#W z;o%kdH(mYCM{$~yw4({KatNGim49O2HY6O07$B`*K7}MvgI=4x=SKdKVb8C$eJseA$tmSFOztFd*3W`J`yIB_~}k%Sd_bPBK8LxH)?8#jM{^%J_0|L z!gFI|68)G}ex5`Xh{5pB%GtlJ{Z5em*e0sH+sU1UVl7<5%Bq+YrHWL7?X?3LBi1R@_)F-_OqI1Zv`L zb6^Lq#H^2@d_(Z4E6xA9Z4o3kvf78ZDz!5W1#Mp|E;rvJz&4qj2pXVxKB8Vg0}ek%4erou@QM&2t7Cn5GwYqy%{>jI z)4;3SAgqVi#b{kqX#$Mt6L8NhZYgonb7>+r#BHje)bvaZ2c0nAvrN3gez+dNXaV;A zmyR0z@9h4@6~rJik-=2M-T+d`t&@YWhsoP_XP-NsVO}wmo!nR~QVWU?nVlQjNfgcTzE-PkfIX5G z1?&MwaeuzhF=u)X%Vpg_e@>d2yZwxl6-r3OMqDn8_6m^4z3zG##cK0Fsgq8fcvmhu z{73jseR%X%$85H^jRAcrhd&k!i^xL9FrS7qw2$&gwAS8AfAk#g_E_tP;x66fS`Mn@SNVrcn_N;EQm z`Mt3Z%rw%hDqTH-s~6SrIL$hIPKL5^7ejkLTBr46;pHTQDdoErS(B>``t;+1+M zvU&Se9@T_BeK;A^p|n^krIR+6rH~BjvRIugf`&EuX9u69`9C?9ANVL8l(rY6#mu^i z=*5Q)-%o*tWl`#b8p*ZH0I}hn#gV%|jt6V_JanDGuekR*-wF`u;amTCpGG|1;4A5$ zYbHF{?G1vv5;8Ph5%kEW)t|am2_4ik!`7q{ymfHoe^Z99c|$;FAL+NbxE-_zheYbV z3hb0`uZGTsgA5TG(X|GVDSJyJxsyR7V5PS_WSnYgwc_D60m7u*x4b2D79r5UgtL18 zcCHWk+K6N1Pg2c;0#r-)XpwGX?|Iv)^CLWqwF=a}fXUSM?n6E;cCeW5ER^om#{)Jr zJR81pkK?VoFm@N-s%hd7@hBS0xuCD0-UDVLDDkl7Ck=BAj*^ps`393}AJ+Ruq@fl9 z%R(&?5Nc3lnEKGaYMLmRzKXow1+Gh|O-LG7XiNxkG^uyv zpAtLINwMK}IWK65hOw&O>~EJ}x@lDBtB`yKeV1%GtY4PzT%@~wa1VgZn7QRwc7C)_ zpEF~upeDRg_<#w=dLQ)E?AzXUQpbKXYxkp>;c@aOr6A|dHA?KaZkL0svwB^U#zmx0 zzW4^&G!w7YeRxt<9;d@8H=u(j{6+Uj5AuTluvZZD4b+#+6Rp?(yJ`BC9EW9!b&KdPvzJYe5l7 zMJ9aC@S;sA0{F0XyVY{}FzW0Vh)0mPf_BX82E+CD&)wf2!x@{RO~XBYu80TONl3e+ zA7W$ra6LcDW_j4s-`3tI^VhG*sa5lLc+V6ONf=hO@q4|p`CinYqk1Ko*MbZ6_M05k zSwSwkvu;`|I*_Vl=zPd|dVD0lh&Ha)CSJJvV{AEdF{^Kn_Yfsd!{Pc1GNgw}(^~%)jk5~0L~ms|Rez1fiK~s5t(p1ci5Gq$JC#^JrXf?8 z-Y-Zi_Hvi>oBzV8DSRG!7dm|%IlZg3^0{5~;>)8-+Nk&EhAd(}s^7%MuU}lphNW9Q zT)DPo(ob{tB7_?u;4-qGDo!sh&7gHaJfkh43QwL|bbFVi@+oy;i;M zM&CP^v~lx1U`pi9PmSr&Mc<%HAq0DGH?Ft95)WY`P?~7O z`O^Nr{Py9M#Ls4Y7OM?e%Y*Mvrme%=DwQaye^Qut_1pOMrg^!5u(f9p(D%MR%1K>% zRGw%=dYvw@)o}Fw@tOtPjz`45mfpn;OT&V(;z75J*<$52{sB65$gDjwX3Xa!x_wE- z!#RpwHM#WrO*|~f7z}(}o7US(+0FYLM}6de>gQdtPazXz?OcNv4R^oYLJ_BQOd_l172oSK$6!1r@g+B@0ofJ4*{>_AIxfe-#xp>(1 z@Y3Nfd>fmqvjL;?+DmZk*KsfXJf<%~(gcLwEez%>1c6XSboURUh&k=B)MS>6kw9bY z{7vdev7;A}5fy*ZE23DS{J?8at~xwVk`pEwP5^k?XMQ7u64;KmFJ#POzdG#np~F&H ze-BUh@g54)dsS%nkBb}+GuUEKU~pHcYIg4vSo$J(J|U36bs0Use+3A&IMcR%6@jv$ z=+QI+@wW@?iu}Hpyzlvj-EYeop{f65GX0O%>w#0t|V z1-svWk`hU~m`|O$kw5?Yn5UhI%9P-<45A(v0ld1n+%Ziq&TVpBcV9n}L9Tus-TI)f zd_(g+nYCDR@+wYNQm1GwxhUN4tGMLCzDzPqY$~`l<47{+l<{FZ$L6(>J)|}!bi<)| zE35dl{a2)&leQ@LlDxLQOfUDS`;+ZQ4ozrleQwaR-K|@9T{#hB5Z^t#8 zC-d_G;B4;F#8A2EBL58s$zF-=SCr`P#z zNCTnHF&|X@q>SkAoYu>&s9v@zCpv9lLSH-UZzfhJh`EZA{X#%nqw@@aW^vPcfQrlPs(qQxmC|4tp^&sHy!H!2FH5eC{M@g;ElWNzlb-+ zxpfc0m4<}L){4|RZ>KReag2j%Ot_UKkgpJN!7Y_y3;Ssz{9 z!K3isRtaFtQII5^6}cm9RZd5nTp9psk&u1C(BY`(_tolBwzV_@0F*m%3G%Y?2utyS zY`xM0iDRT)yTyYukFeGQ&W@ReM+ADG1xu@ruq&^GK35`+2r}b^V!m1(VgH|QhIPDE X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! diff --git a/examples/flutter/example/web/icons/Icon-maskable-512.png b/examples/flutter/example/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c56691fbdb0b7efa65097c7cc1edac12a6d3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20998 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 MPgg&ebxsLQ025IeI{*Lx diff --git a/examples/flutter/example/web/index.html b/examples/flutter/example/web/index.html deleted file mode 100644 index afc3b66e..00000000 --- a/examples/flutter/example/web/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - thermion_flutter_example - - - - - - - - - - -
- - - diff --git a/examples/flutter/example/web/main.dart b/examples/flutter/example/web/main.dart deleted file mode 100644 index 91a2b0f9..00000000 --- a/examples/flutter/example/web/main.dart +++ /dev/null @@ -1,53 +0,0 @@ - -// import 'package:polyvox_engine/app/app.dart'; -// import 'package:polyvox_engine/app/states/states.dart'; -// import 'package:polyvox_engine/services/asr_service.dart'; -// import 'package:polyvox_web/error_handler.dart'; -// import 'package:polyvox_web/services/web_asr_service.dart'; -// import 'package:polyvox_web/services/web_asset_repository.dart'; -// import 'package:polyvox_web/services/web_audio_service.dart'; -// import 'package:polyvox_web/services/web_auth_service.dart'; -// import 'package:polyvox_web/services/web_data_provider.dart'; -// import 'package:polyvox_web/services/web_purchase_service.dart'; -// import 'package:polyvox_web/services/web_scoring_service.dart'; -// import 'package:polyvox_web/web_canvas.dart'; -import 'package:thermion_dart/thermion_dart/thermion_viewer.dart'; -import 'package:thermion_dart/thermion_dart/compatibility/web/compatibility.dart'; -import 'package:thermion_dart/thermion_dart/thermion_viewer_ffi.dart'; -import 'package:thermion_dart/thermion_dart/compatibility/web/interop/thermion_dart_js_export_type.dart'; -import 'package:thermion_dart/thermion_dart/compatibility/web/interop/thermion_dart_js_extension_type.dart'; -import 'package:web/web.dart'; - -void main(List arguments) async { - var viewer = await WebViewer.initialize(); - - ThermionDartJSExportViewer.initializeBindings(viewer); - - print("Set wrapper, running!"); - - while (true) { - await Future.delayed(Duration(milliseconds: 16)); - } - print("Finisehd!"); -} - -class WebViewer { - static Future initialize() async { - var fc = FooChar(); - final canvas = document.getElementById("canvas") as HTMLCanvasElement; - canvas.width = window.innerWidth; - canvas.height = window.innerHeight; - - var resourceLoader = thermion_dart_web_get_resource_loader_wrapper(); - - var viewer = ThermionViewerFFI(resourceLoader: resourceLoader); - - await viewer.initialized; - var width = window.innerWidth; - var height = window.innerHeight; - await viewer.createSwapChain(width.toDouble(), height.toDouble()); - await viewer.updateViewportAndCameraProjection( - width.toDouble(), height.toDouble()); - return viewer; - } -} diff --git a/examples/flutter/example/web/main.mjs b/examples/flutter/example/web/main.mjs deleted file mode 100644 index 559c241f..00000000 --- a/examples/flutter/example/web/main.mjs +++ /dev/null @@ -1,358 +0,0 @@ -let buildArgsList; - -// `modulePromise` is a promise to the `WebAssembly.module` object to be -// instantiated. -// `importObjectPromise` is a promise to an object that contains any additional -// imports needed by the module that aren't provided by the standard runtime. -// The fields on this object will be merged into the importObject with which -// the module will be instantiated. -// This function returns a promise to the instantiated module. -export const instantiate = async (modulePromise, importObjectPromise) => { - let dartInstance; - - function stringFromDartString(string) { - const totalLength = dartInstance.exports.$stringLength(string); - let result = ''; - let index = 0; - while (index < totalLength) { - let chunkLength = Math.min(totalLength - index, 0xFFFF); - const array = new Array(chunkLength); - for (let i = 0; i < chunkLength; i++) { - array[i] = dartInstance.exports.$stringRead(string, index++); - } - result += String.fromCharCode(...array); - } - return result; - } - - function stringToDartString(string) { - const length = string.length; - let range = 0; - for (let i = 0; i < length; i++) { - range |= string.codePointAt(i); - } - if (range < 256) { - const dartString = dartInstance.exports.$stringAllocate1(length); - for (let i = 0; i < length; i++) { - dartInstance.exports.$stringWrite1(dartString, i, string.codePointAt(i)); - } - return dartString; - } else { - const dartString = dartInstance.exports.$stringAllocate2(length); - for (let i = 0; i < length; i++) { - dartInstance.exports.$stringWrite2(dartString, i, string.charCodeAt(i)); - } - return dartString; - } - } - - // Prints to the console - function printToConsole(value) { - if (typeof dartPrint == "function") { - dartPrint(value); - return; - } - if (typeof console == "object" && typeof console.log != "undefined") { - console.log(value); - return; - } - if (typeof print == "function") { - print(value); - return; - } - - throw "Unable to print message: " + js; - } - - // Converts a Dart List to a JS array. Any Dart objects will be converted, but - // this will be cheap for JSValues. - function arrayFromDartList(constructor, list) { - const length = dartInstance.exports.$listLength(list); - const array = new constructor(length); - for (let i = 0; i < length; i++) { - array[i] = dartInstance.exports.$listRead(list, i); - } - return array; - } - - buildArgsList = function(list) { - const dartList = dartInstance.exports.$makeStringList(); - for (let i = 0; i < list.length; i++) { - dartInstance.exports.$listAdd(dartList, stringToDartString(list[i])); - } - return dartList; - } - - // A special symbol attached to functions that wrap Dart functions. - const jsWrappedDartFunctionSymbol = Symbol("JSWrappedDartFunction"); - - function finalizeWrapper(dartFunction, wrapped) { - wrapped.dartFunction = dartFunction; - wrapped[jsWrappedDartFunctionSymbol] = true; - return wrapped; - } - - // Imports - const dart2wasm = { - -_11: x0 => new Array(x0), -_12: x0 => new Promise(x0), -_17: (o,s,v) => o[s] = v, -_18: f => finalizeWrapper(f,x0 => dartInstance.exports._18(f,x0)), -_19: f => finalizeWrapper(f,x0 => dartInstance.exports._19(f,x0)), -_20: (x0,x1,x2) => x0.call(x1,x2), -_21: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._21(f,x0,x1)), -_22: (x0,x1) => x0.call(x1), -_23: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._23(f,x0,x1)), -_44: () => Symbol("jsBoxedDartObjectProperty"), -_75: (x0,x1) => x0.getElementById(x1), -_1495: (x0,x1) => x0.width = x1, -_1497: (x0,x1) => x0.height = x1, -_1874: () => globalThis.window, -_1916: x0 => x0.innerWidth, -_1917: x0 => x0.innerHeight, -_6850: () => globalThis.document, -_12719: () => globalThis.createVoidCallback(), -_12720: () => globalThis.createVoidPointerCallback(), -_12721: () => globalThis.createBoolCallback(), -_12722: () => globalThis.createBoolCallback(), -_12724: v => stringToDartString(v.toString()), -_12740: () => { - let stackString = new Error().stack.toString(); - let frames = stackString.split('\n'); - let drop = 2; - if (frames[0] === 'Error') { - drop += 1; - } - return frames.slice(drop).join('\n'); - }, -_12759: s => stringToDartString(JSON.stringify(stringFromDartString(s))), -_12760: s => printToConsole(stringFromDartString(s)), -_12761: f => finalizeWrapper(f,() => dartInstance.exports._12761(f)), -_12762: f => finalizeWrapper(f,() => dartInstance.exports._12762(f)), -_12763: f => finalizeWrapper(f,x0 => dartInstance.exports._12763(f,x0)), -_12764: f => finalizeWrapper(f,() => dartInstance.exports._12764(f)), -_12765: f => finalizeWrapper(f,x0 => dartInstance.exports._12765(f,x0)), -_12766: f => finalizeWrapper(f,() => dartInstance.exports._12766(f)), -_12767: f => finalizeWrapper(f,x0 => dartInstance.exports._12767(f,x0)), -_12768: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12768(f,x0,x1)), -_12769: f => finalizeWrapper(f,() => dartInstance.exports._12769(f)), -_12770: f => finalizeWrapper(f,(x0,x1,x2,x3) => dartInstance.exports._12770(f,x0,x1,x2,x3)), -_12771: f => finalizeWrapper(f,x0 => dartInstance.exports._12771(f,x0)), -_12772: f => finalizeWrapper(f,() => dartInstance.exports._12772(f)), -_12773: f => finalizeWrapper(f,x0 => dartInstance.exports._12773(f,x0)), -_12774: f => finalizeWrapper(f,x0 => dartInstance.exports._12774(f,x0)), -_12775: f => finalizeWrapper(f,() => dartInstance.exports._12775(f)), -_12776: f => finalizeWrapper(f,(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9) => dartInstance.exports._12776(f,x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)), -_12777: f => finalizeWrapper(f,x0 => dartInstance.exports._12777(f,x0)), -_12778: f => finalizeWrapper(f,() => dartInstance.exports._12778(f)), -_12779: f => finalizeWrapper(f,x0 => dartInstance.exports._12779(f,x0)), -_12780: f => finalizeWrapper(f,x0 => dartInstance.exports._12780(f,x0)), -_12781: f => finalizeWrapper(f,x0 => dartInstance.exports._12781(f,x0)), -_12782: f => finalizeWrapper(f,x0 => dartInstance.exports._12782(f,x0)), -_12783: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12783(f,x0,x1)), -_12784: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12784(f,x0,x1)), -_12785: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12785(f,x0,x1)), -_12786: f => finalizeWrapper(f,() => dartInstance.exports._12786(f)), -_12787: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12787(f,x0,x1)), -_12788: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12788(f,x0,x1)), -_12789: f => finalizeWrapper(f,() => dartInstance.exports._12789(f)), -_12790: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12790(f,x0,x1)), -_12791: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12791(f,x0,x1)), -_12792: f => finalizeWrapper(f,x0 => dartInstance.exports._12792(f,x0)), -_12793: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12793(f,x0,x1)), -_12794: f => finalizeWrapper(f,(x0,x1,x2,x3,x4) => dartInstance.exports._12794(f,x0,x1,x2,x3,x4)), -_12795: f => finalizeWrapper(f,x0 => dartInstance.exports._12795(f,x0)), -_12796: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12796(f,x0,x1)), -_12797: f => finalizeWrapper(f,x0 => dartInstance.exports._12797(f,x0)), -_12798: f => finalizeWrapper(f,() => dartInstance.exports._12798(f)), -_12799: f => finalizeWrapper(f,() => dartInstance.exports._12799(f)), -_12800: f => finalizeWrapper(f,(x0,x1,x2) => dartInstance.exports._12800(f,x0,x1,x2)), -_12801: f => finalizeWrapper(f,() => dartInstance.exports._12801(f)), -_12802: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12802(f,x0,x1)), -_12803: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12803(f,x0,x1)), -_12804: f => finalizeWrapper(f,(x0,x1,x2) => dartInstance.exports._12804(f,x0,x1,x2)), -_12805: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12805(f,x0,x1)), -_12806: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12806(f,x0,x1)), -_12807: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12807(f,x0,x1)), -_12808: f => finalizeWrapper(f,() => dartInstance.exports._12808(f)), -_12809: f => finalizeWrapper(f,() => dartInstance.exports._12809(f)), -_12810: f => finalizeWrapper(f,(x0,x1,x2) => dartInstance.exports._12810(f,x0,x1,x2)), -_12811: f => finalizeWrapper(f,x0 => dartInstance.exports._12811(f,x0)), -_12812: f => finalizeWrapper(f,x0 => dartInstance.exports._12812(f,x0)), -_12813: f => finalizeWrapper(f,x0 => dartInstance.exports._12813(f,x0)), -_12814: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12814(f,x0,x1)), -_12815: f => finalizeWrapper(f,() => dartInstance.exports._12815(f)), -_12816: f => finalizeWrapper(f,() => dartInstance.exports._12816(f)), -_12817: f => finalizeWrapper(f,x0 => dartInstance.exports._12817(f,x0)), -_12818: f => finalizeWrapper(f,() => dartInstance.exports._12818(f)), -_12819: f => finalizeWrapper(f,() => dartInstance.exports._12819(f)), -_12820: f => finalizeWrapper(f,() => dartInstance.exports._12820(f)), -_12821: f => finalizeWrapper(f,() => dartInstance.exports._12821(f)), -_12822: f => finalizeWrapper(f,() => dartInstance.exports._12822(f)), -_12823: f => finalizeWrapper(f,() => dartInstance.exports._12823(f)), -_12824: f => finalizeWrapper(f,(x0,x1,x2) => dartInstance.exports._12824(f,x0,x1,x2)), -_12825: f => finalizeWrapper(f,() => dartInstance.exports._12825(f)), -_12826: f => finalizeWrapper(f,x0 => dartInstance.exports._12826(f,x0)), -_12827: f => finalizeWrapper(f,x0 => dartInstance.exports._12827(f,x0)), -_12828: f => finalizeWrapper(f,(x0,x1,x2) => dartInstance.exports._12828(f,x0,x1,x2)), -_12829: f => finalizeWrapper(f,x0 => dartInstance.exports._12829(f,x0)), -_12830: f => finalizeWrapper(f,x0 => dartInstance.exports._12830(f,x0)), -_12831: f => finalizeWrapper(f,(x0,x1,x2,x3,x4,x5,x6) => dartInstance.exports._12831(f,x0,x1,x2,x3,x4,x5,x6)), -_12832: f => finalizeWrapper(f,x0 => dartInstance.exports._12832(f,x0)), -_12833: f => finalizeWrapper(f,(x0,x1,x2,x3) => dartInstance.exports._12833(f,x0,x1,x2,x3)), -_12834: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12834(f,x0,x1)), -_12835: f => finalizeWrapper(f,(x0,x1,x2,x3,x4) => dartInstance.exports._12835(f,x0,x1,x2,x3,x4)), -_12836: f => finalizeWrapper(f,(x0,x1,x2,x3,x4) => dartInstance.exports._12836(f,x0,x1,x2,x3,x4)), -_12837: f => finalizeWrapper(f,(x0,x1,x2,x3,x4,x5) => dartInstance.exports._12837(f,x0,x1,x2,x3,x4,x5)), -_12838: f => finalizeWrapper(f,(x0,x1,x2) => dartInstance.exports._12838(f,x0,x1,x2)), -_12839: f => finalizeWrapper(f,x0 => dartInstance.exports._12839(f,x0)), -_12840: f => finalizeWrapper(f,(x0,x1,x2) => dartInstance.exports._12840(f,x0,x1,x2)), -_12841: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12841(f,x0,x1)), -_12842: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12842(f,x0,x1)), -_12843: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12843(f,x0,x1)), -_12844: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12844(f,x0,x1)), -_12845: f => finalizeWrapper(f,x0 => dartInstance.exports._12845(f,x0)), -_12846: f => finalizeWrapper(f,() => dartInstance.exports._12846(f)), -_12847: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12847(f,x0,x1)), -_12848: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12848(f,x0,x1)), -_12849: f => finalizeWrapper(f,(x0,x1) => dartInstance.exports._12849(f,x0,x1)), -_12850: f => finalizeWrapper(f,x0 => dartInstance.exports._12850(f,x0)), -_12851: f => finalizeWrapper(f,x0 => dartInstance.exports._12851(f,x0)), -_12852: f => finalizeWrapper(f,x0 => dartInstance.exports._12852(f,x0)), -_12853: f => finalizeWrapper(f,x0 => dartInstance.exports._12853(f,x0)), -_12854: f => finalizeWrapper(f,() => dartInstance.exports._12854(f)), -_12868: (ms, c) => - setTimeout(() => dartInstance.exports.$invokeCallback(c),ms), -_12872: (c) => - queueMicrotask(() => dartInstance.exports.$invokeCallback(c)), -_12874: (a, i) => a.push(i), -_12885: a => a.length, -_12887: (a, i) => a[i], -_12888: (a, i, v) => a[i] = v, -_12890: a => a.join(''), -_12900: (s, p, i) => s.indexOf(p, i), -_12903: (o, start, length) => new Uint8Array(o.buffer, o.byteOffset + start, length), -_12904: (o, start, length) => new Int8Array(o.buffer, o.byteOffset + start, length), -_12905: (o, start, length) => new Uint8ClampedArray(o.buffer, o.byteOffset + start, length), -_12906: (o, start, length) => new Uint16Array(o.buffer, o.byteOffset + start, length), -_12907: (o, start, length) => new Int16Array(o.buffer, o.byteOffset + start, length), -_12908: (o, start, length) => new Uint32Array(o.buffer, o.byteOffset + start, length), -_12909: (o, start, length) => new Int32Array(o.buffer, o.byteOffset + start, length), -_12912: (o, start, length) => new Float32Array(o.buffer, o.byteOffset + start, length), -_12913: (o, start, length) => new Float64Array(o.buffer, o.byteOffset + start, length), -_12918: (o) => new DataView(o.buffer, o.byteOffset, o.byteLength), -_12922: Function.prototype.call.bind(Object.getOwnPropertyDescriptor(DataView.prototype, 'byteLength').get), -_12923: (b, o) => new DataView(b, o), -_12925: Function.prototype.call.bind(DataView.prototype.getUint8), -_12927: Function.prototype.call.bind(DataView.prototype.getInt8), -_12929: Function.prototype.call.bind(DataView.prototype.getUint16), -_12931: Function.prototype.call.bind(DataView.prototype.getInt16), -_12933: Function.prototype.call.bind(DataView.prototype.getUint32), -_12935: Function.prototype.call.bind(DataView.prototype.getInt32), -_12941: Function.prototype.call.bind(DataView.prototype.getFloat32), -_12943: Function.prototype.call.bind(DataView.prototype.getFloat64), -_12962: (x0,x1,x2) => x0[x1] = x2, -_12964: o => o === undefined, -_12965: o => typeof o === 'boolean', -_12966: o => typeof o === 'number', -_12968: o => typeof o === 'string', -_12971: o => o instanceof Int8Array, -_12972: o => o instanceof Uint8Array, -_12973: o => o instanceof Uint8ClampedArray, -_12974: o => o instanceof Int16Array, -_12975: o => o instanceof Uint16Array, -_12976: o => o instanceof Int32Array, -_12977: o => o instanceof Uint32Array, -_12978: o => o instanceof Float32Array, -_12979: o => o instanceof Float64Array, -_12980: o => o instanceof ArrayBuffer, -_12981: o => o instanceof DataView, -_12982: o => o instanceof Array, -_12983: o => typeof o === 'function' && o[jsWrappedDartFunctionSymbol] === true, -_12987: (l, r) => l === r, -_12988: o => o, -_12989: o => o, -_12990: o => o, -_12991: b => !!b, -_12992: o => o.length, -_12995: (o, i) => o[i], -_12996: f => f.dartFunction, -_12997: l => arrayFromDartList(Int8Array, l), -_12998: l => arrayFromDartList(Uint8Array, l), -_12999: l => arrayFromDartList(Uint8ClampedArray, l), -_13000: l => arrayFromDartList(Int16Array, l), -_13001: l => arrayFromDartList(Uint16Array, l), -_13002: l => arrayFromDartList(Int32Array, l), -_13003: l => arrayFromDartList(Uint32Array, l), -_13004: l => arrayFromDartList(Float32Array, l), -_13005: l => arrayFromDartList(Float64Array, l), -_13006: (data, length) => { - const view = new DataView(new ArrayBuffer(length)); - for (let i = 0; i < length; i++) { - view.setUint8(i, dartInstance.exports.$byteDataGetUint8(data, i)); - } - return view; - }, -_13007: l => arrayFromDartList(Array, l), -_13008: stringFromDartString, -_13009: stringToDartString, -_13010: () => ({}), -_13012: l => new Array(l), -_13013: () => globalThis, -_13014: (constructor, args) => { - const factoryFunction = constructor.bind.apply( - constructor, [null, ...args]); - return new factoryFunction(); - }, -_13016: (o, p) => o[p], -_13018: (o, m, a) => o[m].apply(o, a), -_13020: o => String(o), -_13021: (p, s, f) => p.then(s, f), -_13040: (o, p) => o[p], -_13041: (o, p, v) => o[p] = v - }; - - const baseImports = { - dart2wasm: dart2wasm, - - - Math: Math, - Date: Date, - Object: Object, - Array: Array, - Reflect: Reflect, - }; - - const jsStringPolyfill = { - "charCodeAt": (s, i) => s.charCodeAt(i), - "compare": (s1, s2) => { - if (s1 < s2) return -1; - if (s1 > s2) return 1; - return 0; - }, - "concat": (s1, s2) => s1 + s2, - "equals": (s1, s2) => s1 === s2, - "fromCharCode": (i) => String.fromCharCode(i), - "length": (s) => s.length, - "substring": (s, a, b) => s.substring(a, b), - }; - - dartInstance = await WebAssembly.instantiate(await modulePromise, { - ...baseImports, - ...(await importObjectPromise), - "wasm:js-string": jsStringPolyfill, - }); - - return dartInstance; -} - -// Call the main function for the instantiated module -// `moduleInstance` is the instantiated dart2wasm module -// `args` are any arguments that should be passed into the main function. -export const invoke = (moduleInstance, ...args) => { - const dartMain = moduleInstance.exports.$getMain(); - const dartArgs = buildArgsList(args); - moduleInstance.exports.$invokeMain(dartMain, dartArgs); -} - diff --git a/examples/flutter/example/web/main.unopt.wasm b/examples/flutter/example/web/main.unopt.wasm deleted file mode 100644 index a27decf067326750cca9d1afac614d8a5c9dcf4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529519 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

O_Z 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

0i! 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 VVS=06J0~_{iUo6qN7_Xn`!@t2(<1-? diff --git a/examples/flutter/example/web/main.wasm b/examples/flutter/example/web/main.wasm deleted file mode 100644 index d38184eed30276d6ba41fd838630cf4d3745e09c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225312 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

oqy14!S`r6hc8!9u)_uY-}Jn34IMYNem^K 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