-
-
diff --git a/assets/sound/hitSong0.wav b/assets/sound/hitSong0.wav
new file mode 100644
index 0000000..0d0c3ce
Binary files /dev/null and b/assets/sound/hitSong0.wav differ
diff --git a/assets/sound/hitSong1.wav b/assets/sound/hitSong1.wav
new file mode 100644
index 0000000..3b446b6
Binary files /dev/null and b/assets/sound/hitSong1.wav differ
diff --git a/assets/sound/hitSong2.wav b/assets/sound/hitSong2.wav
new file mode 100644
index 0000000..397bfaa
Binary files /dev/null and b/assets/sound/hitSong2.wav differ
diff --git a/assets/phasetida-node-demo/splash/splash0.png b/assets/splash/splash0.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash0.png
rename to assets/splash/splash0.png
diff --git a/assets/phasetida-node-demo/splash/splash1.png b/assets/splash/splash1.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash1.png
rename to assets/splash/splash1.png
diff --git a/assets/phasetida-node-demo/splash/splash10.png b/assets/splash/splash10.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash10.png
rename to assets/splash/splash10.png
diff --git a/assets/phasetida-node-demo/splash/splash11.png b/assets/splash/splash11.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash11.png
rename to assets/splash/splash11.png
diff --git a/assets/phasetida-node-demo/splash/splash12.png b/assets/splash/splash12.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash12.png
rename to assets/splash/splash12.png
diff --git a/assets/phasetida-node-demo/splash/splash13.png b/assets/splash/splash13.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash13.png
rename to assets/splash/splash13.png
diff --git a/assets/phasetida-node-demo/splash/splash14.png b/assets/splash/splash14.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash14.png
rename to assets/splash/splash14.png
diff --git a/assets/phasetida-node-demo/splash/splash15.png b/assets/splash/splash15.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash15.png
rename to assets/splash/splash15.png
diff --git a/assets/phasetida-node-demo/splash/splash16.png b/assets/splash/splash16.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash16.png
rename to assets/splash/splash16.png
diff --git a/assets/phasetida-node-demo/splash/splash17.png b/assets/splash/splash17.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash17.png
rename to assets/splash/splash17.png
diff --git a/assets/phasetida-node-demo/splash/splash18.png b/assets/splash/splash18.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash18.png
rename to assets/splash/splash18.png
diff --git a/assets/phasetida-node-demo/splash/splash19.png b/assets/splash/splash19.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash19.png
rename to assets/splash/splash19.png
diff --git a/assets/phasetida-node-demo/splash/splash2.png b/assets/splash/splash2.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash2.png
rename to assets/splash/splash2.png
diff --git a/assets/phasetida-node-demo/splash/splash20.png b/assets/splash/splash20.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash20.png
rename to assets/splash/splash20.png
diff --git a/assets/phasetida-node-demo/splash/splash21.png b/assets/splash/splash21.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash21.png
rename to assets/splash/splash21.png
diff --git a/assets/phasetida-node-demo/splash/splash22.png b/assets/splash/splash22.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash22.png
rename to assets/splash/splash22.png
diff --git a/assets/phasetida-node-demo/splash/splash23.png b/assets/splash/splash23.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash23.png
rename to assets/splash/splash23.png
diff --git a/assets/phasetida-node-demo/splash/splash24.png b/assets/splash/splash24.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash24.png
rename to assets/splash/splash24.png
diff --git a/assets/phasetida-node-demo/splash/splash25.png b/assets/splash/splash25.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash25.png
rename to assets/splash/splash25.png
diff --git a/assets/phasetida-node-demo/splash/splash26.png b/assets/splash/splash26.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash26.png
rename to assets/splash/splash26.png
diff --git a/assets/phasetida-node-demo/splash/splash27.png b/assets/splash/splash27.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash27.png
rename to assets/splash/splash27.png
diff --git a/assets/phasetida-node-demo/splash/splash28.png b/assets/splash/splash28.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash28.png
rename to assets/splash/splash28.png
diff --git a/assets/phasetida-node-demo/splash/splash29.png b/assets/splash/splash29.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash29.png
rename to assets/splash/splash29.png
diff --git a/assets/phasetida-node-demo/splash/splash3.png b/assets/splash/splash3.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash3.png
rename to assets/splash/splash3.png
diff --git a/assets/phasetida-node-demo/splash/splash4.png b/assets/splash/splash4.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash4.png
rename to assets/splash/splash4.png
diff --git a/assets/phasetida-node-demo/splash/splash5.png b/assets/splash/splash5.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash5.png
rename to assets/splash/splash5.png
diff --git a/assets/phasetida-node-demo/splash/splash6.png b/assets/splash/splash6.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash6.png
rename to assets/splash/splash6.png
diff --git a/assets/phasetida-node-demo/splash/splash7.png b/assets/splash/splash7.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash7.png
rename to assets/splash/splash7.png
diff --git a/assets/phasetida-node-demo/splash/splash8.png b/assets/splash/splash8.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash8.png
rename to assets/splash/splash8.png
diff --git a/assets/phasetida-node-demo/splash/splash9.png b/assets/splash/splash9.png
similarity index 100%
rename from assets/phasetida-node-demo/splash/splash9.png
rename to assets/splash/splash9.png
diff --git a/cargokit/.gitignore b/cargokit/.gitignore
new file mode 100644
index 0000000..cf7bb86
--- /dev/null
+++ b/cargokit/.gitignore
@@ -0,0 +1,4 @@
+target
+.dart_tool
+*.iml
+!pubspec.lock
diff --git a/cargokit/LICENSE b/cargokit/LICENSE
new file mode 100644
index 0000000..d33a5fe
--- /dev/null
+++ b/cargokit/LICENSE
@@ -0,0 +1,42 @@
+/// This is copied from Cargokit (which is the official way to use it currently)
+/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin
+
+Copyright 2022 Matej Knopp
+
+================================================================================
+
+MIT LICENSE
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+================================================================================
+
+APACHE LICENSE, VERSION 2.0
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
diff --git a/cargokit/README b/cargokit/README
new file mode 100644
index 0000000..398474d
--- /dev/null
+++ b/cargokit/README
@@ -0,0 +1,11 @@
+/// This is copied from Cargokit (which is the official way to use it currently)
+/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin
+
+Experimental repository to provide glue for seamlessly integrating cargo build
+with flutter plugins and packages.
+
+See https://matejknopp.com/post/flutter_plugin_in_rust_with_no_prebuilt_binaries/
+for a tutorial on how to use Cargokit.
+
+Example plugin available at https://github.com/irondash/hello_rust_ffi_plugin.
+
diff --git a/cargokit/build_pod.sh b/cargokit/build_pod.sh
new file mode 100644
index 0000000..ed0e0d9
--- /dev/null
+++ b/cargokit/build_pod.sh
@@ -0,0 +1,58 @@
+#!/bin/sh
+set -e
+
+BASEDIR=$(dirname "$0")
+
+# Workaround for https://github.com/dart-lang/pub/issues/4010
+BASEDIR=$(cd "$BASEDIR" ; pwd -P)
+
+# Remove XCode SDK from path. Otherwise this breaks tool compilation when building iOS project
+NEW_PATH=`echo $PATH | tr ":" "\n" | grep -v "Contents/Developer/" | tr "\n" ":"`
+
+export PATH=${NEW_PATH%?} # remove trailing :
+
+env
+
+# Platform name (macosx, iphoneos, iphonesimulator)
+export CARGOKIT_DARWIN_PLATFORM_NAME=$PLATFORM_NAME
+
+# Arctive architectures (arm64, armv7, x86_64), space separated.
+export CARGOKIT_DARWIN_ARCHS=$ARCHS
+
+# Current build configuration (Debug, Release)
+export CARGOKIT_CONFIGURATION=$CONFIGURATION
+
+# Path to directory containing Cargo.toml.
+export CARGOKIT_MANIFEST_DIR=$PODS_TARGET_SRCROOT/$1
+
+# Temporary directory for build artifacts.
+export CARGOKIT_TARGET_TEMP_DIR=$TARGET_TEMP_DIR
+
+# Output directory for final artifacts.
+export CARGOKIT_OUTPUT_DIR=$PODS_CONFIGURATION_BUILD_DIR/$PRODUCT_NAME
+
+# Directory to store built tool artifacts.
+export CARGOKIT_TOOL_TEMP_DIR=$TARGET_TEMP_DIR/build_tool
+
+# Directory inside root project. Not necessarily the top level directory of root project.
+export CARGOKIT_ROOT_PROJECT_DIR=$SRCROOT
+
+FLUTTER_EXPORT_BUILD_ENVIRONMENT=(
+ "$PODS_ROOT/../Flutter/ephemeral/flutter_export_environment.sh" # macOS
+ "$PODS_ROOT/../Flutter/flutter_export_environment.sh" # iOS
+)
+
+for path in "${FLUTTER_EXPORT_BUILD_ENVIRONMENT[@]}"
+do
+ if [[ -f "$path" ]]; then
+ source "$path"
+ fi
+done
+
+sh "$BASEDIR/run_build_tool.sh" build-pod "$@"
+
+# Make a symlink from built framework to phony file, which will be used as input to
+# build script. This should force rebuild (podspec currently doesn't support alwaysOutOfDate
+# attribute on custom build phase)
+ln -fs "$OBJROOT/XCBuildData/build.db" "${BUILT_PRODUCTS_DIR}/cargokit_phony"
+ln -fs "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}" "${BUILT_PRODUCTS_DIR}/cargokit_phony_out"
diff --git a/cargokit/build_tool/README.md b/cargokit/build_tool/README.md
new file mode 100644
index 0000000..a878c27
--- /dev/null
+++ b/cargokit/build_tool/README.md
@@ -0,0 +1,5 @@
+/// This is copied from Cargokit (which is the official way to use it currently)
+/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin
+
+A sample command-line application with an entrypoint in `bin/`, library code
+in `lib/`, and example unit test in `test/`.
diff --git a/cargokit/build_tool/analysis_options.yaml b/cargokit/build_tool/analysis_options.yaml
new file mode 100644
index 0000000..0e16a8b
--- /dev/null
+++ b/cargokit/build_tool/analysis_options.yaml
@@ -0,0 +1,34 @@
+# This is copied from Cargokit (which is the official way to use it currently)
+# Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin
+
+# 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:
+ - prefer_relative_imports
+ - directives_ordering
+
+# analyzer:
+# exclude:
+# - path/to/excluded/files/**
+
+# For more information about the core and recommended set of lints, see
+# https://dart.dev/go/core-lints
+
+# For additional information about configuring this file, see
+# https://dart.dev/guides/language/analysis-options
diff --git a/cargokit/build_tool/bin/build_tool.dart b/cargokit/build_tool/bin/build_tool.dart
new file mode 100644
index 0000000..268eb52
--- /dev/null
+++ b/cargokit/build_tool/bin/build_tool.dart
@@ -0,0 +1,8 @@
+/// This is copied from Cargokit (which is the official way to use it currently)
+/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin
+
+import 'package:build_tool/build_tool.dart' as build_tool;
+
+void main(List arguments) {
+ build_tool.runMain(arguments);
+}
diff --git a/cargokit/build_tool/lib/build_tool.dart b/cargokit/build_tool/lib/build_tool.dart
new file mode 100644
index 0000000..7c1bb75
--- /dev/null
+++ b/cargokit/build_tool/lib/build_tool.dart
@@ -0,0 +1,8 @@
+/// This is copied from Cargokit (which is the official way to use it currently)
+/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin
+
+import 'src/build_tool.dart' as build_tool;
+
+Future runMain(List args) async {
+ return build_tool.runMain(args);
+}
diff --git a/cargokit/build_tool/lib/src/android_environment.dart b/cargokit/build_tool/lib/src/android_environment.dart
new file mode 100644
index 0000000..15fc9ee
--- /dev/null
+++ b/cargokit/build_tool/lib/src/android_environment.dart
@@ -0,0 +1,195 @@
+/// This is copied from Cargokit (which is the official way to use it currently)
+/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin
+
+import 'dart:io';
+import 'dart:isolate';
+import 'dart:math' as math;
+
+import 'package:collection/collection.dart';
+import 'package:path/path.dart' as path;
+import 'package:version/version.dart';
+
+import 'target.dart';
+import 'util.dart';
+
+class AndroidEnvironment {
+ AndroidEnvironment({
+ required this.sdkPath,
+ required this.ndkVersion,
+ required this.minSdkVersion,
+ required this.targetTempDir,
+ required this.target,
+ });
+
+ static void clangLinkerWrapper(List args) {
+ final clang = Platform.environment['_CARGOKIT_NDK_LINK_CLANG'];
+ if (clang == null) {
+ throw Exception(
+ "cargo-ndk rustc linker: didn't find _CARGOKIT_NDK_LINK_CLANG env var");
+ }
+ final target = Platform.environment['_CARGOKIT_NDK_LINK_TARGET'];
+ if (target == null) {
+ throw Exception(
+ "cargo-ndk rustc linker: didn't find _CARGOKIT_NDK_LINK_TARGET env var");
+ }
+
+ runCommand(clang, [
+ target,
+ ...args,
+ ]);
+ }
+
+ /// Full path to Android SDK.
+ final String sdkPath;
+
+ /// Full version of Android NDK.
+ final String ndkVersion;
+
+ /// Minimum supported SDK version.
+ final int minSdkVersion;
+
+ /// Target directory for build artifacts.
+ final String targetTempDir;
+
+ /// Target being built.
+ final Target target;
+
+ bool ndkIsInstalled() {
+ final ndkPath = path.join(sdkPath, 'ndk', ndkVersion);
+ final ndkPackageXml = File(path.join(ndkPath, 'package.xml'));
+ return ndkPackageXml.existsSync();
+ }
+
+ void installNdk({
+ required String javaHome,
+ }) {
+ final sdkManagerExtension = Platform.isWindows ? '.bat' : '';
+ final sdkManager = path.join(
+ sdkPath,
+ 'cmdline-tools',
+ 'latest',
+ 'bin',
+ 'sdkmanager$sdkManagerExtension',
+ );
+
+ log.info('Installing NDK $ndkVersion');
+ runCommand(sdkManager, [
+ '--install',
+ 'ndk;$ndkVersion',
+ ], environment: {
+ 'JAVA_HOME': javaHome,
+ });
+ }
+
+ Future