Compare commits

..

3 Commits

Author SHA1 Message Date
Nick Fisher
f8c6c33269 chore(release): publish packages
- thermion_dart@0.1.2
 - thermion_flutter_ffi@0.1.0+10
 - thermion_flutter_web@0.0.2
 - thermion_flutter@0.1.1+11
 - thermion_flutter_platform_interface@0.1.0+10
2024-07-11 19:00:36 +08:00
Nick Fisher
6e5627f90e Merge pull request #62 from nmfisher/bugfix/windows-native-assets
Native-assets build error on Windows when targeting Android
2024-07-11 20:59:37 +10:00
Nick Fisher
1921007fc6 fix: manually remove leading slash for compiler path on Windows when building for Android 2024-07-11 20:51:48 +10:00
902 changed files with 153708 additions and 216814 deletions

395
.gitattributes vendored Normal file
View File

@@ -0,0 +1,395 @@
thermion_dart/native/lib/macos/debug/libbackendtest_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libgeometry_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libsdl2.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmathio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmatdbg_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libspirv-cross-msl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV-Tools.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libimageio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libOGLCompiler.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-diff.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilamat_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmathio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libassimp.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmatlang.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmatdbg_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/swift/ThermionDartTexture.h filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilamat_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbasis_encoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libimgui.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libimageio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbackend_test.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgetopt.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgtest.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmatdbg_resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libpng.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmatdbg_resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libsuzanne-resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgeometry_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmath.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libpng16.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbenchmark_main.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbluegl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/swift/build.sh filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libbluegl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libpng.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libglslang.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbenchmark.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgltf-demo-resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-lint.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilagui.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libsample-resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libOSDependent.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libspirv-cross-glsl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libgltfio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libpng.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libgltfio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libmatdbg.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libspirv-cross-core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilagui.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmath.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/swift/libdartfilamenttexture.dylib filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-link.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libz.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmatdbg.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/swift filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-reduce.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/debug/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/ios/libimageio.a filter=lfs diff=lfs merge=lfs -text
materials/Makefile filter=lfs diff=lfs merge=lfs -text
materials/gizmo.filamat filter=lfs diff=lfs merge=lfs -text
materials/gizmo.mat filter=lfs diff=lfs merge=lfs -text
materials/image.filamat filter=lfs diff=lfs merge=lfs -text
materials/image.mat filter=lfs diff=lfs merge=lfs -text
materials/unlit_fade.mat filter=lfs diff=lfs merge=lfs -text
materials/unlit_opaque.mat filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64 filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86 filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/arm64-v8a/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/armeabi-v7a/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86_64/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/android/x86/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_flutter_federated/thermion_flutter/example/web/thermion_dart.wasm filter=lfs diff=lfs merge=lfs -text
thermion_flutter_federated/thermion_flutter/example/web/main.unopt.wasm filter=lfs diff=lfs merge=lfs -text
thermion_flutter_federated/thermion_flutter/example/web/main.wasm filter=lfs diff=lfs merge=lfs -text
thermion_flutter_federated/thermion_flutter/example/web/thermion_dart.js filter=lfs diff=lfs merge=lfs -text
thermion_flutter_federated/thermion_flutter/example/web/thermion_dart.worker.js filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmatdbg_resources.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libimage.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libviewer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilagui.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilamat_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libshaders.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libcamutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilamat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libibl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libutils.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libzstd.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libgltfio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libimageio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libgeometry_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libbluevk.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libdracodec.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libktxreader.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmatdbg.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmathio.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libbackend.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libbluegl.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilament.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libgeometry.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libstb.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libpng.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmatdbg_combined.a filter=lfs diff=lfs merge=lfs -text
thermion_dart/native/lib/macos/release/libmath.a filter=lfs diff=lfs merge=lfs -text
examples/assets/default_env/default_env_skybox.ktx filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/shapes.gltf filter=lfs diff=lfs merge=lfs -text
examples/assets/3.glb filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/Boden_baseColor.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet.bin filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet.gltf filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic1.png filter=lfs diff=lfs merge=lfs -text
examples/assets/default_env filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/Boden_metallicRoughness.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_baseColor3.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic4.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/README.md filter=lfs diff=lfs merge=lfs -text
examples/assets/default_env/default_env_ibl.ktx filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/shapes.blend filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/assets/2.glb filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_normal.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_normal1.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic3.png filter=lfs diff=lfs merge=lfs -text
examples/assets/background.ktx filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/scene.bin filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_baseColor4.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_normal4.png filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/shapes.blend1 filter=lfs diff=lfs merge=lfs -text
examples/assets/solidcolor.mat filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/body_baseColor.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/body_emissive.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic2.png filter=lfs diff=lfs merge=lfs -text
examples/assets/solidcolor.filamat filter=lfs diff=lfs merge=lfs -text
examples/assets/1.glb filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/scene.gltf filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_normal2.png filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/texture_test.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_normal3.png filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/Boden_normal.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/body_normal.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/material_metallicRoughness.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_baseColor.png filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_baseColor2.png filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes filter=lfs diff=lfs merge=lfs -text
examples/assets/shapes/shapes.bin filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/body_metallicRoughness.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/material_baseColor.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/BusterDrone/textures/material_normal.jpg filter=lfs diff=lfs merge=lfs -text
examples/assets/FlightHelmet/FlightHelmet_baseColor1.png filter=lfs diff=lfs merge=lfs -text
examples/assets/background.png filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
thermion_dart/test/assets/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text

View File

@@ -1,82 +0,0 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Dart
on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]
jobs:
thermion_dart:
name: thermion_dart
runs-on: self-hosted
defaults:
run:
working-directory: thermion_dart # Adjust this path
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: flutter pub get # even though this is a Dart package, it has as dev_dependency on objective_c for testing which for some reason has a Flutter dependency
# Uncomment this step to verify the use of 'dart format' on each commit.
# - name: Verify formatting
# run: dart format --output=none --set-exit-if-changed .
#- name: Analyze project source
# run: dart analyze
- name: Build and Test
shell: cmd
run: dart --enable-experiment=native-assets test
# Upload logs on failure
- name: Upload logs
if: failure() || steps.build.outcome == 'failure'
uses: actions/upload-artifact@v4
with:
name: build-logs
path: |
D:\a\thermion\thermion\thermion_dart\.dart_tool\thermion_dart\log\build.log
# /Users/runner/work/thermion/thermion/thermion_dart//.dart_tool/thermion_dart/log/build.log
retention-days: 5
# Capture crash dumps if they exist
- name: Collect crash dumps
if: failure()
uses: actions/upload-artifact@v3
with:
name: crash-dumps
path: |
${{ runner.temp }}/*.dmp
${{ env.LOCALAPPDATA }}/Temp/*.dmp
${{ env.LOCALAPPDATA }}/CrashDumps/*.dmp
# thermion_flutter:
# name: thermion_flutter
# runs-on: macos-13
# defaults:
# run:
# working-directory: thermion_flutter/thermion_flutter # Adjust this path
# steps:
# - uses: actions/checkout@v4
# - uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603
# - name: Install dependencies
# run: dart pub get
# # Uncomment this step to verify the use of 'dart format' on each commit.
# # - name: Verify formatting
# # run: dart format --output=none --set-exit-if-changed .
# - name: Analyze project source
# run: dart analyze
# - name: Run tests
# run: dart --enable-experiment=native-assets test

File diff suppressed because it is too large Load Diff

View File

@@ -12,7 +12,6 @@ flutter-example-web: dart-web-clean dart-web
flutter-example-macos:
cd thermion_flutter_federated/thermion_flutter/example/web && flutter run -d macos
swift-bindings:
swiftc -c thermion_flutter/thermion_flutter/macos/Classes/ThermionTexture.swift -module-name swift_module -emit-objc-header-path thermion_dart/native/include/generated/ThermionTextureSwiftObjCAPI.h -emit-library -o thermion_dart/test/libThermionTextureSwift.dylib
cd thermion_dart/ && dart --enable-experiment=native-assets run ffigen --config ffigen/swift.yaml
bindings:
cd thermion_dart/ && dart --enable-experiment=native-assets run ffigen --config ffigen/native.yaml
@@ -23,13 +22,10 @@ bindings:
#
materials: FORCE
@echo "Using Filament build from ${FILAMENT_PATH}"
@for material in unlit image unlit_fixed_size grid; do \
${FILAMENT_PATH}/matc -a opengl -a metal -o materials/$$material.filamat materials/$$material.mat; \
$(FILAMENT_PATH)/resgen -c -p $$material -x thermion_dart/native/include/material/ materials/$$material.filamat; \
echo '#include "'$$material'.h"' | cat - thermion_dart/native/include/material/$$material.c > thermion_dart/native/include/material/$$material.c.new; \
mv thermion_dart/native/include/material/$$material.c.new thermion_dart/native/include/material/$$material.c; \
done
${FILAMENT_PATH}/matc -a opengl -a metal -o materials/image.filamat materials/image.mat
$(FILAMENT_PATH)/resgen -c -p image -x ios/include/material/ materials/image.filamat
$(FILAMENT_PATH)/matc -a opengl -a metal -o materials/gizmo.filamat materials/gizmo.mat
$(FILAMENT_PATH)/resgen -c -p gizmo -x ios/include/material/ materials/gizmo.filamat
#rm materials/*.filamat
FORCE: ;

View File

@@ -3,7 +3,7 @@
<p align="center">
<a href="https://thermion.dev/quickstart">Quickstart (Flutter)</a> •
<a href="https://thermion.dev/">Documentation</a> •
<a href="https://thermion.dev/showcase">Showcase</a> •
<a href="https://thermion.dev/examples">Showcase</a> •
<a href="https://dartpad.thermion.dev/">Playground</a> •
<a href="https://discord.gg/h2VdDK3EAQ">Discord</a>
</p>
@@ -22,63 +22,6 @@
- camera/entity manipulation with mouse (desktop) and gestures (mobile)
- skinning + morph animations
### Quickstart (Flutter)
From the command line:
```bash
flutter channel master
flutter upgrade
flutter config --enable-native-assets
```
In your Flutter app:
```dart
_thermionViewer = await ThermionFlutterPlugin.createViewer();
// Geometry and models are represented as "entities". Here, we load a glTF
// file containing a plain cube.
// By default, all paths are treated as asset paths. To load from a file
// instead, use file:// URIs.
var entity =
await _thermionViewer!.loadGlb("assets/cube.glb", keepData: true);
// Thermion uses a right-handed coordinate system where +Y is up and -Z is
// "into" the screen.
// By default, the camera is located at (0,0,0) looking at (0,0,-1); this
// would place it directly inside the cube we just loaded.
//
// Let's move the camera to (0,0,10) to ensure the cube is visible in the
// viewport.
await _thermionViewer!.setCameraPosition(0, 0, 10);
// Without a light source, your scene will be totally black. Let's load a skybox
// (a cubemap image that is rendered behind everything else in the scene)
// and an image-based indirect light that has been precomputed from the same
// skybox.
await _thermionViewer!.loadSkybox("assets/default_env_skybox.ktx");
await _thermionViewer!.loadIbl("assets/default_env_ibl.ktx");
// Finally, you need to explicitly enable rendering. Setting rendering to
// false is designed to allow you to pause rendering to conserve battery life
await _thermionViewer!.setRendering(true);
```
and then in your widget tree:
```dart
@override
Widget build(BuildContext context) {
return Stack(children: [
if (_thermionViewer != null)
Positioned.fill(
child: ThermionWidget(
viewer: _thermionViewer!,
)),
]);
}
```
### Sponsors, Contributors & Acknowledgments
Thermion uses the [Filament](https://github.com/google/filament) Physically Based Rendering engine under the hood.

View File

@@ -7,13 +7,12 @@
"Getting Started",
[
["Overview", "/"],
["Quick Start", "/quickstart"],
["Camera Manipulation", "/camera_manipulation"]
["Quick Start", "/quickstart"]
]
],
["Misc.", [
["Playground", "https://dartpad.thermion.dev"],
["Showcase", "/showcase"],
["Examples", "/examples"],
["Windows", "/windows"],
["Android", "/android"],
["Contributing", "/contributing"],

View File

@@ -1,19 +1,5 @@
## Android
### Min SDK version
Thermion requires Android SDK version 22, so change your `app/android/build.gradle` to match this version or higher
```groovy
defaultConfig {
...
minSdk = 22
...
}
```
### Shrink/Minify Resources
In release mode, you must add the following to your `app/build.gradle`:
```

View File

@@ -1,63 +0,0 @@
## Camera Manipulation (Flutter)
> You can find the entire project below in the [flutter/quickstart](https://github.com/nmfisher/thermion/examples/flutter/camera_manipulation) folder.
A `ThermionListenerWidget` is one option for manipulating the camera with an input device (e.g. mouse or touchscreen gestures).
This will generally wrap a `ThermionWidget`, meaning the entire viewport will act as a receiver for gesture events.
> You can position this independently (for example, stacked vertically beneath the viewport), but this will not translate picking queries correctly.
```
@override
Widget build(BuildContext context) {
return Stack(children: [
if (_thermionViewer != null)
Positioned.fill(
child: ThermionListenerWidget(
inputHandler:
DelegateInputHandler.fixedOrbit(_thermionViewer!)
..setActionForType(InputType.MMB_HOLD_AND_MOVE, InputAction.ROTATE)
..setActionForType(InputType.SCALE1, InputAction.ROTATE)
..setActionForType(InputType.SCALE2, InputAction.ZOOM)
..setActionForType(InputType.SCROLLWHEEL, InputAction.ZOOM),
child: ThermionWidget(
viewer: _thermionViewer!,
))),
]);
```
`ThermionListenerWidget` is a very simple widget; it simply forwards pointer, gesture and keyboard events to the provided [InputHandler], which must decide how to interpret those events.
For example, one [InputHandler] implementation might interpret mouse pointer movement as "rotate the camera", whereas a separate implementation might interpret it as "translate this specific entity".
Thermion provides two default InputHandler implementations for manipulating the camera: [DelegateInputHandler.fixedOrbit] and [DelegateInputHandler.flight].
[DelegateInputHandler.fixedOrbit] will rotate the camera in a fixed orbit around a target point (the origin, by default), and also allow zooming in/out (subject to a minimum distance, which is configurable).
By default, [DelegateInputHandler.fixedOrbit] will:
- rotate the camera when the middle mouse button is held and the pointer is moved (on desktop), and when a single swipe left/right/up/down is detected (on mobile)
- zoom the camera when the scroll wheel is scrolled up/down (on desktop), and when a pinch gesture is detected (on mobile)
You can change the action for a specific input type by calling `setActionForType`; for example, if you wanted to rotate the camera by moving the mouse pointer while holding the left mouse button, you would call:
```
setActionForType(InputType.LMB_HOLD_AND_MOVE, InputAction.ROTATE)
```
See the [InputType] and [InputAction] enums for available input types and actions.
[DelegateInputHandler.flight] will translate keyboard and mouse/touchscreen gestures to free flight camera manipulation.
By default:
- holding the middle mouse button will control the pitch/roll/yaw of the camera
- holding the left mouse button will pan the camera left/right/up/down
- the middle mouse button will zoom/dolly the camera in/out
- the WASD keys will pan the camera left/right/up/down and dolly the camera forward/backward
If these don't exactly fit your use case, you can create your own [InputHandler] implementation. If you think it would be useful to other users, please feel free to submit a PR for your implementation to be included in the base Thermion package.

View File

@@ -6,13 +6,6 @@ A custom DartPad that lets you experiment with Thermion from your browser (curre
[![Screenshot of Thermion Dartpad](images/dartpad.thermion.dev_.png)](https://dartpad.thermion.dev)
## mixreel (Flutter/Web)
Create 3D worlds and translate to AI video.
[![Screenshot of the mixreeel app](images/ixlabs.app_app.png)](https://mixreel.ai)
## Nick Fisher
My personal website, where I create an interactive clone of myself with Avaturn & Cartesia (no Flutter, made with Thermion and the [Jaspr Dart UI framework](https://github.com/schultek/jaspr)).

View File

@@ -39,6 +39,11 @@ and change the minimum deployment target to 13.0:
</Accordion>
<Accordion title="Click to open Windows instructions">
See the [/windows](/windows) page for steps needed to build on Windows.
</Accordion>
2. Add a folder containing your assets (glTF model + skybox ktx) to your `pubspec.yaml` asset list
```yaml

View File

@@ -1,6 +1,32 @@
## Windows
If you're not a Thermion developer, you can ignore this.
## CMakeLists
You will need to disable the `/WX` compiler flag.
In your project, open the `windows/CMakeList.txt` file and find the following line:
`target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100")`
Delete the `/WX`:
`target_compile_options(${TARGET} PRIVATE /W4 /wd"4100")`
## pubspec.yaml
On Windows, you will need to add a custom version of `native_toolchain_c` to your `dependency_overrides`. This is currently needed to link static libraries when building a DLL.
```
dependency_overrides:
native_toolchain_c:
git:
url: https://github.com/nmfisher/native.git
path: pkgs/native_toolchain_c
ref: windows_dll_fix
```
This will eventually be fixed upstream in the `native_toolchain_c` package, so this should be a short-term/temporary issue only.
## ANGLE build (not currently working)
To support embedding GPU textures in Flutter (rather than copying to a CPU pixel buffer on every frame), we need to build a slightly customized version of Filament that uses GLES on Windows (rather than the default, which uses OpenGL).

View File

@@ -1,5 +0,0 @@
# Thermion Examples
This repository contains example Dart and Flutter projects for the Thermion rendering toolkit.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 856 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 614 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 457 KiB

View File

@@ -1,755 +0,0 @@
{
"accessors": [
{
"componentType": 5123,
"count": 24408,
"type": "SCALAR"
},
{
"componentType": 5126,
"count": 8468,
"type": "VEC2"
},
{
"componentType": 5126,
"count": 8468,
"type": "VEC3"
},
{
"componentType": 5126,
"count": 8468,
"type": "VEC4"
},
{
"componentType": 5126,
"count": 8468,
"type": "VEC3",
"max": [
0.131662,
0.137638986,
0.10078799
],
"min": [
-0.131333,
-0.028128,
-0.137763992
]
},
{
"componentType": 5123,
"count": 65688,
"type": "SCALAR"
},
{
"componentType": 5126,
"count": 12552,
"type": "VEC2"
},
{
"componentType": 5126,
"count": 12552,
"type": "VEC3"
},
{
"componentType": 5126,
"count": 12552,
"type": "VEC4"
},
{
"componentType": 5126,
"count": 12552,
"type": "VEC3",
"max": [
0.11722149,
0.196387976,
0.132422984
],
"min": [
-0.11722149,
-0.196387976,
-0.132422984
]
},
{
"componentType": 5123,
"count": 2208,
"type": "SCALAR"
},
{
"componentType": 5126,
"count": 436,
"type": "VEC2"
},
{
"componentType": 5126,
"count": 436,
"type": "VEC3"
},
{
"componentType": 5126,
"count": 436,
"type": "VEC4"
},
{
"componentType": 5126,
"count": 436,
"type": "VEC3",
"max": [
0.09527509,
0.114654,
-0.08429489
],
"min": [
-0.0952748954,
0.0551489964,
-0.14295499
]
},
{
"componentType": 5123,
"count": 60288,
"type": "SCALAR"
},
{
"componentType": 5126,
"count": 17186,
"type": "VEC2"
},
{
"componentType": 5126,
"count": 17186,
"type": "VEC3"
},
{
"componentType": 5126,
"count": 17186,
"type": "VEC4"
},
{
"componentType": 5126,
"count": 17186,
"type": "VEC3",
"max": [
0.1572095,
0.2716865,
0.162181988
],
"min": [
-0.1572095,
-0.2716865,
-0.162181988
]
},
{
"componentType": 5123,
"count": 131574,
"type": "SCALAR"
},
{
"componentType": 5126,
"count": 24148,
"type": "VEC2"
},
{
"componentType": 5126,
"count": 24148,
"type": "VEC3"
},
{
"componentType": 5126,
"count": 24148,
"type": "VEC4"
},
{
"componentType": 5126,
"count": 24148,
"type": "VEC3",
"max": [
0.1504075,
0.328366965,
0.173673
],
"min": [
-0.1504075,
-0.328366965,
-0.173673
]
}
],
"asset": {
"generator": "glTF Tools for Unity",
"version": "2.0"
},
"bufferViews": [
{
"buffer": 0,
"byteOffset": 0,
"byteLength": 59806
},
{
"buffer": 0,
"byteOffset": 59808,
"byteLength": 99674
},
{
"buffer": 0,
"byteOffset": 159484,
"byteLength": 4875
},
{
"buffer": 0,
"byteOffset": 164360,
"byteLength": 133545
},
{
"buffer": 0,
"byteOffset": 297908,
"byteLength": 203914
}
],
"buffers": [
{
"name": "FlightHelmet",
"byteLength": 501824,
"uri": "FlightHelmet.bin"
}
],
"images": [
{
"name": "FlightHelmet_baseColor",
"uri": "FlightHelmet_baseColor.png"
},
{
"name": "FlightHelmet_occlusionRoughnessMetallic",
"uri": "FlightHelmet_occlusionRoughnessMetallic.png"
},
{
"name": "FlightHelmet_normal",
"uri": "FlightHelmet_normal.png"
},
{
"name": "FlightHelmet_baseColor1",
"uri": "FlightHelmet_baseColor1.png"
},
{
"name": "FlightHelmet_occlusionRoughnessMetallic1",
"uri": "FlightHelmet_occlusionRoughnessMetallic1.png"
},
{
"name": "FlightHelmet_normal1",
"uri": "FlightHelmet_normal1.png"
},
{
"name": "FlightHelmet_baseColor2",
"uri": "FlightHelmet_baseColor2.png"
},
{
"name": "FlightHelmet_occlusionRoughnessMetallic2",
"uri": "FlightHelmet_occlusionRoughnessMetallic2.png"
},
{
"name": "FlightHelmet_normal2",
"uri": "FlightHelmet_normal2.png"
},
{
"name": "FlightHelmet_baseColor3",
"uri": "FlightHelmet_baseColor3.png"
},
{
"name": "FlightHelmet_occlusionRoughnessMetallic3",
"uri": "FlightHelmet_occlusionRoughnessMetallic3.png"
},
{
"name": "FlightHelmet_normal3",
"uri": "FlightHelmet_normal3.png"
},
{
"name": "FlightHelmet_baseColor4",
"uri": "FlightHelmet_baseColor4.png"
},
{
"name": "FlightHelmet_occlusionRoughnessMetallic4",
"uri": "FlightHelmet_occlusionRoughnessMetallic4.png"
},
{
"name": "FlightHelmet_normal4",
"uri": "FlightHelmet_normal4.png"
}
],
"meshes": [
{
"primitives": [
{
"attributes": {
"TEXCOORD_0": 1,
"NORMAL": 2,
"TANGENT": 3,
"POSITION": 4
},
"indices": 0,
"material": 0,
"mode": 4,
"extensions": {
"KHR_draco_mesh_compression": {
"bufferView": 0,
"attributes": {
"TEXCOORD_0": 0,
"NORMAL": 1,
"TANGENT": 2,
"POSITION": 3
}
}
}
}
],
"name": "GlassPlastic_low"
},
{
"primitives": [
{
"attributes": {
"TEXCOORD_0": 6,
"NORMAL": 7,
"TANGENT": 8,
"POSITION": 9
},
"indices": 5,
"material": 1,
"mode": 4,
"extensions": {
"KHR_draco_mesh_compression": {
"bufferView": 1,
"attributes": {
"TEXCOORD_0": 0,
"NORMAL": 1,
"TANGENT": 2,
"POSITION": 3
}
}
}
}
],
"name": "LeatherParts_low"
},
{
"primitives": [
{
"attributes": {
"TEXCOORD_0": 11,
"NORMAL": 12,
"TANGENT": 13,
"POSITION": 14
},
"indices": 10,
"material": 2,
"mode": 4,
"extensions": {
"KHR_draco_mesh_compression": {
"bufferView": 2,
"attributes": {
"TEXCOORD_0": 0,
"NORMAL": 1,
"TANGENT": 2,
"POSITION": 3
}
}
}
}
],
"name": "Lenses_low"
},
{
"primitives": [
{
"attributes": {
"TEXCOORD_0": 16,
"NORMAL": 17,
"TANGENT": 18,
"POSITION": 19
},
"indices": 15,
"material": 3,
"mode": 4,
"extensions": {
"KHR_draco_mesh_compression": {
"bufferView": 3,
"attributes": {
"TEXCOORD_0": 0,
"NORMAL": 1,
"TANGENT": 2,
"POSITION": 3
}
}
}
}
],
"name": "MetalParts_low"
},
{
"primitives": [
{
"attributes": {
"TEXCOORD_0": 21,
"NORMAL": 22,
"TANGENT": 23,
"POSITION": 24
},
"indices": 20,
"material": 4,
"mode": 4,
"extensions": {
"KHR_draco_mesh_compression": {
"bufferView": 4,
"attributes": {
"TEXCOORD_0": 0,
"NORMAL": 1,
"TANGENT": 2,
"POSITION": 3
}
}
}
}
],
"name": "RubberWood_low"
}
],
"materials": [
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 0,
"texCoord": 0
},
"metallicRoughnessTexture": {
"index": 1,
"texCoord": 0
},
"baseColorFactor": [
1,
1,
1,
1
],
"metallicFactor": 1,
"roughnessFactor": 1
},
"normalTexture": {
"index": 2,
"texCoord": 0
},
"occlusionTexture": {
"index": 1,
"texCoord": 0
},
"name": "GlassPlasticMat",
"emissiveFactor": [
0,
0,
0
],
"alphaMode": "OPAQUE",
"doubleSided": false
},
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 3,
"texCoord": 0
},
"metallicRoughnessTexture": {
"index": 4,
"texCoord": 0
},
"baseColorFactor": [
1,
1,
1,
1
],
"metallicFactor": 1,
"roughnessFactor": 1
},
"normalTexture": {
"index": 5,
"texCoord": 0
},
"occlusionTexture": {
"index": 4,
"texCoord": 0
},
"name": "LeatherPartsMat",
"emissiveFactor": [
0,
0,
0
],
"alphaMode": "OPAQUE",
"doubleSided": false
},
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 6,
"texCoord": 0
},
"metallicRoughnessTexture": {
"index": 7,
"texCoord": 0
},
"baseColorFactor": [
1,
1,
1,
1
],
"metallicFactor": 1,
"roughnessFactor": 1
},
"normalTexture": {
"index": 8,
"texCoord": 0
},
"occlusionTexture": {
"index": 7,
"texCoord": 0
},
"alphaMode": "BLEND",
"name": "LensesMat",
"emissiveFactor": [
0,
0,
0
],
"doubleSided": false
},
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 9,
"texCoord": 0
},
"metallicRoughnessTexture": {
"index": 10,
"texCoord": 0
},
"baseColorFactor": [
1,
1,
1,
1
],
"metallicFactor": 1,
"roughnessFactor": 1
},
"normalTexture": {
"index": 11,
"texCoord": 0
},
"occlusionTexture": {
"index": 10,
"texCoord": 0
},
"name": "MetalPartsMat",
"emissiveFactor": [
0,
0,
0
],
"alphaMode": "OPAQUE",
"doubleSided": false
},
{
"doubleSided": true,
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 12,
"texCoord": 0
},
"metallicRoughnessTexture": {
"index": 13,
"texCoord": 0
},
"baseColorFactor": [
1,
1,
1,
1
],
"metallicFactor": 1,
"roughnessFactor": 1
},
"normalTexture": {
"index": 14,
"texCoord": 0
},
"occlusionTexture": {
"index": 13,
"texCoord": 0
},
"name": "RubberWoodMat",
"emissiveFactor": [
0,
0,
0
],
"alphaMode": "OPAQUE"
}
],
"nodes": [
{
"mesh": 0,
"name": "GlassPlastic_low"
},
{
"mesh": 1,
"translation": [
0.000434499962,
0.032592997,
0.011676996
],
"name": "LeatherParts_low",
"rotation": [
0,
0,
0,
1
],
"scale": [
1,
1,
1
]
},
{
"mesh": 2,
"name": "Lenses_low"
},
{
"mesh": 3,
"translation": [
0.0331545,
-0.1488645,
-0.0242879968
],
"name": "MetalParts_low",
"rotation": [
0,
0,
0,
1
],
"scale": [
1,
1,
1
]
},
{
"mesh": 4,
"translation": [
-0.00190849893,
-0.111985,
-0.013313001
],
"name": "RubberWood_low",
"rotation": [
0,
0,
0,
1
],
"scale": [
1,
1,
1
]
},
{
"children": [
0,
1,
2,
3,
4
],
"rotation": [
0,
1,
0,
0
],
"name": "FlightHelmet",
"translation": [
0,
0,
0
],
"scale": [
1,
1,
1
]
}
],
"scene": 0,
"scenes": [
{
"nodes": [
5
]
}
],
"textures": [
{
"source": 0
},
{
"source": 1
},
{
"source": 2
},
{
"source": 3
},
{
"source": 4
},
{
"source": 5
},
{
"source": 6
},
{
"source": 7
},
{
"source": 8
},
{
"source": 9
},
{
"source": 10
},
{
"source": 11
},
{
"source": 12
},
{
"source": 13
},
{
"source": 14
}
],
"extensionsRequired": [
"KHR_draco_mesh_compression"
],
"extensionsUsed": [
"KHR_draco_mesh_compression"
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 806 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 737 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 MiB

View File

@@ -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

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 572 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,14 +0,0 @@
material {
name : SolidColor,
shadingModel : unlit,
culling : none,
featureLevel : 1,
vertexDomain: object
}
fragment {
void material(inout MaterialInputs material) {
prepareMaterial(material);
material.baseColor = vec4(0.1f, 0.5f, 0.9f, 1.0f);
}
}

View File

@@ -1,3 +0,0 @@
# https://dart.dev/guides/libraries/private-files
# Created by `dart pub`
.dart_tool/

View File

@@ -1,3 +0,0 @@
## 1.0.0
- Initial version.

View File

@@ -1,7 +0,0 @@
# Thermion Example - Dart/Windows-only (no Flutter)
A (Windows-only) command-line application that renders into a window without Flutter.
```
dart --enable-experiment=native-assets bin\cli_windows.dart
```

View File

@@ -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

View File

@@ -1,67 +0,0 @@
import 'dart:ffi';
import 'dart:io';
import 'dart:math';
import 'package:ffi/ffi.dart';
import 'package:thermion_dart/src/utils/src/dart_resources.dart';
import 'package:thermion_dart/src/viewer/src/ffi/src/thermion_viewer_ffi.dart';
import 'package:thermion_dart/src/viewer/src/ffi/src/thermion_dart.g.dart';
import 'package:thermion_dart/thermion_dart.dart';
import 'package:vector_math/vector_math_64.dart';
import 'package:cli_windows/thermion_window.g.dart';
void main(List<String> arguments) async {
var hwnd = create_thermion_window(500, 500, 0, 0);
update();
final resourceLoader = calloc<ResourceLoaderWrapper>(1);
var loadToOut = NativeCallable<
Void Function(Pointer<Char>,
Pointer<ResourceBuffer>)>.listener(DartResourceLoader.loadResource);
resourceLoader.ref.loadToOut = loadToOut.nativeFunction;
var freeResource = NativeCallable<Void Function(ResourceBuffer)>.listener(
DartResourceLoader.freeResource);
resourceLoader.ref.freeResource = freeResource.nativeFunction;
var viewer = ThermionViewerFFI(
resourceLoader: resourceLoader.cast<Void>());
await viewer.initialized;
var swapChain = await viewer.createHeadlessSwapChain(500,500);
var view = await viewer.getViewAt(0);
await view.updateViewport(500, 500);
var camera = await viewer.getMainCamera();
await camera.setLensProjection();
await view.setRenderable(true, swapChain);
await viewer.setBackgroundColor(1.0, 0.0, 0.0, 1.0);
var skyboxPath = File("..\\..\\assets\\default_env_skybox.ktx").absolute;
await viewer.loadSkybox("file://${skyboxPath.uri.toFilePath(windows: true)}");
final cube = await viewer.createGeometry(GeometryHelper.cube());
var stopwatch = Stopwatch();
stopwatch.start();
var last = 0;
await viewer.setCameraPosition(0, 0, 10);
while(true) {
var angle = (stopwatch.elapsedMilliseconds / 1000) * 2 * pi;
var rotation = Quaternion.axisAngle(Vector3(0,1,0), angle);
var position = Vector3(10 * sin(angle), 0, 10 * cos(angle));
var modelMatrix = Matrix4.compose(position, rotation, Vector3.all(1));
await viewer.setCameraModelMatrix4(modelMatrix);
await viewer.render();
update();
await Future.delayed(Duration(milliseconds: 17));
}
}

View File

@@ -1,35 +0,0 @@
import 'dart:io';
import 'package:archive/archive.dart';
import 'package:logging/logging.dart';
import 'package:native_assets_cli/native_assets_cli.dart';
import 'package:native_toolchain_c/native_toolchain_c.dart';
import 'package:path/path.dart' as path;
void main(List<String> args) async {
final logger = Logger("")
..level = Level.ALL
..onRecord.listen((record) => print(
record.message + "\n"));
await build(args, (config, output) async {
final cbuilder = CBuilder.library(
name: "thermion_window",
language: Language.cpp,
assetName: 'thermion_window.dart',
sources: ['native/thermion_window.cpp'],
includes: ['native', '../../../thermion_dart/native/include'],
defines: {"UNICODE":"1"},
flags:[],
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
buildConfig: config,
buildOutput: output,
logger: logger,
);
});
}

View File

@@ -1,19 +0,0 @@
// AUTO GENERATED FILE, DO NOT EDIT.
//
// Generated by `package:ffigen`.
// ignore_for_file: type=lint
@ffi.DefaultAsset('package:cli_windows/thermion_window.dart')
library;
import 'dart:ffi' as ffi;
@ffi.Native<ffi.Int Function(ffi.Int, ffi.Int, ffi.Int, ffi.Int)>(isLeaf: true)
external int create_thermion_window(
int width,
int height,
int left,
int top,
);
@ffi.Native<ffi.Void Function()>(isLeaf: true)
external void update();

View File

@@ -1,390 +0,0 @@
#pragma comment(lib, "dwmapi.lib")
#pragma comment(lib, "comctl32.lib")
#pragma comment(lib, "Shlwapi.lib")
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "Gdi32.lib")
#pragma comment(lib, "User32.lib")
#pragma comment(lib, "dxgi.lib")
#include <dxgi.h>
#include <cstdint>
#include <chrono>
#include <thread>
#include <algorithm>
#include <Windows.h>
#include <dwmapi.h>
#include <ShObjIdl.h>
#include <iostream>
#include <Windows.h>
#include "thermion_window.h"
namespace thermion {
void PrintDefaultGPU() {
IDXGIFactory* factory = nullptr;
CreateDXGIFactory(__uuidof(IDXGIFactory), (void**)&factory);
IDXGIAdapter* adapter = nullptr;
factory->EnumAdapters(0, &adapter); // 0 is the default adapter
DXGI_ADAPTER_DESC desc;
adapter->GetDesc(&desc);
std::wcout << L"GPU: " << desc.Description << std::endl;
adapter->Release();
factory->Release();
}
///
/// Instantiating a ThermionWindow creates a HWND that can be passed
/// to Filament to create a swapchain.
///
///
class ThermionWindow {
public:
ThermionWindow(
int width,
int height,
int left,
int top);
HWND GetHandle();
void Resize(int width, int height, int left, int top);
uint32_t _width = 0;
uint32_t _height = 0;
uint32_t _left = 0;
uint32_t _top = 0;
private:
HWND _windowHandle;
};
static ThermionWindow* _window;
static bool _running = false;
static std::thread _renderThread;
// Add these for timing and stats
static int _frameCount = 0;
static std::chrono::time_point<std::chrono::steady_clock> _lastFpsLog;
static void RenderLoop() {
_lastFpsLog = std::chrono::steady_clock::now();
auto lastFrame = std::chrono::steady_clock::now();
while (_running) {
auto now = std::chrono::steady_clock::now();
auto frameDuration = std::chrono::duration_cast<std::chrono::microseconds>(now - lastFrame).count();
// Force a redraw
InvalidateRect(_window->GetHandle(), NULL, FALSE);
// Process any pending messages
MSG msg;
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
if (msg.message == WM_QUIT) {
_running = false;
break;
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}
// Wait for vsync
DwmFlush();
// Update timing stats
lastFrame = now;
_frameCount++;
// Log FPS every second
auto timeSinceLastLog = std::chrono::duration_cast<std::chrono::milliseconds>(now - _lastFpsLog).count();
if (timeSinceLastLog >= 1000) { // Every second
float fps = (_frameCount * 1000.0f) / timeSinceLastLog;
float avgFrameTime = timeSinceLastLog / (float)_frameCount;
std::cout << "FPS: " << fps << " Frame Time: " << avgFrameTime << "ms"
<< " Last Frame: " << frameDuration / 1000.0f << "ms" << std::endl;
_frameCount = 0;
_lastFpsLog = now;
}
}
}
extern "C" {
EMSCRIPTEN_KEEPALIVE intptr_t create_thermion_window(int width, int height, int left, int top) {
_window = new ThermionWindow(width, height, left, top);
// Start the render thread
_running = true;
_renderThread = std::thread(RenderLoop);
return (intptr_t)_window->GetHandle();
}
// Update function can now be simplified or removed since rendering happens in the thread
EMSCRIPTEN_KEEPALIVE void update() {
}
// Add a cleanup function
EMSCRIPTEN_KEEPALIVE void cleanup() {
_running = false;
if (_renderThread.joinable()) {
_renderThread.join();
}
if (_window) {
delete _window;
_window = nullptr;
}
}
}
static constexpr auto kClassName = L"THERMION_WINDOW";
static constexpr auto kWindowName = L"thermion_window";
static bool was_window_hidden_due_to_minimize_ = false;
static WPARAM last_wm_size_wparam_ = SIZE_RESTORED;
uint64_t last_thread_time_ = 0;
static constexpr auto kNativeViewPositionAndShowDelay = 300;
typedef enum _WINDOWCOMPOSITIONATTRIB {
WCA_UNDEFINED = 0,
WCA_NCRENDERING_ENABLED = 1,
WCA_NCRENDERING_POLICY = 2,
WCA_TRANSITIONS_FORCEDISABLED = 3,
WCA_ALLOW_NCPAINT = 4,
WCA_CAPTION_BUTTON_BOUNDS = 5,
WCA_NONCLIENT_RTL_LAYOUT = 6,
WCA_FORCE_ICONIC_REPRESENTATION = 7,
WCA_EXTENDED_FRAME_BOUNDS = 8,
WCA_HAS_ICONIC_BITMAP = 9,
WCA_THEME_ATTRIBUTES = 10,
WCA_NCRENDERING_EXILED = 11,
WCA_NCADORNMENTINFO = 12,
WCA_EXCLUDED_FROM_LIVEPREVIEW = 13,
WCA_VIDEO_OVERLAY_ACTIVE = 14,
WCA_FORCE_ACTIVEWINDOW_APPEARANCE = 15,
WCA_DISALLOW_PEEK = 16,
WCA_CLOAK = 17,
WCA_CLOAKED = 18,
WCA_ACCENT_POLICY = 19,
WCA_FREEZE_REPRESENTATION = 20,
WCA_EVER_UNCLOAKED = 21,
WCA_VISUAL_OWNER = 22,
WCA_HOLOGRAPHIC = 23,
WCA_EXCLUDED_FROM_DDA = 24,
WCA_PASSIVEUPDATEMODE = 25,
WCA_USEDARKMODECOLORS = 26,
WCA_LAST = 27
} WINDOWCOMPOSITIONATTRIB;
typedef struct _WINDOWCOMPOSITIONATTRIBDATA {
WINDOWCOMPOSITIONATTRIB Attrib;
PVOID pvData;
SIZE_T cbData;
} WINDOWCOMPOSITIONATTRIBDATA;
typedef enum _ACCENT_STATE {
ACCENT_DISABLED = 0,
ACCENT_ENABLE_GRADIENT = 1,
ACCENT_ENABLE_TRANSPARENTGRADIENT = 2,
ACCENT_ENABLE_BLURBEHIND = 3,
ACCENT_ENABLE_ACRYLICBLURBEHIND = 4,
ACCENT_ENABLE_HOSTBACKDROP = 5,
ACCENT_INVALID_STATE = 6
} ACCENT_STATE;
typedef struct _ACCENT_POLICY {
ACCENT_STATE AccentState;
DWORD AccentFlags;
DWORD GradientColor;
DWORD AnimationId;
} ACCENT_POLICY;
typedef BOOL(WINAPI* _GetWindowCompositionAttribute)(
HWND, WINDOWCOMPOSITIONATTRIBDATA*);
typedef BOOL(WINAPI* _SetWindowCompositionAttribute)(
HWND, WINDOWCOMPOSITIONATTRIBDATA*);
static _SetWindowCompositionAttribute g_set_window_composition_attribute = NULL;
static bool g_set_window_composition_attribute_initialized = false;
typedef LONG NTSTATUS, *PNTSTATUS;
#define STATUS_SUCCESS (0x00000000)
typedef NTSTATUS(WINAPI* RtlGetVersionPtr)(PRTL_OSVERSIONINFOW);
RTL_OSVERSIONINFOW GetWindowsVersion() {
HMODULE hmodule = ::GetModuleHandleW(L"ntdll.dll");
if (hmodule) {
RtlGetVersionPtr rtl_get_version_ptr =
(RtlGetVersionPtr)::GetProcAddress(hmodule, "RtlGetVersion");
if (rtl_get_version_ptr != nullptr) {
RTL_OSVERSIONINFOW rovi = {0};
rovi.dwOSVersionInfoSize = sizeof(rovi);
if (STATUS_SUCCESS == rtl_get_version_ptr(&rovi)) {
return rovi;
}
}
}
RTL_OSVERSIONINFOW rovi = {0};
return rovi;
}
void SetWindowComposition(HWND window, int32_t accent_state,
int32_t gradient_color) {
// TODO: Look for a better available API.
if (GetWindowsVersion().dwBuildNumber >= 18362) {
if (!g_set_window_composition_attribute_initialized) {
auto user32 = ::GetModuleHandleA("user32.dll");
if (user32) {
g_set_window_composition_attribute =
reinterpret_cast<_SetWindowCompositionAttribute>(
::GetProcAddress(user32, "SetWindowCompositionAttribute"));
if (g_set_window_composition_attribute) {
g_set_window_composition_attribute_initialized = true;
}
}
}
ACCENT_POLICY accent = {static_cast<ACCENT_STATE>(accent_state), 2,
static_cast<DWORD>(gradient_color), 0};
WINDOWCOMPOSITIONATTRIBDATA data;
data.Attrib = WCA_ACCENT_POLICY;
data.pvData = &accent;
data.cbData = sizeof(accent);
g_set_window_composition_attribute(window, &data);
}
}
// Add tracking for drag state
static bool isDragging = false;
static POINT dragStart = {0, 0};
static POINT windowStart = {0, 0};
LRESULT CALLBACK FilamentWindowProc(HWND const window, UINT const message,
WPARAM const wparam,
LPARAM const lparam) noexcept {
switch (message) {
case WM_DESTROY: {
PostQuitMessage(0);
return 0;
}
case WM_NCHITTEST: {
POINT pt = { LOWORD(lparam), HIWORD(lparam) };
ScreenToClient(window, &pt);
return HTCAPTION;
}
case WM_MOUSEMOVE: {
TRACKMOUSEEVENT event;
event.cbSize = sizeof(event);
event.hwndTrack = window;
event.dwFlags = TME_HOVER;
event.dwHoverTime = 200;
auto user_data = ::GetWindowLongPtr(window, GWLP_USERDATA);
if (user_data) {
HWND flutterRootWindow = reinterpret_cast<HWND>(user_data);
LONG ex_style = ::GetWindowLong(flutterRootWindow, GWL_EXSTYLE);
ex_style &= ~(WS_EX_TRANSPARENT | WS_EX_LAYERED);
::SetWindowLong(flutterRootWindow, GWL_EXSTYLE, ex_style);
}
break;
}
case WM_ERASEBKGND: {
HDC hdc = (HDC)wparam;
RECT rect;
GetClientRect(window, &rect);
ThermionWindow* thermionWindow = reinterpret_cast<ThermionWindow*>(
GetWindowLongPtr(window, GWLP_USERDATA));
if (thermionWindow) {
HBRUSH brush = CreateSolidBrush(RGB(0, 0, 255));
FillRect(hdc, &rect, brush);
DeleteObject(brush);
}
return TRUE;
}
case WM_SIZE:
case WM_MOVE:
case WM_MOVING:
case WM_WINDOWPOSCHANGED: {
auto user_data = ::GetWindowLongPtr(window, GWLP_USERDATA);
if (user_data) {
HWND flutterRootWindow = reinterpret_cast<HWND>(user_data);
LONG ex_style = ::GetWindowLong(flutterRootWindow, GWL_EXSTYLE);
ex_style &= ~(WS_EX_TRANSPARENT | WS_EX_LAYERED);
::SetWindowLong(flutterRootWindow, GWL_EXSTYLE, ex_style);
}
break;
}
default:
return ::DefWindowProc(window, message, wparam, lparam);
}
return 0;
}
ThermionWindow::ThermionWindow(int width,
int height,
int left,
int top) : _width(width), _height(height), _left(left), _top(top) {
PrintDefaultGPU();
auto window_class = WNDCLASSEX{};
::SecureZeroMemory(&window_class, sizeof(window_class));
window_class.cbSize = sizeof(window_class);
window_class.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
window_class.lpfnWndProc = FilamentWindowProc;
window_class.hInstance = GetModuleHandle(nullptr);
window_class.lpszClassName = L"THERMION_WINDOW";
window_class.hCursor = ::LoadCursorW(nullptr, IDC_ARROW);
window_class.hbrBackground = ::CreateSolidBrush(RGB(0,255,0));
::RegisterClassExW(&window_class);
// Create a normal popup window without forcing it to be topmost
_windowHandle = ::CreateWindowW(
L"THERMION_WINDOW",
L"thermion_window",
WS_OVERLAPPEDWINDOW,
left, top, width, height,
nullptr, nullptr,
GetModuleHandle(nullptr),
nullptr
);
// Store the this pointer for use in window procedure
::SetWindowLongPtr(_windowHandle, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(this));
// Disable DWM animations
auto disable_window_transitions = TRUE;
DwmSetWindowAttribute(_windowHandle, DWMWA_TRANSITIONS_FORCEDISABLED,
&disable_window_transitions,
sizeof(disable_window_transitions));
::ShowWindow(_windowHandle, SW_SHOW);
UpdateWindow(_windowHandle);
}
void ThermionWindow::Resize(int width, int height, int left, int top) {
_width = width;
_height = height;
_left = left;
_top = top;
::SetWindowPos(_windowHandle, nullptr, left, top, width, height,
SWP_NOZORDER | SWP_NOACTIVATE);
}
HWND ThermionWindow::GetHandle() { return _windowHandle; }
} // namespace thermion

View File

@@ -1,14 +0,0 @@
#pragma once
#ifdef IS_DLL
#define EMSCRIPTEN_KEEPALIVE __declspec(dllimport)
#else
#define EMSCRIPTEN_KEEPALIVE __declspec(dllexport)
#endif
extern "C" {
intptr_t create_thermion_window(int width, int height, int left, int top);
void update();
}

View File

@@ -1,42 +0,0 @@
name: cli_windows
description: A sample command-line application with basic argument parsing.
version: 0.0.1
# repository: https://github.com/my_org/my_repo
environment:
sdk: ^3.6.0-326.0.dev
# Add regular dependencies here.
dependencies:
args: ^2.5.0
thermion_dart:
path: ../../../thermion_dart
ffi: ^2.1.3
vector_math: ^2.1.4
native_toolchain_c: ^0.4.2
native_assets_cli: ^0.6.1
dev_dependencies:
lints: ^5.0.0
test: ^1.24.0
ffigen: ^13.0.0
ffigen:
output: 'lib/thermion_window.g.dart'
headers:
entry-points:
- 'native/thermion_window.h'
include-directives:
- 'native/thermion_window.h'
ffi-native:
assetId: package:cli_windows/thermion_window.dart
ignore-source-errors: true
llvm-path:
- E:\clang+llvm-19.1.3-x86_64-pc-windows-msvc\bin
- E:\clang+llvm-19.1.3-x86_64-pc-windows-msvc\
- E:\clang+llvm-19.1.3-x86_64-pc-windows-msvc\lib
functions:
leaf:
include:
- '.*'

View File

@@ -1,45 +0,0 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.build/
.buildlog/
.history
.svn/
.swiftpm/
migrate_working_dir/
# 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
.pub-cache/
.pub/
/build/
# 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

View File

@@ -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: "bae79714317430baa8e9d2edeb6accdaedfd5e06"
channel: "master"
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: bae79714317430baa8e9d2edeb6accdaedfd5e06
base_revision: bae79714317430baa8e9d2edeb6accdaedfd5e06
- platform: android
create_revision: bae79714317430baa8e9d2edeb6accdaedfd5e06
base_revision: bae79714317430baa8e9d2edeb6accdaedfd5e06
# 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'

View File

@@ -1,4 +0,0 @@
# Thermion Example - Camera Manipulation
A Flutter project demonstrating how to use the Thermion rendering toolkit to manipulate the camera position programatically and via device input (mouse pointer or touch screen).

View File

@@ -1,28 +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.dev/lints.
#
# 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

View File

@@ -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/to/reference-keystore
key.properties
**/*.keystore
**/*.jks

View File

@@ -1,44 +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 = "com.example.quickstart"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
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 = "com.example.quickstart"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = 22
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig = signingConfigs.debug
}
}
}
flutter {
source = "../.."
}

View File

@@ -1,7 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

View File

@@ -1,45 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="quickstart"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
<!-- Required to query activities that can process text, see:
https://developer.android.com/training/package-visibility and
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
<queries>
<intent>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<data android:mimeType="text/plain"/>
</intent>
</queries>
</manifest>

View File

@@ -1,5 +0,0 @@
package com.example.quickstart
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity()

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

View File

@@ -1,7 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

View File

@@ -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
}

View File

@@ -1,3 +0,0 @@
org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true

View File

@@ -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-8.3-all.zip

View File

@@ -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 '8.2.2' apply false
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
}
include ":app"

View File

@@ -1 +0,0 @@
../../assets

View File

@@ -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

View File

@@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>App</string>
<key>CFBundleIdentifier</key>
<string>io.flutter.flutter.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>App</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>12.0</string>
</dict>
</plist>

View File

@@ -1,2 +0,0 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"

View File

@@ -1,2 +0,0 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"

View File

@@ -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

View File

@@ -1,22 +0,0 @@
PODS:
- Flutter (1.0.0)
- thermion_flutter (0.0.1):
- Flutter
DEPENDENCIES:
- Flutter (from `Flutter`)
- thermion_flutter (from `.symlinks/plugins/thermion_flutter/ios`)
EXTERNAL SOURCES:
Flutter:
:path: Flutter
thermion_flutter:
:path: ".symlinks/plugins/thermion_flutter/ios"
SPEC CHECKSUMS:
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
thermion_flutter: c965e09831858465a1a8df59ff97e40a4d002773
PODFILE CHECKSUM: a57f30d18f102dd3ce366b1d62a55ecbef2158e5
COCOAPODS: 1.15.2

View File

@@ -1,715 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
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 */; };
F657CCCFB062AF56C7F1E15C /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D988E66CA93AB1163F3B4F2 /* Pods_RunnerTests.framework */; };
F8DC37C0013EE3DC8802435E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B0831D015898C7047513698C /* Pods_Runner.framework */; };
/* 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 = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
31D54E0731320192F7631461 /* 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 = "<group>"; };
331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
3680A9DFE5EC3E59C051B544 /* 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 = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
3D988E66CA93AB1163F3B4F2 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
704E1C99CAABFB056933D88F /* 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 = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
8C0FE5C77038897D844C5D42 /* 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 = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
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 = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
9CD72080C199DAE3518D4C3D /* 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 = "<group>"; };
B0831D015898C7047513698C /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
BA68F2C1572D8BC92CC4C4FF /* 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 = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
F8DC37C0013EE3DC8802435E /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FA72758808529BDB8770545F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
F657CCCFB062AF56C7F1E15C /* Pods_RunnerTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0DB20859A61D425430A5D097 /* Frameworks */ = {
isa = PBXGroup;
children = (
B0831D015898C7047513698C /* Pods_Runner.framework */,
3D988E66CA93AB1163F3B4F2 /* Pods_RunnerTests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
331C8082294A63A400263BE5 /* RunnerTests */ = {
isa = PBXGroup;
children = (
331C807B294A618700263BE5 /* RunnerTests.swift */,
);
path = RunnerTests;
sourceTree = "<group>";
};
4A129A4D3EB41F9DE0778AAC /* Pods */ = {
isa = PBXGroup;
children = (
704E1C99CAABFB056933D88F /* Pods-Runner.debug.xcconfig */,
3680A9DFE5EC3E59C051B544 /* Pods-Runner.release.xcconfig */,
8C0FE5C77038897D844C5D42 /* Pods-Runner.profile.xcconfig */,
31D54E0731320192F7631461 /* Pods-RunnerTests.debug.xcconfig */,
BA68F2C1572D8BC92CC4C4FF /* Pods-RunnerTests.release.xcconfig */,
9CD72080C199DAE3518D4C3D /* Pods-RunnerTests.profile.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
};
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
);
name = Flutter;
sourceTree = "<group>";
};
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
331C8082294A63A400263BE5 /* RunnerTests */,
4A129A4D3EB41F9DE0778AAC /* Pods */,
0DB20859A61D425430A5D097 /* Frameworks */,
);
sourceTree = "<group>";
};
97C146EF1CF9000F007C117D /* Products */ = {
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
331C8081294A63A400263BE5 /* RunnerTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
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 = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
331C8080294A63A400263BE5 /* RunnerTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
buildPhases = (
78F05AF37D9E628BE6E89ABD /* [CP] Check Pods Manifest.lock */,
331C807D294A63A400263BE5 /* Sources */,
331C807F294A63A400263BE5 /* Resources */,
FA72758808529BDB8770545F /* 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 = (
C7C2718364AC4E2451407065 /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
);
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";
};
78F05AF37D9E628BE6E89ABD /* [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";
};
C7C2718364AC4E2451407065 /* [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 = "<group>";
};
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C147001CF9000F007C117D /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* 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;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.quickstart;
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 = 31D54E0731320192F7631461 /* 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 = com.example.quickstart.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 = BA68F2C1572D8BC92CC4C4FF /* 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 = com.example.quickstart.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 = 9CD72080C199DAE3518D4C3D /* 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 = com.example.quickstart.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;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.quickstart;
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;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.quickstart;
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 */;
}

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>

View File

@@ -1,98 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "331C8080294A63A400263BE5"
BuildableName = "RunnerTests.xctest"
BlueprintName = "RunnerTests"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>

View File

@@ -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)
}
}

View File

@@ -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"
}
}

Some files were not shown because too many files have changed in this diff Show More