Compare commits
3 Commits
thermion_d
...
thermion_f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8c6c33269 | ||
|
|
6e5627f90e | ||
|
|
1921007fc6 |
395
.gitattributes
vendored
Normal 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
|
||||||
82
.github/workflows/dart.yml
vendored
@@ -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
|
|
||||||
1264
CHANGELOG.md
12
Makefile
@@ -12,7 +12,6 @@ flutter-example-web: dart-web-clean dart-web
|
|||||||
flutter-example-macos:
|
flutter-example-macos:
|
||||||
cd thermion_flutter_federated/thermion_flutter/example/web && flutter run -d macos
|
cd thermion_flutter_federated/thermion_flutter/example/web && flutter run -d macos
|
||||||
swift-bindings:
|
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
|
cd thermion_dart/ && dart --enable-experiment=native-assets run ffigen --config ffigen/swift.yaml
|
||||||
bindings:
|
bindings:
|
||||||
cd thermion_dart/ && dart --enable-experiment=native-assets run ffigen --config ffigen/native.yaml
|
cd thermion_dart/ && dart --enable-experiment=native-assets run ffigen --config ffigen/native.yaml
|
||||||
@@ -23,13 +22,10 @@ bindings:
|
|||||||
#
|
#
|
||||||
materials: FORCE
|
materials: FORCE
|
||||||
@echo "Using Filament build from ${FILAMENT_PATH}"
|
@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/image.filamat materials/image.mat
|
||||||
${FILAMENT_PATH}/matc -a opengl -a metal -o materials/$$material.filamat materials/$$material.mat; \
|
$(FILAMENT_PATH)/resgen -c -p image -x ios/include/material/ materials/image.filamat
|
||||||
$(FILAMENT_PATH)/resgen -c -p $$material -x thermion_dart/native/include/material/ materials/$$material.filamat; \
|
$(FILAMENT_PATH)/matc -a opengl -a metal -o materials/gizmo.filamat materials/gizmo.mat
|
||||||
echo '#include "'$$material'.h"' | cat - thermion_dart/native/include/material/$$material.c > thermion_dart/native/include/material/$$material.c.new; \
|
$(FILAMENT_PATH)/resgen -c -p gizmo -x ios/include/material/ materials/gizmo.filamat
|
||||||
mv thermion_dart/native/include/material/$$material.c.new thermion_dart/native/include/material/$$material.c; \
|
|
||||||
done
|
|
||||||
|
|
||||||
#rm materials/*.filamat
|
#rm materials/*.filamat
|
||||||
|
|
||||||
FORCE: ;
|
FORCE: ;
|
||||||
|
|||||||
59
README.md
@@ -3,7 +3,7 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://thermion.dev/quickstart">Quickstart (Flutter)</a> •
|
<a href="https://thermion.dev/quickstart">Quickstart (Flutter)</a> •
|
||||||
<a href="https://thermion.dev/">Documentation</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://dartpad.thermion.dev/">Playground</a> •
|
||||||
<a href="https://discord.gg/h2VdDK3EAQ">Discord</a>
|
<a href="https://discord.gg/h2VdDK3EAQ">Discord</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -22,63 +22,6 @@
|
|||||||
- camera/entity manipulation with mouse (desktop) and gestures (mobile)
|
- camera/entity manipulation with mouse (desktop) and gestures (mobile)
|
||||||
- skinning + morph animations
|
- 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
|
### Sponsors, Contributors & Acknowledgments
|
||||||
|
|
||||||
Thermion uses the [Filament](https://github.com/google/filament) Physically Based Rendering engine under the hood.
|
Thermion uses the [Filament](https://github.com/google/filament) Physically Based Rendering engine under the hood.
|
||||||
|
|||||||
@@ -7,13 +7,12 @@
|
|||||||
"Getting Started",
|
"Getting Started",
|
||||||
[
|
[
|
||||||
["Overview", "/"],
|
["Overview", "/"],
|
||||||
["Quick Start", "/quickstart"],
|
["Quick Start", "/quickstart"]
|
||||||
["Camera Manipulation", "/camera_manipulation"]
|
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
["Misc.", [
|
["Misc.", [
|
||||||
["Playground", "https://dartpad.thermion.dev"],
|
["Playground", "https://dartpad.thermion.dev"],
|
||||||
["Showcase", "/showcase"],
|
["Examples", "/examples"],
|
||||||
["Windows", "/windows"],
|
["Windows", "/windows"],
|
||||||
["Android", "/android"],
|
["Android", "/android"],
|
||||||
["Contributing", "/contributing"],
|
["Contributing", "/contributing"],
|
||||||
|
|||||||
@@ -1,19 +1,5 @@
|
|||||||
## Android
|
## 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`:
|
In release mode, you must add the following to your `app/build.gradle`:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -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.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -6,13 +6,6 @@ A custom DartPad that lets you experiment with Thermion from your browser (curre
|
|||||||
|
|
||||||
[](https://dartpad.thermion.dev)
|
[](https://dartpad.thermion.dev)
|
||||||
|
|
||||||
## mixreel (Flutter/Web)
|
|
||||||
|
|
||||||
Create 3D worlds and translate to AI video.
|
|
||||||
|
|
||||||
[](https://mixreel.ai)
|
|
||||||
|
|
||||||
|
|
||||||
## Nick Fisher
|
## 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)).
|
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)).
|
||||||
@@ -39,6 +39,11 @@ and change the minimum deployment target to 13.0:
|
|||||||
|
|
||||||
</Accordion>
|
</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
|
2. Add a folder containing your assets (glTF model + skybox ktx) to your `pubspec.yaml` asset list
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
|||||||
@@ -1,6 +1,32 @@
|
|||||||
## Windows
|
## 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)
|
## 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).
|
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).
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
# Thermion Examples
|
|
||||||
|
|
||||||
This repository contains example Dart and Flutter projects for the Thermion rendering toolkit.
|
|
||||||
|
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 531 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 856 KiB |
|
Before Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 193 KiB |
|
Before Width: | Height: | Size: 3.7 MiB |
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 500 KiB |
|
Before Width: | Height: | Size: 614 KiB |
|
Before Width: | Height: | Size: 457 KiB |
@@ -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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 2.6 MiB |
|
Before Width: | Height: | Size: 5.1 MiB |
|
Before Width: | Height: | Size: 806 KiB |
|
Before Width: | Height: | Size: 2.9 MiB |
|
Before Width: | Height: | Size: 3.8 MiB |
|
Before Width: | Height: | Size: 3.0 MiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 3.5 MiB |
|
Before Width: | Height: | Size: 3.5 MiB |
|
Before Width: | Height: | Size: 4.4 MiB |
|
Before Width: | Height: | Size: 5.1 MiB |
|
Before Width: | Height: | Size: 737 KiB |
|
Before Width: | Height: | Size: 3.6 MiB |
|
Before Width: | Height: | Size: 4.3 MiB |
@@ -1,16 +0,0 @@
|
|||||||
# Flight Helmet
|
|
||||||
|
|
||||||
## Screenshot
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## License Information
|
|
||||||
|
|
||||||
Donated by Microsoft for glTF testing
|
|
||||||
|
|
||||||
[](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
|
|
||||||
|
Before Width: | Height: | Size: 572 KiB |
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
3
examples/dart/cli_windows/.gitignore
vendored
@@ -1,3 +0,0 @@
|
|||||||
# https://dart.dev/guides/libraries/private-files
|
|
||||||
# Created by `dart pub`
|
|
||||||
.dart_tool/
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
## 1.0.0
|
|
||||||
|
|
||||||
- Initial version.
|
|
||||||
@@ -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
|
|
||||||
```
|
|
||||||
@@ -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
|
|
||||||
@@ -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));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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,
|
|
||||||
);
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -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();
|
|
||||||
@@ -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
|
|
||||||
@@ -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();
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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:
|
|
||||||
- '.*'
|
|
||||||
|
|
||||||
|
|
||||||
45
examples/flutter/camera_manipulation/.gitignore
vendored
@@ -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
|
|
||||||
@@ -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'
|
|
||||||
@@ -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).
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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 = "../.."
|
|
||||||
}
|
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
package com.example.quickstart
|
|
||||||
|
|
||||||
import io.flutter.embedding.android.FlutterActivity
|
|
||||||
|
|
||||||
class MainActivity: FlutterActivity()
|
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
|
Before Width: | Height: | Size: 544 B |
|
Before Width: | Height: | Size: 442 B |
|
Before Width: | Height: | Size: 721 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
|
|
||||||
android.useAndroidX=true
|
|
||||||
android.enableJetifier=true
|
|
||||||
@@ -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
|
|
||||||
@@ -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"
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
../../assets
|
|
||||||
@@ -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
|
|
||||||
@@ -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>
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
|
|
||||||
#include "Generated.xcconfig"
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
|
|
||||||
#include "Generated.xcconfig"
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -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 */;
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Workspace
|
|
||||||
version = "1.0">
|
|
||||||
<FileRef
|
|
||||||
location = "self:">
|
|
||||||
</FileRef>
|
|
||||||
</Workspace>
|
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 11 KiB |