diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96c8b4512..e1296580f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -113,7 +113,7 @@ jobs: /bin/bash -c "yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null" - name: Install Android SDK - run: echo "sdk.dir=$ANDROID_HOME" > $GITHUB_WORKSPACE/apps/paper/android/local.properties + run: echo "sdk.dir=$ANDROID_HOME" > $GITHUB_WORKSPACE/apps/example/android/local.properties - name: Cache Gradle if: env.turbo_cache_hit != 1 @@ -122,7 +122,7 @@ jobs: path: | ~/.gradle/wrapper ~/.gradle/caches - key: ${{ runner.os }}-gradle-${{ hashFiles('./apps/paper/android/gradle/wrapper/gradle-wrapper.properties') }} + key: ${{ runner.os }}-gradle-${{ hashFiles('./apps/example/android/gradle/wrapper/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- diff --git a/.gitignore b/.gitignore index aa732a95a..321eccf80 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ # Yarn +.package/.yarn/* .yarn/* !.yarn/patches !.yarn/plugins @@ -72,7 +73,7 @@ packages/webgpu/lib # Cocoapods # -apps/paper/ios/Pods +apps/example/**/Pods # Ruby apps/vendor/ diff --git a/apps/paper/.eslintrc b/apps/example/.eslintrc similarity index 67% rename from apps/paper/.eslintrc rename to apps/example/.eslintrc index dd155609e..25a1be278 100644 --- a/apps/paper/.eslintrc +++ b/apps/example/.eslintrc @@ -1,8 +1,8 @@ { "extends": "react-native-wcandillon", - "ignorePatterns": ["**/*/components/meshes"], + "ignorePatterns": ["**/*/components/meshes", "**/Pods/**"], "rules": { "no-bitwise": "off", "@typescript-eslint/no-require-imports": "off" } -} \ No newline at end of file +} diff --git a/apps/example/.gitignore b/apps/example/.gitignore new file mode 100644 index 000000000..1c36e10bb --- /dev/null +++ b/apps/example/.gitignore @@ -0,0 +1,16 @@ +*.binlog +*.hprof +*.xcworkspace/ +*.zip +.DS_Store +.gradle/ +.idea/ +.vs/ +.xcode.env +**/Pods/** +build/ +dist/* +!dist/.gitignore +local.properties +msbuild.binlog +node_modules/ diff --git a/apps/paper/.watchmanconfig b/apps/example/.watchmanconfig similarity index 100% rename from apps/paper/.watchmanconfig rename to apps/example/.watchmanconfig diff --git a/apps/example/android/build.gradle b/apps/example/android/build.gradle new file mode 100644 index 000000000..d8bcc3aeb --- /dev/null +++ b/apps/example/android/build.gradle @@ -0,0 +1,43 @@ +buildscript { + apply(from: { + def searchDir = rootDir.toPath() + do { + def p = searchDir.resolve("node_modules/react-native-test-app/android/dependencies.gradle") + if (p.toFile().exists()) { + return p.toRealPath().toString() + } + } while (searchDir = searchDir.getParent()) + throw new GradleException("Could not find `react-native-test-app`"); + }()) + + repositories { + mavenCentral() + google() + } + + dependencies { + getReactNativeDependencies().each { dependency -> + classpath(dependency) + } + } +} + +allprojects { + repositories { + maven { + // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm + url({ + def searchDir = rootDir.toPath() + do { + def p = searchDir.resolve("node_modules/react-native/android") + if (p.toFile().exists()) { + return p.toRealPath().toString() + } + } while (searchDir = searchDir.getParent()) + throw new GradleException("Could not find `react-native`"); + }()) + } + mavenCentral() + google() + } +} diff --git a/apps/paper/android/gradle.properties b/apps/example/android/gradle.properties similarity index 51% rename from apps/paper/android/gradle.properties rename to apps/example/android/gradle.properties index a46a5b90f..7a18b2909 100644 --- a/apps/paper/android/gradle.properties +++ b/apps/example/android/gradle.properties @@ -7,15 +7,18 @@ # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m -org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m - -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true +# Specifies the JVM arguments used for the Gradle Daemon. The setting is +# particularly useful for configuring JVM memory settings for build performance. +# This does not affect the JVM settings for the Gradle client VM. +# The default is `-Xmx512m -XX:MaxMetaspaceSize=256m`. +org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will fork up to org.gradle.workers.max JVMs to execute +# projects in parallel. To learn more about parallel task execution, see the +# section on Gradle build performance: +# https://docs.gradle.org/current/userguide/performance.html#parallel_execution. +# Default is `false`. +#org.gradle.parallel=true # AndroidX package structure to make it clearer which packages are bundled with the # Android operating system, and which are packaged with your app's APK @@ -23,19 +26,30 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true +# Jetifier randomly fails on these libraries +android.jetifier.ignorelist=hermes-android,react-android # Use this property to specify which architecture you want to build. # You can also override it from the CLI using # ./gradlew -PreactNativeArchitectures=x86_64 reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 +newArchEnabled=false +hermesEnabled=true # Use this property to enable support to the new architecture. # This will allow you to use TurboModules and the Fabric render in # your application. You should enable this flag either if you want # to write custom TurboModules/Fabric components OR use libraries that # are providing them. -newArchEnabled=false +# Note that this is incompatible with web debugging. +#newArchEnabled=true +#bridgelessEnabled=true -# Use this property to enable or disable the Hermes JS engine. -# If set to false, you will be using JSC instead. -hermesEnabled=true +# Uncomment the line below to build React Native from source. +#react.buildFromSource=true + +# Version of Android NDK to build against. +#ANDROID_NDK_VERSION=26.1.10909125 + +# Version of Kotlin to build against. +#KOTLIN_VERSION=1.8.22 diff --git a/apps/example/android/gradle/wrapper/gradle-wrapper.jar b/apps/example/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 000000000..e6441136f Binary files /dev/null and b/apps/example/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/apps/paper/android/gradle/wrapper/gradle-wrapper.properties b/apps/example/android/gradle/wrapper/gradle-wrapper.properties similarity index 94% rename from apps/paper/android/gradle/wrapper/gradle-wrapper.properties rename to apps/example/android/gradle/wrapper/gradle-wrapper.properties index 2ea3535dc..a4413138c 100644 --- a/apps/paper/android/gradle/wrapper/gradle-wrapper.properties +++ b/apps/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/apps/paper/android/gradlew b/apps/example/android/gradlew similarity index 98% rename from apps/paper/android/gradlew rename to apps/example/android/gradlew index 1aa94a426..b740cf133 100755 --- a/apps/paper/android/gradlew +++ b/apps/example/android/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/apps/paper/android/gradlew.bat b/apps/example/android/gradlew.bat similarity index 100% rename from apps/paper/android/gradlew.bat rename to apps/example/android/gradlew.bat diff --git a/apps/example/android/settings.gradle b/apps/example/android/settings.gradle new file mode 100644 index 000000000..7816b5477 --- /dev/null +++ b/apps/example/android/settings.gradle @@ -0,0 +1,21 @@ +pluginManagement { + repositories { + gradlePluginPortal() + mavenCentral() + google() + } +} + +rootProject.name = "Example" + +apply(from: { + def searchDir = rootDir.toPath() + do { + def p = searchDir.resolve("node_modules/react-native-test-app/test-app.gradle") + if (p.toFile().exists()) { + return p.toRealPath().toString() + } + } while (searchDir = searchDir.getParent()) + throw new GradleException("Could not find `react-native-test-app`"); +}()) +applyTestAppSettings(settings) diff --git a/apps/example/app.json b/apps/example/app.json new file mode 100644 index 000000000..c416f7a81 --- /dev/null +++ b/apps/example/app.json @@ -0,0 +1,30 @@ +{ + "name": "Example", + "displayName": "Example", + "singleApp": "example-app", + "components": [ + { + "appKey": "Example", + "displayName": "Example", + "slug": "example-app" + } + ], + "resources": { + "android": [ + "dist/res", + "dist/main.android.jsbundle" + ], + "ios": [ + "dist/assets", + "dist/main.ios.jsbundle" + ], + "macos": [ + "dist/assets", + "dist/main.macos.jsbundle" + ], + "visionos": [ + "dist/assets", + "dist/main.visionos.jsbundle" + ] + } +} diff --git a/apps/paper/babel.config.js b/apps/example/babel.config.js similarity index 100% rename from apps/paper/babel.config.js rename to apps/example/babel.config.js diff --git a/apps/example/index.js b/apps/example/index.js new file mode 100644 index 000000000..69303b34d --- /dev/null +++ b/apps/example/index.js @@ -0,0 +1,9 @@ +/** + * @format + */ + +import {AppRegistry} from 'react-native'; +import App from './src/App'; +import {name as appName} from './app.json'; + +AppRegistry.registerComponent(appName, () => App); diff --git a/apps/example/ios/Podfile b/apps/example/ios/Podfile new file mode 100644 index 000000000..24eedffca --- /dev/null +++ b/apps/example/ios/Podfile @@ -0,0 +1,13 @@ +ws_dir = Pathname.new(__dir__) +ws_dir = ws_dir.parent until + File.exist?("#{ws_dir}/node_modules/react-native-test-app/test_app.rb") || + ws_dir.expand_path.to_s == '/' +require "#{ws_dir}/node_modules/react-native-test-app/test_app.rb" + +workspace 'Example.xcworkspace' + +options = { + :hermes_enabled => true +} + +use_test_app! options diff --git a/apps/paper/ios/Podfile.lock b/apps/example/ios/Podfile.lock similarity index 96% rename from apps/paper/ios/Podfile.lock rename to apps/example/ios/Podfile.lock index 08ede1ef1..bbec1d935 100644 --- a/apps/paper/ios/Podfile.lock +++ b/apps/example/ios/Podfile.lock @@ -935,7 +935,7 @@ PODS: - React-Mapbuffer (0.74.2): - glog - React-debug - - react-native-safe-area-context (4.10.9): + - react-native-safe-area-context (4.11.0): - React-Core - react-native-wgpu (0.1.7): - DoubleConversion @@ -1187,7 +1187,33 @@ PODS: - React-logger (= 0.74.2) - React-perflogger (= 0.74.2) - React-utils (= 0.74.2) - - RNGestureHandler (2.18.1): + - ReactNativeHost (0.5.0): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2024.01.01.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen + - React-Core + - React-cxxreact + - React-debug + - React-Fabric + - React-featureflags + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga + - ReactTestApp-DevSupport (3.10.8): + - React-Core + - React-jsi + - ReactTestApp-Resources (1.0.0-dev) + - RNGestureHandler (2.19.0): - DoubleConversion - glog - hermes-engine @@ -1208,7 +1234,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNReanimated (3.15.1): + - RNReanimated (3.15.2): - DoubleConversion - glog - hermes-engine @@ -1228,10 +1254,10 @@ PODS: - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNReanimated/reanimated (= 3.15.1) - - RNReanimated/worklets (= 3.15.1) + - RNReanimated/reanimated (= 3.15.2) + - RNReanimated/worklets (= 3.15.2) - Yoga - - RNReanimated/reanimated (3.15.1): + - RNReanimated/reanimated (3.15.2): - DoubleConversion - glog - hermes-engine @@ -1252,7 +1278,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNReanimated/worklets (3.15.1): + - RNReanimated/worklets (3.15.2): - DoubleConversion - glog - hermes-engine @@ -1356,6 +1382,9 @@ DEPENDENCIES: - React-runtimescheduler (from `../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - React-utils (from `../../../node_modules/react-native/ReactCommon/react/utils`) - ReactCommon/turbomodule/core (from `../../../node_modules/react-native/ReactCommon`) + - "ReactNativeHost (from `../../../node_modules/@rnx-kit/react-native-host`)" + - ReactTestApp-DevSupport (from `../../../node_modules/react-native-test-app`) + - ReactTestApp-Resources (from `..`) - RNGestureHandler (from `../../../node_modules/react-native-gesture-handler`) - RNReanimated (from `../../../node_modules/react-native-reanimated`) - RNScreens (from `../../../node_modules/react-native-screens`) @@ -1477,6 +1506,12 @@ EXTERNAL SOURCES: :path: "../../../node_modules/react-native/ReactCommon/react/utils" ReactCommon: :path: "../../../node_modules/react-native/ReactCommon" + ReactNativeHost: + :path: "../../../node_modules/@rnx-kit/react-native-host" + ReactTestApp-DevSupport: + :path: "../../../node_modules/react-native-test-app" + ReactTestApp-Resources: + :path: ".." RNGestureHandler: :path: "../../../node_modules/react-native-gesture-handler" RNReanimated: @@ -1517,7 +1552,7 @@ SPEC CHECKSUMS: React-jsitracing: 0fa7f78d8fdda794667cb2e6f19c874c1cf31d7e React-logger: 29fa3e048f5f67fe396bc08af7606426d9bd7b5d React-Mapbuffer: bf56147c9775491e53122a94c423ac201417e326 - react-native-safe-area-context: ab8f4a3d8180913bd78ae75dd599c94cce3d5e9a + react-native-safe-area-context: 851c62c48dce80ccaa5637b6aa5991a1bc36eca9 react-native-wgpu: ab1d9f4a982e04d37e1330ee2b950d482186a879 React-nativeconfig: 9f223cd321823afdecf59ed00861ab2d69ee0fc1 React-NativeModulesApple: ff7efaff7098639db5631236cfd91d60abff04c0 @@ -1542,12 +1577,15 @@ SPEC CHECKSUMS: React-runtimescheduler: 56b642bf605ba5afa500d35790928fc1d51565ad React-utils: 4476b7fcbbd95cfd002f3e778616155241d86e31 ReactCommon: ecad995f26e0d1e24061f60f4e5d74782f003f12 - RNGestureHandler: efed690b8493a00b99654043daeb1335276ac4a2 - RNReanimated: abb16e70ea4fbd72c667946caa3abd0f962897f6 + ReactNativeHost: 76fb17eac13a9a2200f659deffc91c054731a7e2 + ReactTestApp-DevSupport: 690d06567b7ecae4f2f98dff5e4881c8d25be8e2 + ReactTestApp-Resources: 857244f3a23f2b3157b364fa06cf3e8866deff9c + RNGestureHandler: 67e78f16895947f7e57ab91e75e914d3e9ef7239 + RNReanimated: 4c72fc2c0f4c6a9c36932e653cd68e4521b6c4ac RNScreens: aa943ad421c3ced3ef5a47ede02b0cbfc43a012e SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d Yoga: ae3c32c514802d30f687a04a6a35b348506d411f -PODFILE CHECKSUM: 6a64c4e2f4165ecd7371d7daca36d1c129d3e06d +PODFILE CHECKSUM: 21851af42ab33f67696cf6469097d79f1cc68181 COCOAPODS: 1.15.2 diff --git a/apps/paper/jest.config.js b/apps/example/jest.config.js similarity index 100% rename from apps/paper/jest.config.js rename to apps/example/jest.config.js diff --git a/apps/example/macos/Podfile b/apps/example/macos/Podfile new file mode 100644 index 000000000..2f4ab9523 --- /dev/null +++ b/apps/example/macos/Podfile @@ -0,0 +1,9 @@ +ws_dir = Pathname.new(__dir__) +ws_dir = ws_dir.parent until + File.exist?("#{ws_dir}/node_modules/react-native-test-app/macos/test_app.rb") || + ws_dir.expand_path.to_s == '/' +require "#{ws_dir}/node_modules/react-native-test-app/macos/test_app.rb" + +workspace 'Example.xcworkspace' + +use_test_app! diff --git a/apps/paper/metro.config.js b/apps/example/metro.config.js similarity index 77% rename from apps/paper/metro.config.js rename to apps/example/metro.config.js index 515c29483..fc9c71654 100644 --- a/apps/paper/metro.config.js +++ b/apps/example/metro.config.js @@ -1,20 +1,11 @@ -const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); +const { makeMetroConfig } = require("@rnx-kit/metro-config"); const path = require('path'); const root = path.resolve(__dirname, '../..'); const threePackagePath = path.resolve(root, 'node_modules/three'); -const defaultConfig = getDefaultConfig(__dirname); -defaultConfig.resolver.assetExts.push('glb', 'gltf', 'jpg', 'bin', 'hdr'); -/** - * Metro configuration - * https://reactnative.dev/docs/metro - * - * @type {import('metro-config').MetroConfig} - */ -const config = { +const extraConfig = { watchFolders: [root], - resolver: { extraNodeModules: { 'three': threePackagePath, @@ -59,4 +50,8 @@ const config = { }, }; -module.exports = mergeConfig(defaultConfig, config); \ No newline at end of file +const metroConfig = makeMetroConfig(extraConfig); +metroConfig.resolver.assetExts.push('glb', 'gltf', 'jpg', 'bin', 'hdr'); + + +module.exports = metroConfig; diff --git a/apps/paper/package.json b/apps/example/package.json similarity index 57% rename from apps/paper/package.json rename to apps/example/package.json index 88c9ee01a..b8ea34132 100644 --- a/apps/paper/package.json +++ b/apps/example/package.json @@ -1,5 +1,5 @@ { - "name": "react-native-webgpu-example", + "name": "Example", "version": "0.0.1", "private": true, "scripts": { @@ -8,12 +8,13 @@ "android": "react-native run-android", "ios": "react-native run-ios", "start": "react-native start", - "pod:install": "cd ios && pod install", + "pod:install": "pod install --project-directory=ios", "build:android": "cd android && ./gradlew assembleDebug --warning-mode all", - "build:ios": "npm run mkdist && react-native bundle --entry-file index.js --platform ios --dev true --bundle-output dist/main.ios.jsbundle --assets-dest dist && react-native build-ios --scheme WgpuExample --mode Debug --extra-params \"-sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO\"", + "build:ios": "yarn run mkdist && react-native bundle --entry-file index.js --platform ios --dev true --bundle-output dist/main.ios.jsbundle --assets-dest dist && react-native build-ios --scheme Example --mode Debug --extra-params \"-sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO\"", "mkdist": "node -e \"require('node:fs').mkdirSync('dist', { recursive: true, mode: 0o755 })\"" }, "dependencies": { + "@callstack/react-native-visionos": "^0.74.0", "@react-navigation/native": "^6.1.17", "@react-navigation/native-stack": "^6.10.0", "@react-three/fiber": "^8.17.6", @@ -21,6 +22,7 @@ "react": "18.2.0", "react-native": "0.74.2", "react-native-gesture-handler": "^2.17.1", + "react-native-macos": "^0.74.0", "react-native-reanimated": "^3.12.1", "react-native-safe-area-context": "^4.10.7", "react-native-screens": "^3.32.0", @@ -35,15 +37,23 @@ "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.20.0", "@react-native/babel-preset": "0.74.84", + "@react-native/eslint-config": "0.74.84", "@react-native/metro-config": "0.74.84", "@react-native/typescript-config": "0.74.84", + "@rnx-kit/metro-config": "^1.3.17", + "@types/node": "^20.14.7", + "@types/react": "^18.2.6", + "@types/react-test-renderer": "^18.0.0", "@types/three": "0.168.0", "@webgpu/types": "^0.1.44", - "babel-plugin-module-resolver": "^5.0.0", - "eslint": "8", + "babel-jest": "^29.6.3", + "eslint": "^8.19.0", "eslint-config-react-native-wcandillon": "^3.10.2", - "eslint-plugin-import": "2.27.5", - "typescript": "^5.2.2" + "jest": "^29.6.3", + "prettier": "2.8.8", + "react-native-test-app": "^3.10.8", + "react-test-renderer": "18.2.0", + "typescript": "5.0.4" }, "engines": { "node": ">=18" diff --git a/apps/example/react-native.config.js b/apps/example/react-native.config.js new file mode 100644 index 000000000..630221ef6 --- /dev/null +++ b/apps/example/react-native.config.js @@ -0,0 +1,19 @@ +const project = (() => { + try { + const { configureProjects } = require("react-native-test-app"); + return configureProjects({ + android: { + sourceDir: "android", + }, + ios: { + sourceDir: "ios", + } + }); + } catch (_) { + return undefined; + } +})(); + +module.exports = { + ...(project ? { project } : undefined), +}; diff --git a/apps/paper/src/ABuffer/ABuffer.tsx b/apps/example/src/ABuffer/ABuffer.tsx similarity index 100% rename from apps/paper/src/ABuffer/ABuffer.tsx rename to apps/example/src/ABuffer/ABuffer.tsx diff --git a/apps/paper/src/ABuffer/Shaders.ts b/apps/example/src/ABuffer/Shaders.ts similarity index 100% rename from apps/paper/src/ABuffer/Shaders.ts rename to apps/example/src/ABuffer/Shaders.ts diff --git a/apps/paper/src/ABuffer/index.ts b/apps/example/src/ABuffer/index.ts similarity index 100% rename from apps/paper/src/ABuffer/index.ts rename to apps/example/src/ABuffer/index.ts diff --git a/apps/paper/src/App.tsx b/apps/example/src/App.tsx similarity index 100% rename from apps/paper/src/App.tsx rename to apps/example/src/App.tsx diff --git a/apps/paper/src/ComputeBoids/ComputeBoids.tsx b/apps/example/src/ComputeBoids/ComputeBoids.tsx similarity index 100% rename from apps/paper/src/ComputeBoids/ComputeBoids.tsx rename to apps/example/src/ComputeBoids/ComputeBoids.tsx diff --git a/apps/paper/src/ComputeBoids/Shaders.ts b/apps/example/src/ComputeBoids/Shaders.ts similarity index 100% rename from apps/paper/src/ComputeBoids/Shaders.ts rename to apps/example/src/ComputeBoids/Shaders.ts diff --git a/apps/paper/src/ComputeBoids/index.ts b/apps/example/src/ComputeBoids/index.ts similarity index 100% rename from apps/paper/src/ComputeBoids/index.ts rename to apps/example/src/ComputeBoids/index.ts diff --git a/apps/paper/src/Cube/Cube.tsx b/apps/example/src/Cube/Cube.tsx similarity index 100% rename from apps/paper/src/Cube/Cube.tsx rename to apps/example/src/Cube/Cube.tsx diff --git a/apps/paper/src/Cube/Cubemap.tsx b/apps/example/src/Cube/Cubemap.tsx similarity index 100% rename from apps/paper/src/Cube/Cubemap.tsx rename to apps/example/src/Cube/Cubemap.tsx diff --git a/apps/paper/src/Cube/FractalCube.tsx b/apps/example/src/Cube/FractalCube.tsx similarity index 100% rename from apps/paper/src/Cube/FractalCube.tsx rename to apps/example/src/Cube/FractalCube.tsx diff --git a/apps/paper/src/Cube/InstancedCube.tsx b/apps/example/src/Cube/InstancedCube.tsx similarity index 100% rename from apps/paper/src/Cube/InstancedCube.tsx rename to apps/example/src/Cube/InstancedCube.tsx diff --git a/apps/paper/src/Cube/Shaders.ts b/apps/example/src/Cube/Shaders.ts similarity index 100% rename from apps/paper/src/Cube/Shaders.ts rename to apps/example/src/Cube/Shaders.ts diff --git a/apps/paper/src/Cube/TexturedCube.tsx b/apps/example/src/Cube/TexturedCube.tsx similarity index 100% rename from apps/paper/src/Cube/TexturedCube.tsx rename to apps/example/src/Cube/TexturedCube.tsx diff --git a/apps/paper/src/Cube/index.ts b/apps/example/src/Cube/index.ts similarity index 100% rename from apps/paper/src/Cube/index.ts rename to apps/example/src/Cube/index.ts diff --git a/apps/paper/src/GradientTiles/GradientTiles.tsx b/apps/example/src/GradientTiles/GradientTiles.tsx similarity index 100% rename from apps/paper/src/GradientTiles/GradientTiles.tsx rename to apps/example/src/GradientTiles/GradientTiles.tsx diff --git a/apps/paper/src/GradientTiles/gradientWgsl.ts b/apps/example/src/GradientTiles/gradientWgsl.ts similarity index 100% rename from apps/paper/src/GradientTiles/gradientWgsl.ts rename to apps/example/src/GradientTiles/gradientWgsl.ts diff --git a/apps/paper/src/GradientTiles/index.ts b/apps/example/src/GradientTiles/index.ts similarity index 100% rename from apps/paper/src/GradientTiles/index.ts rename to apps/example/src/GradientTiles/index.ts diff --git a/apps/paper/src/Home.tsx b/apps/example/src/Home.tsx similarity index 100% rename from apps/paper/src/Home.tsx rename to apps/example/src/Home.tsx diff --git a/apps/paper/src/OcclusionQuery/OcclusionQuery.tsx b/apps/example/src/OcclusionQuery/OcclusionQuery.tsx similarity index 100% rename from apps/paper/src/OcclusionQuery/OcclusionQuery.tsx rename to apps/example/src/OcclusionQuery/OcclusionQuery.tsx diff --git a/apps/paper/src/OcclusionQuery/index.ts b/apps/example/src/OcclusionQuery/index.ts similarity index 100% rename from apps/paper/src/OcclusionQuery/index.ts rename to apps/example/src/OcclusionQuery/index.ts diff --git a/apps/paper/src/Particles/Particles.tsx b/apps/example/src/Particles/Particles.tsx similarity index 100% rename from apps/paper/src/Particles/Particles.tsx rename to apps/example/src/Particles/Particles.tsx diff --git a/apps/paper/src/Particles/Shaders.ts b/apps/example/src/Particles/Shaders.ts similarity index 100% rename from apps/paper/src/Particles/Shaders.ts rename to apps/example/src/Particles/Shaders.ts diff --git a/apps/paper/src/Particles/index.ts b/apps/example/src/Particles/index.ts similarity index 100% rename from apps/paper/src/Particles/index.ts rename to apps/example/src/Particles/index.ts diff --git a/apps/paper/src/RenderBundles/RenderBundles.tsx b/apps/example/src/RenderBundles/RenderBundles.tsx similarity index 100% rename from apps/paper/src/RenderBundles/RenderBundles.tsx rename to apps/example/src/RenderBundles/RenderBundles.tsx diff --git a/apps/paper/src/RenderBundles/index.ts b/apps/example/src/RenderBundles/index.ts similarity index 100% rename from apps/paper/src/RenderBundles/index.ts rename to apps/example/src/RenderBundles/index.ts diff --git a/apps/paper/src/Resize/Resize.tsx b/apps/example/src/Resize/Resize.tsx similarity index 100% rename from apps/paper/src/Resize/Resize.tsx rename to apps/example/src/Resize/Resize.tsx diff --git a/apps/paper/src/Resize/index.ts b/apps/example/src/Resize/index.ts similarity index 100% rename from apps/paper/src/Resize/index.ts rename to apps/example/src/Resize/index.ts diff --git a/apps/paper/src/ReversedZ/ReversedZ.tsx b/apps/example/src/ReversedZ/ReversedZ.tsx similarity index 100% rename from apps/paper/src/ReversedZ/ReversedZ.tsx rename to apps/example/src/ReversedZ/ReversedZ.tsx diff --git a/apps/paper/src/ReversedZ/Shaders.ts b/apps/example/src/ReversedZ/Shaders.ts similarity index 100% rename from apps/paper/src/ReversedZ/Shaders.ts rename to apps/example/src/ReversedZ/Shaders.ts diff --git a/apps/paper/src/ReversedZ/index.ts b/apps/example/src/ReversedZ/index.ts similarity index 100% rename from apps/paper/src/ReversedZ/index.ts rename to apps/example/src/ReversedZ/index.ts diff --git a/apps/paper/src/Route.ts b/apps/example/src/Route.ts similarity index 100% rename from apps/paper/src/Route.ts rename to apps/example/src/Route.ts diff --git a/apps/paper/src/Sampler/SamplerParameters.tsx b/apps/example/src/Sampler/SamplerParameters.tsx similarity index 100% rename from apps/paper/src/Sampler/SamplerParameters.tsx rename to apps/example/src/Sampler/SamplerParameters.tsx diff --git a/apps/paper/src/Sampler/Shaders.ts b/apps/example/src/Sampler/Shaders.ts similarity index 100% rename from apps/paper/src/Sampler/Shaders.ts rename to apps/example/src/Sampler/Shaders.ts diff --git a/apps/paper/src/Sampler/index.ts b/apps/example/src/Sampler/index.ts similarity index 100% rename from apps/paper/src/Sampler/index.ts rename to apps/example/src/Sampler/index.ts diff --git a/apps/paper/src/ShadowMapping/DeferedRendering.tsx b/apps/example/src/ShadowMapping/DeferedRendering.tsx similarity index 100% rename from apps/paper/src/ShadowMapping/DeferedRendering.tsx rename to apps/example/src/ShadowMapping/DeferedRendering.tsx diff --git a/apps/paper/src/ShadowMapping/Shaders.ts b/apps/example/src/ShadowMapping/Shaders.ts similarity index 100% rename from apps/paper/src/ShadowMapping/Shaders.ts rename to apps/example/src/ShadowMapping/Shaders.ts diff --git a/apps/paper/src/ShadowMapping/ShadowMapping.tsx b/apps/example/src/ShadowMapping/ShadowMapping.tsx similarity index 100% rename from apps/paper/src/ShadowMapping/ShadowMapping.tsx rename to apps/example/src/ShadowMapping/ShadowMapping.tsx diff --git a/apps/paper/src/ShadowMapping/index.ts b/apps/example/src/ShadowMapping/index.ts similarity index 100% rename from apps/paper/src/ShadowMapping/index.ts rename to apps/example/src/ShadowMapping/index.ts diff --git a/apps/paper/src/Tests.tsx b/apps/example/src/Tests.tsx similarity index 100% rename from apps/paper/src/Tests.tsx rename to apps/example/src/Tests.tsx diff --git a/apps/paper/src/ThreeJS/Backdrop.tsx b/apps/example/src/ThreeJS/Backdrop.tsx similarity index 100% rename from apps/paper/src/ThreeJS/Backdrop.tsx rename to apps/example/src/ThreeJS/Backdrop.tsx diff --git a/apps/paper/src/ThreeJS/Cube.tsx b/apps/example/src/ThreeJS/Cube.tsx similarity index 100% rename from apps/paper/src/ThreeJS/Cube.tsx rename to apps/example/src/ThreeJS/Cube.tsx diff --git a/apps/paper/src/ThreeJS/Fiber.tsx b/apps/example/src/ThreeJS/Fiber.tsx similarity index 100% rename from apps/paper/src/ThreeJS/Fiber.tsx rename to apps/example/src/ThreeJS/Fiber.tsx diff --git a/apps/paper/src/ThreeJS/Helmet.tsx b/apps/example/src/ThreeJS/Helmet.tsx similarity index 100% rename from apps/paper/src/ThreeJS/Helmet.tsx rename to apps/example/src/ThreeJS/Helmet.tsx diff --git a/apps/paper/src/ThreeJS/InstancedMesh.tsx b/apps/example/src/ThreeJS/InstancedMesh.tsx similarity index 100% rename from apps/paper/src/ThreeJS/InstancedMesh.tsx rename to apps/example/src/ThreeJS/InstancedMesh.tsx diff --git a/apps/paper/src/ThreeJS/List.tsx b/apps/example/src/ThreeJS/List.tsx similarity index 100% rename from apps/paper/src/ThreeJS/List.tsx rename to apps/example/src/ThreeJS/List.tsx diff --git a/apps/paper/src/ThreeJS/Routes.ts b/apps/example/src/ThreeJS/Routes.ts similarity index 100% rename from apps/paper/src/ThreeJS/Routes.ts rename to apps/example/src/ThreeJS/Routes.ts diff --git a/apps/paper/src/ThreeJS/assets/AssetManager.ts b/apps/example/src/ThreeJS/assets/AssetManager.ts similarity index 100% rename from apps/paper/src/ThreeJS/assets/AssetManager.ts rename to apps/example/src/ThreeJS/assets/AssetManager.ts diff --git a/apps/paper/src/ThreeJS/assets/helmet/DamagedHelmet.bin b/apps/example/src/ThreeJS/assets/helmet/DamagedHelmet.bin similarity index 100% rename from apps/paper/src/ThreeJS/assets/helmet/DamagedHelmet.bin rename to apps/example/src/ThreeJS/assets/helmet/DamagedHelmet.bin diff --git a/apps/paper/src/ThreeJS/assets/helmet/DamagedHelmet.gltf b/apps/example/src/ThreeJS/assets/helmet/DamagedHelmet.gltf similarity index 100% rename from apps/paper/src/ThreeJS/assets/helmet/DamagedHelmet.gltf rename to apps/example/src/ThreeJS/assets/helmet/DamagedHelmet.gltf diff --git a/apps/paper/src/ThreeJS/assets/helmet/Default_AO.jpg b/apps/example/src/ThreeJS/assets/helmet/Default_AO.jpg similarity index 100% rename from apps/paper/src/ThreeJS/assets/helmet/Default_AO.jpg rename to apps/example/src/ThreeJS/assets/helmet/Default_AO.jpg diff --git a/apps/paper/src/ThreeJS/assets/helmet/Default_albedo.jpg b/apps/example/src/ThreeJS/assets/helmet/Default_albedo.jpg similarity index 100% rename from apps/paper/src/ThreeJS/assets/helmet/Default_albedo.jpg rename to apps/example/src/ThreeJS/assets/helmet/Default_albedo.jpg diff --git a/apps/paper/src/ThreeJS/assets/helmet/Default_emissive.jpg b/apps/example/src/ThreeJS/assets/helmet/Default_emissive.jpg similarity index 100% rename from apps/paper/src/ThreeJS/assets/helmet/Default_emissive.jpg rename to apps/example/src/ThreeJS/assets/helmet/Default_emissive.jpg diff --git a/apps/paper/src/ThreeJS/assets/helmet/Default_metalRoughness.jpg b/apps/example/src/ThreeJS/assets/helmet/Default_metalRoughness.jpg similarity index 100% rename from apps/paper/src/ThreeJS/assets/helmet/Default_metalRoughness.jpg rename to apps/example/src/ThreeJS/assets/helmet/Default_metalRoughness.jpg diff --git a/apps/paper/src/ThreeJS/assets/helmet/Default_normal.jpg b/apps/example/src/ThreeJS/assets/helmet/Default_normal.jpg similarity index 100% rename from apps/paper/src/ThreeJS/assets/helmet/Default_normal.jpg rename to apps/example/src/ThreeJS/assets/helmet/Default_normal.jpg diff --git a/apps/paper/src/ThreeJS/assets/helmet/royal_esplanade_1k.hdr b/apps/example/src/ThreeJS/assets/helmet/royal_esplanade_1k.hdr similarity index 100% rename from apps/paper/src/ThreeJS/assets/helmet/royal_esplanade_1k.hdr rename to apps/example/src/ThreeJS/assets/helmet/royal_esplanade_1k.hdr diff --git a/apps/paper/src/ThreeJS/assets/michelle/Ch03_1001_Diffuse.png b/apps/example/src/ThreeJS/assets/michelle/Ch03_1001_Diffuse.png similarity index 100% rename from apps/paper/src/ThreeJS/assets/michelle/Ch03_1001_Diffuse.png rename to apps/example/src/ThreeJS/assets/michelle/Ch03_1001_Diffuse.png diff --git a/apps/paper/src/ThreeJS/assets/michelle/Ch03_1001_Glossiness.png b/apps/example/src/ThreeJS/assets/michelle/Ch03_1001_Glossiness.png similarity index 100% rename from apps/paper/src/ThreeJS/assets/michelle/Ch03_1001_Glossiness.png rename to apps/example/src/ThreeJS/assets/michelle/Ch03_1001_Glossiness.png diff --git a/apps/paper/src/ThreeJS/assets/michelle/Ch03_1001_Normal.png b/apps/example/src/ThreeJS/assets/michelle/Ch03_1001_Normal.png similarity index 100% rename from apps/paper/src/ThreeJS/assets/michelle/Ch03_1001_Normal.png rename to apps/example/src/ThreeJS/assets/michelle/Ch03_1001_Normal.png diff --git a/apps/paper/src/ThreeJS/assets/michelle/model.bin b/apps/example/src/ThreeJS/assets/michelle/model.bin similarity index 100% rename from apps/paper/src/ThreeJS/assets/michelle/model.bin rename to apps/example/src/ThreeJS/assets/michelle/model.bin diff --git a/apps/paper/src/ThreeJS/assets/michelle/model.gltf b/apps/example/src/ThreeJS/assets/michelle/model.gltf similarity index 100% rename from apps/paper/src/ThreeJS/assets/michelle/model.gltf rename to apps/example/src/ThreeJS/assets/michelle/model.gltf diff --git a/apps/paper/src/ThreeJS/assets/scene.bin b/apps/example/src/ThreeJS/assets/scene.bin similarity index 100% rename from apps/paper/src/ThreeJS/assets/scene.bin rename to apps/example/src/ThreeJS/assets/scene.bin diff --git a/apps/paper/src/ThreeJS/assets/scene.gltf b/apps/example/src/ThreeJS/assets/scene.gltf similarity index 100% rename from apps/paper/src/ThreeJS/assets/scene.gltf rename to apps/example/src/ThreeJS/assets/scene.gltf diff --git a/apps/paper/src/ThreeJS/assets/textures/uv_grid_opengl.jpg b/apps/example/src/ThreeJS/assets/textures/uv_grid_opengl.jpg similarity index 100% rename from apps/paper/src/ThreeJS/assets/textures/uv_grid_opengl.jpg rename to apps/example/src/ThreeJS/assets/textures/uv_grid_opengl.jpg diff --git a/apps/paper/src/ThreeJS/components/FiberCanvas.tsx b/apps/example/src/ThreeJS/components/FiberCanvas.tsx similarity index 100% rename from apps/paper/src/ThreeJS/components/FiberCanvas.tsx rename to apps/example/src/ThreeJS/components/FiberCanvas.tsx diff --git a/apps/paper/src/ThreeJS/components/Matrix4.ts b/apps/example/src/ThreeJS/components/Matrix4.ts similarity index 100% rename from apps/paper/src/ThreeJS/components/Matrix4.ts rename to apps/example/src/ThreeJS/components/Matrix4.ts diff --git a/apps/paper/src/ThreeJS/components/OrbitControl.tsx b/apps/example/src/ThreeJS/components/OrbitControl.tsx similarity index 100% rename from apps/paper/src/ThreeJS/components/OrbitControl.tsx rename to apps/example/src/ThreeJS/components/OrbitControl.tsx diff --git a/apps/paper/src/ThreeJS/components/makeWebGPURenderer.ts b/apps/example/src/ThreeJS/components/makeWebGPURenderer.ts similarity index 100% rename from apps/paper/src/ThreeJS/components/makeWebGPURenderer.ts rename to apps/example/src/ThreeJS/components/makeWebGPURenderer.ts diff --git a/apps/paper/src/ThreeJS/index.tsx b/apps/example/src/ThreeJS/index.tsx similarity index 100% rename from apps/paper/src/ThreeJS/index.tsx rename to apps/example/src/ThreeJS/index.tsx diff --git a/apps/paper/src/Triangle/HelloTriangle.tsx b/apps/example/src/Triangle/HelloTriangle.tsx similarity index 100% rename from apps/paper/src/Triangle/HelloTriangle.tsx rename to apps/example/src/Triangle/HelloTriangle.tsx diff --git a/apps/paper/src/Triangle/HelloTriangleMSAA.tsx b/apps/example/src/Triangle/HelloTriangleMSAA.tsx similarity index 100% rename from apps/paper/src/Triangle/HelloTriangleMSAA.tsx rename to apps/example/src/Triangle/HelloTriangleMSAA.tsx diff --git a/apps/paper/src/Triangle/index.ts b/apps/example/src/Triangle/index.ts similarity index 100% rename from apps/paper/src/Triangle/index.ts rename to apps/example/src/Triangle/index.ts diff --git a/apps/paper/src/Triangle/triangle.ts b/apps/example/src/Triangle/triangle.ts similarity index 100% rename from apps/paper/src/Triangle/triangle.ts rename to apps/example/src/Triangle/triangle.ts diff --git a/apps/paper/src/Wireframe/Shaders.ts b/apps/example/src/Wireframe/Shaders.ts similarity index 100% rename from apps/paper/src/Wireframe/Shaders.ts rename to apps/example/src/Wireframe/Shaders.ts diff --git a/apps/paper/src/Wireframe/Wireframe.tsx b/apps/example/src/Wireframe/Wireframe.tsx similarity index 100% rename from apps/paper/src/Wireframe/Wireframe.tsx rename to apps/example/src/Wireframe/Wireframe.tsx diff --git a/apps/paper/src/Wireframe/index.ts b/apps/example/src/Wireframe/index.ts similarity index 100% rename from apps/paper/src/Wireframe/index.ts rename to apps/example/src/Wireframe/index.ts diff --git a/apps/paper/src/Wireframe/models.ts b/apps/example/src/Wireframe/models.ts similarity index 100% rename from apps/paper/src/Wireframe/models.ts rename to apps/example/src/Wireframe/models.ts diff --git a/apps/paper/src/Wireframe/utils.ts b/apps/example/src/Wireframe/utils.ts similarity index 100% rename from apps/paper/src/Wireframe/utils.ts rename to apps/example/src/Wireframe/utils.ts diff --git a/apps/paper/src/assets/Di-3d.png b/apps/example/src/assets/Di-3d.png similarity index 100% rename from apps/paper/src/assets/Di-3d.png rename to apps/example/src/assets/Di-3d.png diff --git a/apps/paper/src/assets/cubemap/credit.txt b/apps/example/src/assets/cubemap/credit.txt similarity index 100% rename from apps/paper/src/assets/cubemap/credit.txt rename to apps/example/src/assets/cubemap/credit.txt diff --git a/apps/paper/src/assets/cubemap/negx.jpg b/apps/example/src/assets/cubemap/negx.jpg similarity index 100% rename from apps/paper/src/assets/cubemap/negx.jpg rename to apps/example/src/assets/cubemap/negx.jpg diff --git a/apps/paper/src/assets/cubemap/negy.jpg b/apps/example/src/assets/cubemap/negy.jpg similarity index 100% rename from apps/paper/src/assets/cubemap/negy.jpg rename to apps/example/src/assets/cubemap/negy.jpg diff --git a/apps/paper/src/assets/cubemap/negz.jpg b/apps/example/src/assets/cubemap/negz.jpg similarity index 100% rename from apps/paper/src/assets/cubemap/negz.jpg rename to apps/example/src/assets/cubemap/negz.jpg diff --git a/apps/paper/src/assets/cubemap/posx.jpg b/apps/example/src/assets/cubemap/posx.jpg similarity index 100% rename from apps/paper/src/assets/cubemap/posx.jpg rename to apps/example/src/assets/cubemap/posx.jpg diff --git a/apps/paper/src/assets/cubemap/posy.jpg b/apps/example/src/assets/cubemap/posy.jpg similarity index 100% rename from apps/paper/src/assets/cubemap/posy.jpg rename to apps/example/src/assets/cubemap/posy.jpg diff --git a/apps/paper/src/assets/cubemap/posz.jpg b/apps/example/src/assets/cubemap/posz.jpg similarity index 100% rename from apps/paper/src/assets/cubemap/posz.jpg rename to apps/example/src/assets/cubemap/posz.jpg diff --git a/apps/paper/src/assets/cubemap/readme.txt b/apps/example/src/assets/cubemap/readme.txt similarity index 100% rename from apps/paper/src/assets/cubemap/readme.txt rename to apps/example/src/assets/cubemap/readme.txt diff --git a/apps/paper/src/assets/f.png b/apps/example/src/assets/f.png similarity index 100% rename from apps/paper/src/assets/f.png rename to apps/example/src/assets/f.png diff --git a/apps/paper/src/assets/moon.png b/apps/example/src/assets/moon.png similarity index 100% rename from apps/paper/src/assets/moon.png rename to apps/example/src/assets/moon.png diff --git a/apps/paper/src/assets/react.png b/apps/example/src/assets/react.png similarity index 100% rename from apps/paper/src/assets/react.png rename to apps/example/src/assets/react.png diff --git a/apps/paper/src/assets/saturn.png b/apps/example/src/assets/saturn.png similarity index 100% rename from apps/paper/src/assets/saturn.png rename to apps/example/src/assets/saturn.png diff --git a/apps/paper/src/components/GUI.ts b/apps/example/src/components/GUI.ts similarity index 100% rename from apps/paper/src/components/GUI.ts rename to apps/example/src/components/GUI.ts diff --git a/apps/paper/src/components/Texture.tsx b/apps/example/src/components/Texture.tsx similarity index 100% rename from apps/paper/src/components/Texture.tsx rename to apps/example/src/components/Texture.tsx diff --git a/apps/paper/src/components/cube.ts b/apps/example/src/components/cube.ts similarity index 100% rename from apps/paper/src/components/cube.ts rename to apps/example/src/components/cube.ts diff --git a/apps/paper/src/components/meshes/mesh.ts b/apps/example/src/components/meshes/mesh.ts similarity index 100% rename from apps/paper/src/components/meshes/mesh.ts rename to apps/example/src/components/meshes/mesh.ts diff --git a/apps/paper/src/components/meshes/sphere.ts b/apps/example/src/components/meshes/sphere.ts similarity index 100% rename from apps/paper/src/components/meshes/sphere.ts rename to apps/example/src/components/meshes/sphere.ts diff --git a/apps/paper/src/components/meshes/stanfordDragon.ts b/apps/example/src/components/meshes/stanfordDragon.ts similarity index 100% rename from apps/paper/src/components/meshes/stanfordDragon.ts rename to apps/example/src/components/meshes/stanfordDragon.ts diff --git a/apps/paper/src/components/meshes/stanfordDragonData.ts b/apps/example/src/components/meshes/stanfordDragonData.ts similarity index 100% rename from apps/paper/src/components/meshes/stanfordDragonData.ts rename to apps/example/src/components/meshes/stanfordDragonData.ts diff --git a/apps/paper/src/components/meshes/teapot.ts b/apps/example/src/components/meshes/teapot.ts similarity index 100% rename from apps/paper/src/components/meshes/teapot.ts rename to apps/example/src/components/meshes/teapot.ts diff --git a/apps/paper/src/components/meshes/utils.ts b/apps/example/src/components/meshes/utils.ts similarity index 100% rename from apps/paper/src/components/meshes/utils.ts rename to apps/example/src/components/meshes/utils.ts diff --git a/apps/paper/src/components/useAssets.ts b/apps/example/src/components/useAssets.ts similarity index 100% rename from apps/paper/src/components/useAssets.ts rename to apps/example/src/components/useAssets.ts diff --git a/apps/paper/src/components/useWebGPU.ts b/apps/example/src/components/useWebGPU.ts similarity index 97% rename from apps/paper/src/components/useWebGPU.ts rename to apps/example/src/components/useWebGPU.ts index 37a71d970..9fd57a298 100644 --- a/apps/paper/src/components/useWebGPU.ts +++ b/apps/example/src/components/useWebGPU.ts @@ -59,11 +59,11 @@ export const useWebGPU = (scene: Scene) => { }; const r = scene(sceneProps); - let renderScene; + let renderScene: RenderScene; if (r instanceof Promise) { renderScene = await r; } else { - renderScene = r; + renderScene = r as RenderScene; } if (typeof renderScene === "function") { const render = () => { diff --git a/apps/paper/src/components/utils.ts b/apps/example/src/components/utils.ts similarity index 100% rename from apps/paper/src/components/utils.ts rename to apps/example/src/components/utils.ts diff --git a/apps/paper/src/index.d.ts b/apps/example/src/index.d.ts similarity index 100% rename from apps/paper/src/index.d.ts rename to apps/example/src/index.d.ts diff --git a/apps/paper/src/useClient.ts b/apps/example/src/useClient.ts similarity index 100% rename from apps/paper/src/useClient.ts rename to apps/example/src/useClient.ts diff --git a/apps/paper/tsconfig.json b/apps/example/tsconfig.json similarity index 76% rename from apps/paper/tsconfig.json rename to apps/example/tsconfig.json index 6a80151a8..e9608c67d 100644 --- a/apps/paper/tsconfig.json +++ b/apps/example/tsconfig.json @@ -6,6 +6,9 @@ "react-native-wgpu": ["../../packages/webgpu/src/index"], "three": ["../../node_modules/@types/three/src/Three.WebGPU.d.ts"] }, - "types": ["@webgpu/types"] - } + "types": ["@webgpu/types", "@types/node"], + }, + "exclude": [ + "**/Pods/**" + ] } diff --git a/apps/example/visionos/Podfile b/apps/example/visionos/Podfile new file mode 100644 index 000000000..80fc1630c --- /dev/null +++ b/apps/example/visionos/Podfile @@ -0,0 +1,13 @@ +ws_dir = Pathname.new(__dir__) +ws_dir = ws_dir.parent until + File.exist?("#{ws_dir}/node_modules/react-native-test-app/visionos/test_app.rb") || + ws_dir.expand_path.to_s == '/' +require "#{ws_dir}/node_modules/react-native-test-app/visionos/test_app.rb" + +workspace 'Example.xcworkspace' + +options = { + :hermes_enabled => true +} + +use_test_app! options diff --git a/apps/paper/.bundle/config b/apps/paper/.bundle/config deleted file mode 100644 index 848943bb5..000000000 --- a/apps/paper/.bundle/config +++ /dev/null @@ -1,2 +0,0 @@ -BUNDLE_PATH: "vendor/bundle" -BUNDLE_FORCE_RUBY_PLATFORM: 1 diff --git a/apps/paper/Gemfile b/apps/paper/Gemfile deleted file mode 100644 index 8d72c37a8..000000000 --- a/apps/paper/Gemfile +++ /dev/null @@ -1,9 +0,0 @@ -source 'https://rubygems.org' - -# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version -ruby ">= 2.6.10" - -# Cocoapods 1.15 introduced a bug which break the build. We will remove the upper -# bound in the template on Cocoapods with next React Native release. -gem 'cocoapods', '>= 1.13', '< 1.15' -gem 'activesupport', '>= 6.1.7.5', '< 7.1.0' diff --git a/apps/paper/README.md b/apps/paper/README.md deleted file mode 100644 index 12470c30e..000000000 --- a/apps/paper/README.md +++ /dev/null @@ -1,79 +0,0 @@ -This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli). - -# Getting Started - ->**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding. - -## Step 1: Start the Metro Server - -First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native. - -To start Metro, run the following command from the _root_ of your React Native project: - -```bash -# using npm -npm start - -# OR using Yarn -yarn start -``` - -## Step 2: Start your Application - -Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app: - -### For Android - -```bash -# using npm -npm run android - -# OR using Yarn -yarn android -``` - -### For iOS - -```bash -# using npm -npm run ios - -# OR using Yarn -yarn ios -``` - -If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly. - -This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively. - -## Step 3: Modifying your App - -Now that you have successfully run the app, let's modify it. - -1. Open `App.tsx` in your text editor of choice and edit some lines. -2. For **Android**: Press the R key twice or select **"Reload"** from the **Developer Menu** (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes! - - For **iOS**: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes! - -## Congratulations! :tada: - -You've successfully run and modified your React Native App. :partying_face: - -### Now what? - -- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps). -- If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started). - -# Troubleshooting - -If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page. - -# Learn More - -To learn more about React Native, take a look at the following resources: - -- [React Native Website](https://reactnative.dev) - learn more about React Native. -- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment. -- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**. -- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts. -- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native. diff --git a/apps/paper/android/app/build.gradle b/apps/paper/android/app/build.gradle deleted file mode 100644 index 167486884..000000000 --- a/apps/paper/android/app/build.gradle +++ /dev/null @@ -1,119 +0,0 @@ -apply plugin: "com.android.application" -apply plugin: "org.jetbrains.kotlin.android" -apply plugin: "com.facebook.react" - -/** - * This is the configuration block to customize your React Native Android app. - * By default you don't need to apply any configuration, just uncomment the lines you need. - */ -react { - /* Folders */ - // The root of your project, i.e. where "package.json" lives. Default is '..' - root = file("../..") - // The folder where the react-native NPM package is. Default is ../node_modules/react-native - reactNativeDir = file("../../../../node_modules/react-native") - // The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen - codegenDir = file("../../../../node_modules/@react-native/codegen") - // The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js - cliFile = file("../../../../node_modules/react-native/cli.js") - - /* Variants */ - // The list of variants to that are debuggable. For those we're going to - // skip the bundling of the JS bundle and the assets. By default is just 'debug'. - // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. - // debuggableVariants = ["liteDebug", "prodDebug"] - - /* Bundling */ - // A list containing the node command and its flags. Default is just 'node'. - // nodeExecutableAndArgs = ["node"] - // - // The command to run when bundling. By default is 'bundle' - // bundleCommand = "ram-bundle" - // - // The path to the CLI configuration file. Default is empty. - // bundleConfig = file(../rn-cli.config.js) - // - // The name of the generated asset file containing your JS bundle - // bundleAssetName = "MyApplication.android.bundle" - // - // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' - // entryFile = file("../js/MyApplication.android.js") - // - // A list of extra flags to pass to the 'bundle' commands. - // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle - // extraPackagerArgs = [] - - /* Hermes Commands */ - // The hermes compiler command to run. By default it is 'hermesc' - //hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" - hermesCommand = "$rootDir/../../node_modules/react-native/sdks/hermesc/%OS-BIN%/hermesc" - // - // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" - // hermesFlags = ["-O", "-output-source-map"] -} - -/** - * Set this to true to Run Proguard on Release builds to minify the Java bytecode. - */ -def enableProguardInReleaseBuilds = false - -/** - * The preferred build flavor of JavaScriptCore (JSC) - * - * For example, to use the international variant, you can use: - * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` - * - * The international variant includes ICU i18n library and necessary data - * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that - * give correct results when using with locales other than en-US. Note that - * this variant is about 6MiB larger per architecture than default. - */ -def jscFlavor = 'org.webkit:android-jsc:+' - -android { - ndkVersion rootProject.ext.ndkVersion - buildToolsVersion rootProject.ext.buildToolsVersion - compileSdk rootProject.ext.compileSdkVersion - - namespace "com.wgpuexample" - defaultConfig { - applicationId "com.wgpuexample" - minSdkVersion rootProject.ext.minSdkVersion - targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 1 - versionName "1.0" - } - signingConfigs { - debug { - storeFile file('debug.keystore') - storePassword 'android' - keyAlias 'androiddebugkey' - keyPassword 'android' - } - } - buildTypes { - debug { - signingConfig signingConfigs.debug - } - release { - // Caution! In production, you need to generate your own keystore file. - // see https://reactnative.dev/docs/signed-apk-android. - signingConfig signingConfigs.debug - minifyEnabled enableProguardInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" - } - } -} - -dependencies { - // The version of react-native is set by the React Native Gradle Plugin - implementation("com.facebook.react:react-android") - - if (hermesEnabled.toBoolean()) { - implementation("com.facebook.react:hermes-android") - } else { - implementation jscFlavor - } -} - -apply from: file("../../../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/apps/paper/android/app/debug.keystore b/apps/paper/android/app/debug.keystore deleted file mode 100644 index 364e105ed..000000000 Binary files a/apps/paper/android/app/debug.keystore and /dev/null differ diff --git a/apps/paper/android/app/proguard-rules.pro b/apps/paper/android/app/proguard-rules.pro deleted file mode 100644 index 11b025724..000000000 --- a/apps/paper/android/app/proguard-rules.pro +++ /dev/null @@ -1,10 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: diff --git a/apps/paper/android/app/src/debug/AndroidManifest.xml b/apps/paper/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index eb98c01af..000000000 --- a/apps/paper/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - diff --git a/apps/paper/android/app/src/main/AndroidManifest.xml b/apps/paper/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 4122f36a5..000000000 --- a/apps/paper/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - diff --git a/apps/paper/android/app/src/main/java/com/wgpuexample/MainActivity.kt b/apps/paper/android/app/src/main/java/com/wgpuexample/MainActivity.kt deleted file mode 100644 index 3775b0a76..000000000 --- a/apps/paper/android/app/src/main/java/com/wgpuexample/MainActivity.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.wgpuexample - -import com.facebook.react.ReactActivity -import com.facebook.react.ReactActivityDelegate -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled -import com.facebook.react.defaults.DefaultReactActivityDelegate - -class MainActivity : ReactActivity() { - - /** - * Returns the name of the main component registered from JavaScript. This is used to schedule - * rendering of the component. - */ - override fun getMainComponentName(): String = "WgpuExample" - - /** - * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] - * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] - */ - override fun createReactActivityDelegate(): ReactActivityDelegate = - DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) -} diff --git a/apps/paper/android/app/src/main/java/com/wgpuexample/MainApplication.kt b/apps/paper/android/app/src/main/java/com/wgpuexample/MainApplication.kt deleted file mode 100644 index 960460ce2..000000000 --- a/apps/paper/android/app/src/main/java/com/wgpuexample/MainApplication.kt +++ /dev/null @@ -1,43 +0,0 @@ -package com.wgpuexample - -import android.app.Application -import com.facebook.react.PackageList -import com.facebook.react.ReactApplication -import com.facebook.react.ReactHost -import com.facebook.react.ReactNativeHost -import com.facebook.react.ReactPackage -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load -import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost -import com.facebook.react.defaults.DefaultReactNativeHost -import com.facebook.soloader.SoLoader - -class MainApplication : Application(), ReactApplication { - - override val reactNativeHost: ReactNativeHost = - object : DefaultReactNativeHost(this) { - override fun getPackages(): List = - PackageList(this).packages.apply { - // Packages that cannot be autolinked yet can be added manually here, for example: - // add(MyReactNativePackage()) - } - - override fun getJSMainModuleName(): String = "index" - - override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG - - override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED - override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED - } - - override val reactHost: ReactHost - get() = getDefaultReactHost(applicationContext, reactNativeHost) - - override fun onCreate() { - super.onCreate() - SoLoader.init(this, false) - if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { - // If you opted-in for the New Architecture, we load the native entry point for this app. - load() - } - } -} diff --git a/apps/paper/android/app/src/main/res/drawable/rn_edit_text_material.xml b/apps/paper/android/app/src/main/res/drawable/rn_edit_text_material.xml deleted file mode 100644 index 5c25e728e..000000000 --- a/apps/paper/android/app/src/main/res/drawable/rn_edit_text_material.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - diff --git a/apps/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index a2f590828..000000000 Binary files a/apps/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/apps/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/apps/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index 1b5239980..000000000 Binary files a/apps/paper/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ diff --git a/apps/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index ff10afd6e..000000000 Binary files a/apps/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/apps/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/apps/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 115a4c768..000000000 Binary files a/apps/paper/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ diff --git a/apps/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/apps/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index dcd3cd808..000000000 Binary files a/apps/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/apps/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/apps/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 459ca609d..000000000 Binary files a/apps/paper/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ diff --git a/apps/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 8ca12fe02..000000000 Binary files a/apps/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/apps/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/apps/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index 8e19b410a..000000000 Binary files a/apps/paper/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/apps/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index b824ebdd4..000000000 Binary files a/apps/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/apps/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/apps/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 4c19a13c2..000000000 Binary files a/apps/paper/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/apps/paper/android/app/src/main/res/values/strings.xml b/apps/paper/android/app/src/main/res/values/strings.xml deleted file mode 100644 index 83801bc6b..000000000 --- a/apps/paper/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - WgpuExample - diff --git a/apps/paper/android/app/src/main/res/values/styles.xml b/apps/paper/android/app/src/main/res/values/styles.xml deleted file mode 100644 index 7ba83a2ad..000000000 --- a/apps/paper/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/apps/paper/android/build.gradle b/apps/paper/android/build.gradle deleted file mode 100644 index d42dcc32c..000000000 --- a/apps/paper/android/build.gradle +++ /dev/null @@ -1,22 +0,0 @@ -buildscript { - ext { - buildToolsVersion = "34.0.0" - minSdkVersion = 23 - compileSdkVersion = 34 - targetSdkVersion = 34 - ndkVersion = "26.1.10909125" - kotlinVersion = "1.9.22" - } - repositories { - google() - mavenCentral() - } - dependencies { - classpath("com.android.tools.build:gradle") - classpath("com.facebook.react:react-native-gradle-plugin") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") - } -} - -apply plugin: "com.facebook.react.rootproject" - diff --git a/apps/paper/android/gradle/wrapper/gradle-wrapper.jar b/apps/paper/android/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7f93135c4..000000000 Binary files a/apps/paper/android/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/apps/paper/android/settings.gradle b/apps/paper/android/settings.gradle deleted file mode 100644 index 5ff627cfd..000000000 --- a/apps/paper/android/settings.gradle +++ /dev/null @@ -1,4 +0,0 @@ -rootProject.name = 'WgpuExample' -apply from: file("../../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) -include ':app' -includeBuild('../../../node_modules/@react-native/gradle-plugin') diff --git a/apps/paper/app.json b/apps/paper/app.json deleted file mode 100644 index 96808c05a..000000000 --- a/apps/paper/app.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "WgpuExample", - "displayName": "WgpuExample" -} diff --git a/apps/paper/index.js b/apps/paper/index.js deleted file mode 100644 index 117ddcae4..000000000 --- a/apps/paper/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import { AppRegistry } from 'react-native'; -import App from './src/App'; -import { name as appName } from './app.json'; - -AppRegistry.registerComponent(appName, () => App); diff --git a/apps/paper/ios/.xcode.env b/apps/paper/ios/.xcode.env deleted file mode 100644 index 3d5782c71..000000000 --- a/apps/paper/ios/.xcode.env +++ /dev/null @@ -1,11 +0,0 @@ -# This `.xcode.env` file is versioned and is used to source the environment -# used when running script phases inside Xcode. -# To customize your local environment, you can create an `.xcode.env.local` -# file that is not versioned. - -# NODE_BINARY variable contains the PATH to the node executable. -# -# Customize the NODE_BINARY variable here. -# For example, to use nvm with brew, add the following line -# . "$(brew --prefix nvm)/nvm.sh" --no-use -export NODE_BINARY=$(command -v node) diff --git a/apps/paper/ios/.xcode.env.local b/apps/paper/ios/.xcode.env.local deleted file mode 100644 index 3d5782c71..000000000 --- a/apps/paper/ios/.xcode.env.local +++ /dev/null @@ -1,11 +0,0 @@ -# This `.xcode.env` file is versioned and is used to source the environment -# used when running script phases inside Xcode. -# To customize your local environment, you can create an `.xcode.env.local` -# file that is not versioned. - -# NODE_BINARY variable contains the PATH to the node executable. -# -# Customize the NODE_BINARY variable here. -# For example, to use nvm with brew, add the following line -# . "$(brew --prefix nvm)/nvm.sh" --no-use -export NODE_BINARY=$(command -v node) diff --git a/apps/paper/ios/File.swift b/apps/paper/ios/File.swift deleted file mode 100644 index 3e93ab904..000000000 --- a/apps/paper/ios/File.swift +++ /dev/null @@ -1,6 +0,0 @@ -// -// File.swift -// WgpuExample -// - -import Foundation diff --git a/apps/paper/ios/Podfile b/apps/paper/ios/Podfile deleted file mode 100644 index 27fa7b73a..000000000 --- a/apps/paper/ios/Podfile +++ /dev/null @@ -1,40 +0,0 @@ -# Resolve react_native_pods.rb with node to allow for hoisting -require Pod::Executable.execute_command('node', ['-p', - 'require.resolve( - "react-native/scripts/react_native_pods.rb", - {paths: [process.argv[1]]}, - )', __dir__]).strip - -platform :ios, min_ios_version_supported -prepare_react_native_project! - -linkage = ENV['USE_FRAMEWORKS'] -if linkage != nil - Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green - use_frameworks! :linkage => linkage.to_sym -end - -target 'WgpuExample' do - config = use_native_modules! - - use_react_native!( - :path => config[:reactNativePath], - # An absolute path to your application root. - :app_path => "#{Pod::Config.instance.installation_root}/.." - ) - - target 'WgpuExampleTests' do - inherit! :complete - # Pods for testing - end - - post_install do |installer| - # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 - react_native_post_install( - installer, - config[:reactNativePath], - :mac_catalyst_enabled => false, - # :ccache_enabled => true - ) - end -end diff --git a/apps/paper/ios/WgpuExample-Bridging-Header.h b/apps/paper/ios/WgpuExample-Bridging-Header.h deleted file mode 100644 index e11d920b1..000000000 --- a/apps/paper/ios/WgpuExample-Bridging-Header.h +++ /dev/null @@ -1,3 +0,0 @@ -// -// Use this file to import your target's public headers that you would like to expose to Swift. -// diff --git a/apps/paper/ios/WgpuExample.xcodeproj/project.pbxproj b/apps/paper/ios/WgpuExample.xcodeproj/project.pbxproj deleted file mode 100644 index e2fda4e81..000000000 --- a/apps/paper/ios/WgpuExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,712 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 00E356F31AD99517003FC87E /* WgpuExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* WgpuExampleTests.m */; }; - 0313FEBC7275F068D11602F2 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 670A927F78556E93E54E6C24 /* PrivacyInfo.xcprivacy */; }; - 0C80B921A6F3F58F76C31292 /* libPods-WgpuExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-WgpuExample.a */; }; - 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; - 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; - 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 7699B88040F8A987B510C191 /* libPods-WgpuExample-WgpuExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-WgpuExample-WgpuExampleTests.a */; }; - 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = WgpuExample; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 00E356EE1AD99517003FC87E /* WgpuExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WgpuExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 00E356F21AD99517003FC87E /* WgpuExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WgpuExampleTests.m; sourceTree = ""; }; - 13B07F961A680F5B00A75B9A /* WgpuExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WgpuExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = WgpuExample/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = WgpuExample/AppDelegate.mm; sourceTree = ""; }; - 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = WgpuExample/Images.xcassets; sourceTree = ""; }; - 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = WgpuExample/Info.plist; sourceTree = ""; }; - 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = WgpuExample/main.m; sourceTree = ""; }; - 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = WgpuExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 19F6CBCC0A4E27FBF8BF4A61 /* libPods-WgpuExample-WgpuExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-WgpuExample-WgpuExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B4392A12AC88292D35C810B /* Pods-WgpuExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WgpuExample.debug.xcconfig"; path = "Target Support Files/Pods-WgpuExample/Pods-WgpuExample.debug.xcconfig"; sourceTree = ""; }; - 5709B34CF0A7D63546082F79 /* Pods-WgpuExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WgpuExample.release.xcconfig"; path = "Target Support Files/Pods-WgpuExample/Pods-WgpuExample.release.xcconfig"; sourceTree = ""; }; - 5B7EB9410499542E8C5724F5 /* Pods-WgpuExample-WgpuExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WgpuExample-WgpuExampleTests.debug.xcconfig"; path = "Target Support Files/Pods-WgpuExample-WgpuExampleTests/Pods-WgpuExample-WgpuExampleTests.debug.xcconfig"; sourceTree = ""; }; - 5DCACB8F33CDC322A6C60F78 /* libPods-WgpuExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-WgpuExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 670A927F78556E93E54E6C24 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = WgpuExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = WgpuExample/LaunchScreen.storyboard; sourceTree = ""; }; - 89C6BE57DB24E9ADA2F236DE /* Pods-WgpuExample-WgpuExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WgpuExample-WgpuExampleTests.release.xcconfig"; path = "Target Support Files/Pods-WgpuExample-WgpuExampleTests/Pods-WgpuExample-WgpuExampleTests.release.xcconfig"; sourceTree = ""; }; - ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 00E356EB1AD99517003FC87E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 7699B88040F8A987B510C191 /* libPods-WgpuExample-WgpuExampleTests.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 0C80B921A6F3F58F76C31292 /* libPods-WgpuExample.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 00E356EF1AD99517003FC87E /* WgpuExampleTests */ = { - isa = PBXGroup; - children = ( - 00E356F21AD99517003FC87E /* WgpuExampleTests.m */, - 00E356F01AD99517003FC87E /* Supporting Files */, - ); - path = WgpuExampleTests; - sourceTree = ""; - }; - 00E356F01AD99517003FC87E /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 00E356F11AD99517003FC87E /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 13B07FAE1A68108700A75B9A /* WgpuExample */ = { - isa = PBXGroup; - children = ( - 13B07FAF1A68108700A75B9A /* AppDelegate.h */, - 13B07FB01A68108700A75B9A /* AppDelegate.mm */, - 13B07FB51A68108700A75B9A /* Images.xcassets */, - 13B07FB61A68108700A75B9A /* Info.plist */, - 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, - 13B07FB71A68108700A75B9A /* main.m */, - 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */, - 670A927F78556E93E54E6C24 /* PrivacyInfo.xcprivacy */, - ); - name = WgpuExample; - sourceTree = ""; - }; - 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { - isa = PBXGroup; - children = ( - ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 5DCACB8F33CDC322A6C60F78 /* libPods-WgpuExample.a */, - 19F6CBCC0A4E27FBF8BF4A61 /* libPods-WgpuExample-WgpuExampleTests.a */, - ); - name = Frameworks; - sourceTree = ""; - }; - 832341AE1AAA6A7D00B99B32 /* Libraries */ = { - isa = PBXGroup; - children = ( - ); - name = Libraries; - sourceTree = ""; - }; - 83CBB9F61A601CBA00E9B192 = { - isa = PBXGroup; - children = ( - 13B07FAE1A68108700A75B9A /* WgpuExample */, - 832341AE1AAA6A7D00B99B32 /* Libraries */, - 00E356EF1AD99517003FC87E /* WgpuExampleTests */, - 83CBBA001A601CBA00E9B192 /* Products */, - 2D16E6871FA4F8E400B85C8A /* Frameworks */, - BBD78D7AC51CEA395F1C20DB /* Pods */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - usesTabs = 0; - }; - 83CBBA001A601CBA00E9B192 /* Products */ = { - isa = PBXGroup; - children = ( - 13B07F961A680F5B00A75B9A /* WgpuExample.app */, - 00E356EE1AD99517003FC87E /* WgpuExampleTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - BBD78D7AC51CEA395F1C20DB /* Pods */ = { - isa = PBXGroup; - children = ( - 3B4392A12AC88292D35C810B /* Pods-WgpuExample.debug.xcconfig */, - 5709B34CF0A7D63546082F79 /* Pods-WgpuExample.release.xcconfig */, - 5B7EB9410499542E8C5724F5 /* Pods-WgpuExample-WgpuExampleTests.debug.xcconfig */, - 89C6BE57DB24E9ADA2F236DE /* Pods-WgpuExample-WgpuExampleTests.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 00E356ED1AD99517003FC87E /* WgpuExampleTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "WgpuExampleTests" */; - buildPhases = ( - A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, - 00E356EA1AD99517003FC87E /* Sources */, - 00E356EB1AD99517003FC87E /* Frameworks */, - 00E356EC1AD99517003FC87E /* Resources */, - C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */, - F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - 00E356F51AD99517003FC87E /* PBXTargetDependency */, - ); - name = WgpuExampleTests; - productName = WgpuExampleTests; - productReference = 00E356EE1AD99517003FC87E /* WgpuExampleTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 13B07F861A680F5B00A75B9A /* WgpuExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "WgpuExample" */; - buildPhases = ( - C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, - 13B07F871A680F5B00A75B9A /* Sources */, - 13B07F8C1A680F5B00A75B9A /* Frameworks */, - 13B07F8E1A680F5B00A75B9A /* Resources */, - 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, - E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = WgpuExample; - productName = WgpuExample; - productReference = 13B07F961A680F5B00A75B9A /* WgpuExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 83CBB9F71A601CBA00E9B192 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1210; - TargetAttributes = { - 00E356ED1AD99517003FC87E = { - CreatedOnToolsVersion = 6.2; - TestTargetID = 13B07F861A680F5B00A75B9A; - }; - 13B07F861A680F5B00A75B9A = { - LastSwiftMigration = 1120; - }; - }; - }; - buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "WgpuExample" */; - compatibilityVersion = "Xcode 12.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 83CBB9F61A601CBA00E9B192; - productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 13B07F861A680F5B00A75B9A /* WgpuExample */, - 00E356ED1AD99517003FC87E /* WgpuExampleTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 00E356EC1AD99517003FC87E /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 13B07F8E1A680F5B00A75B9A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, - 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, - 0313FEBC7275F068D11602F2 /* PrivacyInfo.xcprivacy in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "$(SRCROOT)/.xcode.env.local", - "$(SRCROOT)/.xcode.env", - ); - name = "Bundle React Native code and images"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; - }; - 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WgpuExample/Pods-WgpuExample-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WgpuExample/Pods-WgpuExample-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WgpuExample/Pods-WgpuExample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - A55EABD7B0C7F3A422A6CC61 /* [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-WgpuExample-WgpuExampleTests-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; - }; - C38B50BA6285516D6DCD4F65 /* [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-WgpuExample-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; - }; - C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WgpuExample-WgpuExampleTests/Pods-WgpuExample-WgpuExampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WgpuExample-WgpuExampleTests/Pods-WgpuExample-WgpuExampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WgpuExample-WgpuExampleTests/Pods-WgpuExample-WgpuExampleTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WgpuExample/Pods-WgpuExample-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WgpuExample/Pods-WgpuExample-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WgpuExample/Pods-WgpuExample-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WgpuExample-WgpuExampleTests/Pods-WgpuExample-WgpuExampleTests-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WgpuExample-WgpuExampleTests/Pods-WgpuExample-WgpuExampleTests-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WgpuExample-WgpuExampleTests/Pods-WgpuExample-WgpuExampleTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 00E356EA1AD99517003FC87E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 00E356F31AD99517003FC87E /* WgpuExampleTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 13B07F871A680F5B00A75B9A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, - 13B07FC11A68108700A75B9A /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 13B07F861A680F5B00A75B9A /* WgpuExample */; - targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 00E356F61AD99517003FC87E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-WgpuExample-WgpuExampleTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = WgpuExampleTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/WgpuExample.app/WgpuExample"; - }; - name = Debug; - }; - 00E356F71AD99517003FC87E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-WgpuExample-WgpuExampleTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - COPY_PHASE_STRIP = NO; - INFOPLIST_FILE = WgpuExampleTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - "$(inherited)", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/WgpuExample.app/WgpuExample"; - }; - name = Release; - }; - 13B07F941A680F5B00A75B9A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-WgpuExample.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 1; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = WgpuExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-lc++", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = WgpuExample; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 13B07F951A680F5B00A75B9A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-WgpuExample.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 1; - INFOPLIST_FILE = WgpuExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-lc++", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = WgpuExample; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; - 83CBBA201A601CBA00E9B192 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CC = ""; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++20"; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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; - CXX = ""; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; - 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_SYMBOLS_PRIVATE_EXTERN = NO; - 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 = 13.4; - LD = ""; - LDPLUSPLUS = ""; - LD_RUNPATH_SEARCH_PATHS = ( - /usr/lib/swift, - "$(inherited)", - ); - LIBRARY_SEARCH_PATHS = ( - "\"$(SDKROOT)/usr/lib/swift\"", - "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", - "\"$(inherited)\"", - ); - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - OTHER_CPLUSPLUSFLAGS = ( - "$(OTHER_CFLAGS)", - "-DFOLLY_NO_CONFIG", - "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", - "-DFOLLY_CFG_NO_COROUTINES=1", - "-DFOLLY_HAVE_CLOCK_GETTIME=1", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native"; - SDKROOT = iphoneos; - USE_HERMES = true; - }; - name = Debug; - }; - 83CBBA211A601CBA00E9B192 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CC = ""; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++20"; - 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - 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 = YES; - CXX = ""; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; - 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 = 13.4; - LD = ""; - LDPLUSPLUS = ""; - LD_RUNPATH_SEARCH_PATHS = ( - /usr/lib/swift, - "$(inherited)", - ); - LIBRARY_SEARCH_PATHS = ( - "\"$(SDKROOT)/usr/lib/swift\"", - "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", - "\"$(inherited)\"", - ); - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_CPLUSPLUSFLAGS = ( - "$(OTHER_CFLAGS)", - "-DFOLLY_NO_CONFIG", - "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", - "-DFOLLY_CFG_NO_COROUTINES=1", - "-DFOLLY_HAVE_CLOCK_GETTIME=1", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native"; - SDKROOT = iphoneos; - USE_HERMES = true; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "WgpuExampleTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 00E356F61AD99517003FC87E /* Debug */, - 00E356F71AD99517003FC87E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "WgpuExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 13B07F941A680F5B00A75B9A /* Debug */, - 13B07F951A680F5B00A75B9A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "WgpuExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 83CBBA201A601CBA00E9B192 /* Debug */, - 83CBBA211A601CBA00E9B192 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; -} diff --git a/apps/paper/ios/WgpuExample.xcodeproj/xcshareddata/xcschemes/WgpuExample.xcscheme b/apps/paper/ios/WgpuExample.xcodeproj/xcshareddata/xcschemes/WgpuExample.xcscheme deleted file mode 100644 index 7f3a6f9e2..000000000 --- a/apps/paper/ios/WgpuExample.xcodeproj/xcshareddata/xcschemes/WgpuExample.xcscheme +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/paper/ios/WgpuExample.xcworkspace/contents.xcworkspacedata b/apps/paper/ios/WgpuExample.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index b9816ff9d..000000000 --- a/apps/paper/ios/WgpuExample.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/apps/paper/ios/WgpuExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/apps/paper/ios/WgpuExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/apps/paper/ios/WgpuExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/apps/paper/ios/WgpuExample/AppDelegate.h b/apps/paper/ios/WgpuExample/AppDelegate.h deleted file mode 100644 index 5d2808256..000000000 --- a/apps/paper/ios/WgpuExample/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : RCTAppDelegate - -@end diff --git a/apps/paper/ios/WgpuExample/AppDelegate.mm b/apps/paper/ios/WgpuExample/AppDelegate.mm deleted file mode 100644 index a4573b41f..000000000 --- a/apps/paper/ios/WgpuExample/AppDelegate.mm +++ /dev/null @@ -1,31 +0,0 @@ -#import "AppDelegate.h" - -#import - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - self.moduleName = @"WgpuExample"; - // You can add your custom initial props in the dictionary below. - // They will be passed down to the ViewController used by React Native. - self.initialProps = @{}; - - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge -{ - return [self bundleURL]; -} - -- (NSURL *)bundleURL -{ -#if DEBUG - return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; -#else - return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; -#endif -} - -@end diff --git a/apps/paper/ios/WgpuExample/Images.xcassets/AppIcon.appiconset/Contents.json b/apps/paper/ios/WgpuExample/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 81213230d..000000000 --- a/apps/paper/ios/WgpuExample/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" - }, - { - "idiom" : "ios-marketing", - "scale" : "1x", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/apps/paper/ios/WgpuExample/Images.xcassets/Contents.json b/apps/paper/ios/WgpuExample/Images.xcassets/Contents.json deleted file mode 100644 index 2d92bd53f..000000000 --- a/apps/paper/ios/WgpuExample/Images.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/apps/paper/ios/WgpuExample/Info.plist b/apps/paper/ios/WgpuExample/Info.plist deleted file mode 100644 index 1f006bc60..000000000 --- a/apps/paper/ios/WgpuExample/Info.plist +++ /dev/null @@ -1,52 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - WgpuExample - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - LSRequiresIPhoneOS - - NSAppTransportSecurity - - - NSAllowsArbitraryLoads - - NSAllowsLocalNetworking - - - NSLocationWhenInUseUsageDescription - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - arm64 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - - diff --git a/apps/paper/ios/WgpuExample/LaunchScreen.storyboard b/apps/paper/ios/WgpuExample/LaunchScreen.storyboard deleted file mode 100644 index 833b83020..000000000 --- a/apps/paper/ios/WgpuExample/LaunchScreen.storyboard +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/paper/ios/WgpuExample/PrivacyInfo.xcprivacy b/apps/paper/ios/WgpuExample/PrivacyInfo.xcprivacy deleted file mode 100644 index 41b8317f0..000000000 --- a/apps/paper/ios/WgpuExample/PrivacyInfo.xcprivacy +++ /dev/null @@ -1,37 +0,0 @@ - - - - - NSPrivacyAccessedAPITypes - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryFileTimestamp - NSPrivacyAccessedAPITypeReasons - - C617.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryUserDefaults - NSPrivacyAccessedAPITypeReasons - - CA92.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategorySystemBootTime - NSPrivacyAccessedAPITypeReasons - - 35F9.1 - - - - NSPrivacyCollectedDataTypes - - NSPrivacyTracking - - - diff --git a/apps/paper/ios/WgpuExample/main.m b/apps/paper/ios/WgpuExample/main.m deleted file mode 100644 index d645c7246..000000000 --- a/apps/paper/ios/WgpuExample/main.m +++ /dev/null @@ -1,10 +0,0 @@ -#import - -#import "AppDelegate.h" - -int main(int argc, char *argv[]) -{ - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/apps/paper/ios/WgpuExampleTests/Info.plist b/apps/paper/ios/WgpuExampleTests/Info.plist deleted file mode 100644 index ba72822e8..000000000 --- a/apps/paper/ios/WgpuExampleTests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/apps/paper/ios/WgpuExampleTests/WgpuExampleTests.m b/apps/paper/ios/WgpuExampleTests/WgpuExampleTests.m deleted file mode 100644 index f2c44d5ae..000000000 --- a/apps/paper/ios/WgpuExampleTests/WgpuExampleTests.m +++ /dev/null @@ -1,66 +0,0 @@ -#import -#import - -#import -#import - -#define TIMEOUT_SECONDS 600 -#define TEXT_TO_LOOK_FOR @"Welcome to React" - -@interface WgpuExampleTests : XCTestCase - -@end - -@implementation WgpuExampleTests - -- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test -{ - if (test(view)) { - return YES; - } - for (UIView *subview in [view subviews]) { - if ([self findSubviewInView:subview matching:test]) { - return YES; - } - } - return NO; -} - -- (void)testRendersWelcomeScreen -{ - UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; - NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; - BOOL foundElement = NO; - - __block NSString *redboxError = nil; -#ifdef DEBUG - RCTSetLogFunction( - ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { - if (level >= RCTLogLevelError) { - redboxError = message; - } - }); -#endif - - while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { - [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; - [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; - - foundElement = [self findSubviewInView:vc.view - matching:^BOOL(UIView *view) { - if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { - return YES; - } - return NO; - }]; - } - -#ifdef DEBUG - RCTSetLogFunction(RCTDefaultLogFunction); -#endif - - XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); - XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); -} - -@end diff --git a/packages/webgpu/src/__tests__/setup.ts b/packages/webgpu/src/__tests__/setup.ts index 48ec0da2c..8ffad6122 100644 --- a/packages/webgpu/src/__tests__/setup.ts +++ b/packages/webgpu/src/__tests__/setup.ts @@ -141,7 +141,7 @@ class ReferenceTestingClient implements TestingClient { } const fTexturePath = path.join( __dirname, - "../../../../apps/paper/src/assets/f.png", + "../../../../apps/example/src/assets/f.png", ); const fTextureData = fs.readFileSync(fTexturePath); const fTextureBase64 = `data:image/png;base64,${fTextureData.toString("base64")}`; @@ -249,13 +249,13 @@ class ReferenceTestingClient implements TestingClient { .catch((e) => console.log(e)); await page.waitForNetworkIdle(); const di3D = decodeImage( - path.join(__dirname, "../../../../apps/paper/src/assets/Di-3d.png"), + path.join(__dirname, "../../../../apps/example/src/assets/Di-3d.png"), ); const moon = decodeImage( - path.join(__dirname, "../../../../apps/paper/src/assets/moon.png"), + path.join(__dirname, "../../../../apps/example/src/assets/moon.png"), ); const saturn = decodeImage( - path.join(__dirname, "../../../../apps/paper/src/assets/saturn.png"), + path.join(__dirname, "../../../../apps/example/src/assets/saturn.png"), ); await page.evaluate( ` diff --git a/yarn.lock b/yarn.lock index 73c5b040e..4762073e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,7 +55,7 @@ __metadata: languageName: node linkType: hard -"@babel/eslint-parser@npm:^7.18.2": +"@babel/eslint-parser@npm:^7.18.2, @babel/eslint-parser@npm:^7.20.0": version: 7.25.1 resolution: "@babel/eslint-parser@npm:7.25.1" dependencies: @@ -1701,6 +1701,60 @@ __metadata: languageName: node linkType: hard +"@callstack/react-native-visionos@npm:^0.74.0": + version: 0.74.4 + resolution: "@callstack/react-native-visionos@npm:0.74.4" + dependencies: + "@jest/create-cache-key-function": ^29.6.3 + "@react-native-community/cli": 13.6.9 + "@react-native-community/cli-platform-android": 13.6.9 + "@react-native-community/cli-platform-apple": 13.6.9 + "@react-native-community/cli-platform-ios": 13.6.9 + "@react-native/assets-registry": 0.74.84 + "@react-native/codegen": 0.74.84 + "@react-native/community-cli-plugin": 0.74.84 + "@react-native/gradle-plugin": 0.74.84 + "@react-native/js-polyfills": 0.74.84 + "@react-native/normalize-colors": 0.74.84 + "@react-native/virtualized-lists": 0.74.84 + abort-controller: ^3.0.0 + anser: ^1.4.9 + ansi-regex: ^5.0.0 + base64-js: ^1.5.1 + chalk: ^4.0.0 + event-target-shim: ^5.0.1 + flow-enums-runtime: ^0.0.6 + invariant: ^2.2.4 + jest-environment-node: ^29.6.3 + jsc-android: ^250231.0.0 + memoize-one: ^5.0.0 + metro-runtime: ^0.80.3 + metro-source-map: ^0.80.3 + mkdirp: ^0.5.1 + nullthrows: ^1.1.1 + pretty-format: ^26.5.2 + promise: ^8.3.0 + react-devtools-core: ^5.0.0 + react-refresh: ^0.14.0 + react-shallow-renderer: ^16.15.0 + regenerator-runtime: ^0.13.2 + scheduler: 0.24.0-canary-efb381bbf-20230505 + stacktrace-parser: ^0.1.10 + whatwg-fetch: ^3.0.0 + ws: ^6.2.2 + yargs: ^17.6.2 + peerDependencies: + "@types/react": ^18.2.6 + react: 18.2.0 + peerDependenciesMeta: + "@types/react": + optional: true + bin: + react-native-visionos: cli.js + checksum: 6cb71b0e1d1d9ffb11baccd588af0617f7bac7091f2a4b14de7716895e4627d1f2734d2971b72e5829d4dfbfc1265156ef922671c217a3d732997ca9306443af + languageName: node + linkType: hard + "@cspotcode/source-map-support@npm:^0.8.0": version: 0.8.1 resolution: "@cspotcode/source-map-support@npm:0.8.1" @@ -2259,6 +2313,18 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-clean@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-clean@npm:13.6.9" + dependencies: + "@react-native-community/cli-tools": 13.6.9 + chalk: ^4.1.2 + execa: ^5.0.0 + fast-glob: ^3.3.2 + checksum: 2afb05e88e954161f14034dbb0f06b490f348e0ea473fc974dd704ca4704fd6b98fc38e1bd3f712ba24c2878ec376ee46ce203055c14ac37107c7c7654533c1e + languageName: node + linkType: hard + "@react-native-community/cli-config@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli-config@npm:13.6.8" @@ -2273,6 +2339,20 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-config@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-config@npm:13.6.9" + dependencies: + "@react-native-community/cli-tools": 13.6.9 + chalk: ^4.1.2 + cosmiconfig: ^5.1.0 + deepmerge: ^4.3.0 + fast-glob: ^3.3.2 + joi: ^17.2.1 + checksum: 6bef773e793d445f44e6bdf02fcb083f390700d0f9aeeed2e3d43522d26a31c38b08c2b7613fdad42bb0de8c03c9123a1d3a0478c0b65ff4d139c231211e8618 + languageName: node + linkType: hard + "@react-native-community/cli-debugger-ui@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli-debugger-ui@npm:13.6.8" @@ -2282,6 +2362,15 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-debugger-ui@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-debugger-ui@npm:13.6.9" + dependencies: + serve-static: ^1.13.1 + checksum: 9c2db8a1d9fe0378418557c37b58a2acd2c5c8ec72e1fd162305d7a05556e9833fd0c0ee4c60d5e811708dbd3932b263f11a15559595e05798fd829e846fd2f2 + languageName: node + linkType: hard + "@react-native-community/cli-doctor@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli-doctor@npm:13.6.8" @@ -2307,6 +2396,31 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-doctor@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-doctor@npm:13.6.9" + dependencies: + "@react-native-community/cli-config": 13.6.9 + "@react-native-community/cli-platform-android": 13.6.9 + "@react-native-community/cli-platform-apple": 13.6.9 + "@react-native-community/cli-platform-ios": 13.6.9 + "@react-native-community/cli-tools": 13.6.9 + chalk: ^4.1.2 + command-exists: ^1.2.8 + deepmerge: ^4.3.0 + envinfo: ^7.10.0 + execa: ^5.0.0 + hermes-profile-transformer: ^0.0.6 + node-stream-zip: ^1.9.1 + ora: ^5.4.1 + semver: ^7.5.2 + strip-ansi: ^5.2.0 + wcwidth: ^1.0.1 + yaml: ^2.2.1 + checksum: d34c011f54fb4091ca9ad31f09e54c2da88efad43ae0b8634de14e575f69530c2793fcb49052e25b4abf18532353391d796bd5297c38ac9ca9c157dcfc40f4cc + languageName: node + linkType: hard + "@react-native-community/cli-hermes@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli-hermes@npm:13.6.8" @@ -2319,6 +2433,18 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-hermes@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-hermes@npm:13.6.9" + dependencies: + "@react-native-community/cli-platform-android": 13.6.9 + "@react-native-community/cli-tools": 13.6.9 + chalk: ^4.1.2 + hermes-profile-transformer: ^0.0.6 + checksum: b4b4bbf695c1a880bcdcacfc1ca685a73f90730af03859a68e5f55a6a70f4232ec3b33e4f63e14942a963e0067cb04805ba9902b8765a94b5ccbb807b4dcd4e6 + languageName: node + linkType: hard + "@react-native-community/cli-platform-android@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli-platform-android@npm:13.6.8" @@ -2333,6 +2459,20 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-android@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-platform-android@npm:13.6.9" + dependencies: + "@react-native-community/cli-tools": 13.6.9 + chalk: ^4.1.2 + execa: ^5.0.0 + fast-glob: ^3.3.2 + fast-xml-parser: ^4.2.4 + logkitty: ^0.7.1 + checksum: a743571c99d8a9769ec37086d3a1e04ceddb9ea0e76788a3fc95c458ca1f419b15059bbc18485e25f33d853e1116937ec09464b9fe463109dca5010914c2e72a + languageName: node + linkType: hard + "@react-native-community/cli-platform-apple@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli-platform-apple@npm:13.6.8" @@ -2347,6 +2487,20 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-apple@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-platform-apple@npm:13.6.9" + dependencies: + "@react-native-community/cli-tools": 13.6.9 + chalk: ^4.1.2 + execa: ^5.0.0 + fast-glob: ^3.3.2 + fast-xml-parser: ^4.0.12 + ora: ^5.4.1 + checksum: 4ecd78baf03dbf6e916cc59a623c111cdf5b876427fcfbf34151ff5cc60c1e428362f176703078665d3a7438360d29844d7d2bcec9d692a6082342d8f9d7ffff + languageName: node + linkType: hard + "@react-native-community/cli-platform-ios@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli-platform-ios@npm:13.6.8" @@ -2356,6 +2510,15 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-platform-ios@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-platform-ios@npm:13.6.9" + dependencies: + "@react-native-community/cli-platform-apple": 13.6.9 + checksum: ba88a11d49d7a41fad8455d78be9956ba0a11257257995e2706e0e451f451c4bde352eb178a5e4743811a976f7c271caaae804e23defac9883b1f03c308edd26 + languageName: node + linkType: hard + "@react-native-community/cli-server-api@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli-server-api@npm:13.6.8" @@ -2373,6 +2536,23 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-server-api@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-server-api@npm:13.6.9" + dependencies: + "@react-native-community/cli-debugger-ui": 13.6.9 + "@react-native-community/cli-tools": 13.6.9 + compression: ^1.7.1 + connect: ^3.6.5 + errorhandler: ^1.5.1 + nocache: ^3.0.1 + pretty-format: ^26.6.2 + serve-static: ^1.13.1 + ws: ^6.2.2 + checksum: 962a3e32cad3609cb181e4578c23ca4225d5aa16daf12902661b7185efd8e6b92e194bf8a44c3525c85ee91a742cc28acc374c5c9af3574496ff7554621f8c64 + languageName: node + linkType: hard + "@react-native-community/cli-tools@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli-tools@npm:13.6.8" @@ -2392,6 +2572,25 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-tools@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-tools@npm:13.6.9" + dependencies: + appdirsjs: ^1.2.4 + chalk: ^4.1.2 + execa: ^5.0.0 + find-up: ^5.0.0 + mime: ^2.4.1 + node-fetch: ^2.6.0 + open: ^6.2.0 + ora: ^5.4.1 + semver: ^7.5.2 + shell-quote: ^1.7.3 + sudo-prompt: ^9.0.0 + checksum: dc5ee921480a03249b408544146737a0674aa6259d797672a5f369d337a2775ec62fb986fcf62fe554992605305b75a220609db8eea9f6b75d97241a4dd79ad3 + languageName: node + linkType: hard + "@react-native-community/cli-types@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli-types@npm:13.6.8" @@ -2401,6 +2600,15 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli-types@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli-types@npm:13.6.9" + dependencies: + joi: ^17.2.1 + checksum: 224c60447fcebb9fd4719685a3d85aebabbd709f79d056a76750c59cc9d215882bd7386f0822103b2c7b6df1815f738f615c27838381f94028169833ae4473f8 + languageName: node + linkType: hard + "@react-native-community/cli@npm:13.6.8": version: 13.6.8 resolution: "@react-native-community/cli@npm:13.6.8" @@ -2428,6 +2636,33 @@ __metadata: languageName: node linkType: hard +"@react-native-community/cli@npm:13.6.9": + version: 13.6.9 + resolution: "@react-native-community/cli@npm:13.6.9" + dependencies: + "@react-native-community/cli-clean": 13.6.9 + "@react-native-community/cli-config": 13.6.9 + "@react-native-community/cli-debugger-ui": 13.6.9 + "@react-native-community/cli-doctor": 13.6.9 + "@react-native-community/cli-hermes": 13.6.9 + "@react-native-community/cli-server-api": 13.6.9 + "@react-native-community/cli-tools": 13.6.9 + "@react-native-community/cli-types": 13.6.9 + chalk: ^4.1.2 + commander: ^9.4.1 + deepmerge: ^4.3.0 + execa: ^5.0.0 + find-up: ^4.1.0 + fs-extra: ^8.1.0 + graceful-fs: ^4.1.3 + prompts: ^2.4.2 + semver: ^7.5.2 + bin: + rnc-cli: build/bin.js + checksum: 5e997b50fd687b4f3fcdde6a1fd36317ffee5536649fb16e87f6e3bb1bd56a279daad57b7d904d0442425106f048a114e3987f9a0fc8dc3fadd0a784dcb83a40 + languageName: node + linkType: hard + "@react-native-community/eslint-config@npm:3.2.0": version: 3.2.0 resolution: "@react-native-community/eslint-config@npm:3.2.0" @@ -2459,6 +2694,23 @@ __metadata: languageName: node linkType: hard +"@react-native-mac/virtualized-lists@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native-mac/virtualized-lists@npm:0.74.87" + dependencies: + invariant: ^2.2.4 + nullthrows: ^1.1.1 + peerDependencies: + "@types/react": ^18.2.6 + react: "*" + react-native: "*" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 9b6ef700cd67e765385628174c420c9224f744936e781b7cdef28ef10cc8ccf27302dbd4da534466aaf42cb13fb9146c7ed132796a1e86895a03a79535beec93 + languageName: node + linkType: hard + "@react-native/assets-registry@npm:0.74.84": version: 0.74.84 resolution: "@react-native/assets-registry@npm:0.74.84" @@ -2466,6 +2718,13 @@ __metadata: languageName: node linkType: hard +"@react-native/assets-registry@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/assets-registry@npm:0.74.87" + checksum: 265a85038dd578546a6f9ce9e7f9c6b3e424051b9aac314e4804aea6370420be5c3207e6f672345c0e63fab49175d7b5bd1956a98b9fce080b81a054e43e4bb3 + languageName: node + linkType: hard + "@react-native/babel-plugin-codegen@npm:0.74.84": version: 0.74.84 resolution: "@react-native/babel-plugin-codegen@npm:0.74.84" @@ -2475,6 +2734,15 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-plugin-codegen@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/babel-plugin-codegen@npm:0.74.87" + dependencies: + "@react-native/codegen": 0.74.87 + checksum: f4d1d85deb0925d86a4763643f380afed37476733ef15e416f4022eab8a5aa51737406175c9701d19b9103f4359370a6a5d26f544f299660524fd2d8f5121b71 + languageName: node + linkType: hard + "@react-native/babel-preset@npm:0.74.84": version: 0.74.84 resolution: "@react-native/babel-preset@npm:0.74.84" @@ -2528,6 +2796,59 @@ __metadata: languageName: node linkType: hard +"@react-native/babel-preset@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/babel-preset@npm:0.74.87" + dependencies: + "@babel/core": ^7.20.0 + "@babel/plugin-proposal-async-generator-functions": ^7.0.0 + "@babel/plugin-proposal-class-properties": ^7.18.0 + "@babel/plugin-proposal-export-default-from": ^7.0.0 + "@babel/plugin-proposal-logical-assignment-operators": ^7.18.0 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.18.0 + "@babel/plugin-proposal-numeric-separator": ^7.0.0 + "@babel/plugin-proposal-object-rest-spread": ^7.20.0 + "@babel/plugin-proposal-optional-catch-binding": ^7.0.0 + "@babel/plugin-proposal-optional-chaining": ^7.20.0 + "@babel/plugin-syntax-dynamic-import": ^7.8.0 + "@babel/plugin-syntax-export-default-from": ^7.0.0 + "@babel/plugin-syntax-flow": ^7.18.0 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.0.0 + "@babel/plugin-syntax-optional-chaining": ^7.0.0 + "@babel/plugin-transform-arrow-functions": ^7.0.0 + "@babel/plugin-transform-async-to-generator": ^7.20.0 + "@babel/plugin-transform-block-scoping": ^7.0.0 + "@babel/plugin-transform-classes": ^7.0.0 + "@babel/plugin-transform-computed-properties": ^7.0.0 + "@babel/plugin-transform-destructuring": ^7.20.0 + "@babel/plugin-transform-flow-strip-types": ^7.20.0 + "@babel/plugin-transform-function-name": ^7.0.0 + "@babel/plugin-transform-literals": ^7.0.0 + "@babel/plugin-transform-modules-commonjs": ^7.0.0 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.0.0 + "@babel/plugin-transform-parameters": ^7.0.0 + "@babel/plugin-transform-private-methods": ^7.22.5 + "@babel/plugin-transform-private-property-in-object": ^7.22.11 + "@babel/plugin-transform-react-display-name": ^7.0.0 + "@babel/plugin-transform-react-jsx": ^7.0.0 + "@babel/plugin-transform-react-jsx-self": ^7.0.0 + "@babel/plugin-transform-react-jsx-source": ^7.0.0 + "@babel/plugin-transform-runtime": ^7.0.0 + "@babel/plugin-transform-shorthand-properties": ^7.0.0 + "@babel/plugin-transform-spread": ^7.0.0 + "@babel/plugin-transform-sticky-regex": ^7.0.0 + "@babel/plugin-transform-typescript": ^7.5.0 + "@babel/plugin-transform-unicode-regex": ^7.0.0 + "@babel/template": ^7.0.0 + "@react-native/babel-plugin-codegen": 0.74.87 + babel-plugin-transform-flow-enums: ^0.0.2 + react-refresh: ^0.14.0 + peerDependencies: + "@babel/core": "*" + checksum: 7a8f7c1bbba5cc50e6feeec2912b686b0d5d3257af11c15c6ebbadb501d5af7db29dca846ee79c4ad9d5e2737a4eb7e0a1a7df92c0bf173d7c82f9c3dcee7f6d + languageName: node + linkType: hard + "@react-native/codegen@npm:0.74.84": version: 0.74.84 resolution: "@react-native/codegen@npm:0.74.84" @@ -2545,6 +2866,23 @@ __metadata: languageName: node linkType: hard +"@react-native/codegen@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/codegen@npm:0.74.87" + dependencies: + "@babel/parser": ^7.20.0 + glob: ^7.1.1 + hermes-parser: 0.19.1 + invariant: ^2.2.4 + jscodeshift: ^0.14.0 + mkdirp: ^0.5.1 + nullthrows: ^1.1.1 + peerDependencies: + "@babel/preset-env": ^7.1.6 + checksum: 587b9eacebf3cc96055c11868ac3cf73be3c135cb15b9bb67d0c7b252ef7d46c13621bffd5cbeb5b1744cd9809e97f86d87cb7ab27d517b3aaefeef07fa70642 + languageName: node + linkType: hard + "@react-native/community-cli-plugin@npm:0.74.84": version: 0.74.84 resolution: "@react-native/community-cli-plugin@npm:0.74.84" @@ -2565,6 +2903,26 @@ __metadata: languageName: node linkType: hard +"@react-native/community-cli-plugin@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/community-cli-plugin@npm:0.74.87" + dependencies: + "@react-native-community/cli-server-api": 13.6.9 + "@react-native-community/cli-tools": 13.6.9 + "@react-native/dev-middleware": 0.74.87 + "@react-native/metro-babel-transformer": 0.74.87 + chalk: ^4.0.0 + execa: ^5.1.1 + metro: ^0.80.3 + metro-config: ^0.80.3 + metro-core: ^0.80.3 + node-fetch: ^2.2.0 + querystring: ^0.2.1 + readline: ^1.3.0 + checksum: 299735c5c62fae3cdd71470684cc9ed688cd146e134ed0d41d612b7a1b1356632d7fdd21034d86035117552f0e6db7e3fd1900a9df4633e7fe333b6338effb19 + languageName: node + linkType: hard + "@react-native/debugger-frontend@npm:0.74.84": version: 0.74.84 resolution: "@react-native/debugger-frontend@npm:0.74.84" @@ -2572,6 +2930,13 @@ __metadata: languageName: node linkType: hard +"@react-native/debugger-frontend@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/debugger-frontend@npm:0.74.87" + checksum: dccd3d33774820ce9ca91910d13273c227ffb3b667fba5f3ec877c0d9b241e1cf16f8462b967ed52d1688826dd019d176a0425401b4d824568eda1faeec29f26 + languageName: node + linkType: hard + "@react-native/dev-middleware@npm:0.74.84": version: 0.74.84 resolution: "@react-native/dev-middleware@npm:0.74.84" @@ -2593,6 +2958,58 @@ __metadata: languageName: node linkType: hard +"@react-native/dev-middleware@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/dev-middleware@npm:0.74.87" + dependencies: + "@isaacs/ttlcache": ^1.4.1 + "@react-native/debugger-frontend": 0.74.87 + "@rnx-kit/chromium-edge-launcher": ^1.0.0 + chrome-launcher: ^0.15.2 + connect: ^3.6.5 + debug: ^2.2.0 + node-fetch: ^2.2.0 + nullthrows: ^1.1.1 + open: ^7.0.3 + selfsigned: ^2.4.1 + serve-static: ^1.13.1 + temp-dir: ^2.0.0 + ws: ^6.2.2 + checksum: c78339f431d8206be0e3044435b994963bde0358c2210420fee939343d391cd117adaf3ee5895fbb3e7b829f31bef121602a71224e949941ee5e1c6a3677af49 + languageName: node + linkType: hard + +"@react-native/eslint-config@npm:0.74.84": + version: 0.74.84 + resolution: "@react-native/eslint-config@npm:0.74.84" + dependencies: + "@babel/core": ^7.20.0 + "@babel/eslint-parser": ^7.20.0 + "@react-native/eslint-plugin": 0.74.84 + "@typescript-eslint/eslint-plugin": ^7.1.1 + "@typescript-eslint/parser": ^7.1.1 + eslint-config-prettier: ^8.5.0 + eslint-plugin-eslint-comments: ^3.2.0 + eslint-plugin-ft-flow: ^2.0.1 + eslint-plugin-jest: ^27.9.0 + eslint-plugin-prettier: ^4.2.1 + eslint-plugin-react: ^7.30.1 + eslint-plugin-react-hooks: ^4.6.0 + eslint-plugin-react-native: ^4.0.0 + peerDependencies: + eslint: ">=8" + prettier: ">=2" + checksum: 768dce084fffd8858bfba5cb1c34a38316444865ea22cb98c4dbb3dd353f3c2ff63f48b10fe3a2e41d1b62a9c15909a8baecf717fba12a9e718062d231c16ec8 + languageName: node + linkType: hard + +"@react-native/eslint-plugin@npm:0.74.84": + version: 0.74.84 + resolution: "@react-native/eslint-plugin@npm:0.74.84" + checksum: 0333118169c42b5386373f1ccd2e32deeaf1d6607c0946da430d0ecb9460dd0908100a89a4aa8ec4ad25d324ae72a573a8910e4dd606954365073e85335865a0 + languageName: node + linkType: hard + "@react-native/gradle-plugin@npm:0.74.84": version: 0.74.84 resolution: "@react-native/gradle-plugin@npm:0.74.84" @@ -2600,6 +3017,13 @@ __metadata: languageName: node linkType: hard +"@react-native/gradle-plugin@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/gradle-plugin@npm:0.74.87" + checksum: b524e51b33a0ae4faf826928974390da164394b2f95fb203c903ff20ce2c66ef825bf8a0ae228c37b9c5e417e7af66070e97ea6590d3ce3a933599cde8f8ba7e + languageName: node + linkType: hard + "@react-native/js-polyfills@npm:0.74.84": version: 0.74.84 resolution: "@react-native/js-polyfills@npm:0.74.84" @@ -2607,6 +3031,13 @@ __metadata: languageName: node linkType: hard +"@react-native/js-polyfills@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/js-polyfills@npm:0.74.87" + checksum: 268df78b62d22af2ad3e70e107ba0dd5d3c242a5fb11388dd9967c8bb46ce89433fbffd115c3752d31b3bde80616d1f6386edda4538983ddd74eb0df7c72344e + languageName: node + linkType: hard + "@react-native/metro-babel-transformer@npm:0.74.84": version: 0.74.84 resolution: "@react-native/metro-babel-transformer@npm:0.74.84" @@ -2621,6 +3052,20 @@ __metadata: languageName: node linkType: hard +"@react-native/metro-babel-transformer@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/metro-babel-transformer@npm:0.74.87" + dependencies: + "@babel/core": ^7.20.0 + "@react-native/babel-preset": 0.74.87 + hermes-parser: 0.19.1 + nullthrows: ^1.1.1 + peerDependencies: + "@babel/core": "*" + checksum: c665e7652aa086ed04efa03cfcaa22a405f2c885e844b23b194c5860f7ec616a59c6ac189dc024c8117a684b3d730c383d51f2a28f360277ab446a0f2ff0210c + languageName: node + linkType: hard + "@react-native/metro-config@npm:0.74.84": version: 0.74.84 resolution: "@react-native/metro-config@npm:0.74.84" @@ -2640,6 +3085,13 @@ __metadata: languageName: node linkType: hard +"@react-native/normalize-colors@npm:0.74.87": + version: 0.74.87 + resolution: "@react-native/normalize-colors@npm:0.74.87" + checksum: 903f9cd8a0fdcb26f4f621b260b9f48e703ca183ac4ee363b6dea4f424e23a254adebe36ce3d560e6e909f58b1c568bafe596e5858fadf51b5be080f401446c7 + languageName: node + linkType: hard + "@react-native/typescript-config@npm:0.74.84": version: 0.74.84 resolution: "@react-native/typescript-config@npm:0.74.84" @@ -2788,6 +3240,61 @@ __metadata: languageName: node linkType: hard +"@rnx-kit/metro-config@npm:^1.3.17": + version: 1.3.17 + resolution: "@rnx-kit/metro-config@npm:1.3.17" + dependencies: + "@rnx-kit/tools-node": ^2.0.0 + "@rnx-kit/tools-react-native": ^1.4.1 + "@rnx-kit/tools-workspaces": ^0.1.3 + peerDependencies: + "@react-native/metro-config": "*" + react: "*" + react-native: "*" + peerDependenciesMeta: + "@react-native/metro-config": + optional: true + checksum: bf78110905047ec1147494fdee7b42ca9703ca6c04a7e918c9bc8e629c98cda1ac57fa8819a4dc28a52cedccda1a396a52359c653fba7f5becfffa67897b028e + languageName: node + linkType: hard + +"@rnx-kit/react-native-host@npm:^0.5.0": + version: 0.5.0 + resolution: "@rnx-kit/react-native-host@npm:0.5.0" + peerDependencies: + react-native: ">=0.66" + checksum: 5d8477169dc215b838c1ee47e2f7905e5decc86759a8ab245d9a99ee46cb35794a1442b597653223924288698126a1912e898bdd51dbe9043f296f63f3aeb3f2 + languageName: node + linkType: hard + +"@rnx-kit/tools-node@npm:^2.0.0, @rnx-kit/tools-node@npm:^2.0.1": + version: 2.1.2 + resolution: "@rnx-kit/tools-node@npm:2.1.2" + checksum: d5d882299adb9ad8d427fadc719191f4c55d64bc88a2d5e46490bb2010ee7ca45728498094c1e3aef6912f1a62095ddf04c1af893bc6d783de1b8b668b0acd1a + languageName: node + linkType: hard + +"@rnx-kit/tools-react-native@npm:^1.4.1": + version: 1.4.2 + resolution: "@rnx-kit/tools-react-native@npm:1.4.2" + dependencies: + "@rnx-kit/tools-node": ^2.0.1 + checksum: 94af27d673c02d3c380363f84528a450084f4803a7e0d69fefc02d2182d80d99d554aba5e9f25638de79354e28673b21a985bd07b354b22c4db2a37a02777884 + languageName: node + linkType: hard + +"@rnx-kit/tools-workspaces@npm:^0.1.3": + version: 0.1.6 + resolution: "@rnx-kit/tools-workspaces@npm:0.1.6" + dependencies: + fast-glob: ^3.2.7 + find-up: ^5.0.0 + read-yaml-file: ^2.1.0 + strip-json-comments: ^3.1.1 + checksum: b6e665e45082219ef40fbb1f008583fce2926468abb5f05d7cefc09199895dbd67f136f9d85d2dce2ba6442328cef8dea3baf6f585fdaedcc5fa042f97100151 + languageName: node + linkType: hard + "@sideway/address@npm:^4.1.5": version: 4.1.5 resolution: "@sideway/address@npm:4.1.5" @@ -3110,6 +3617,15 @@ __metadata: languageName: node linkType: hard +"@types/react-test-renderer@npm:^18.0.0": + version: 18.3.0 + resolution: "@types/react-test-renderer@npm:18.3.0" + dependencies: + "@types/react": "*" + checksum: c53683990bd194cb68e3987bda79c78eff41517f7a747e92f3e54217c2ce3addd031b8a45bf631982c909cc2caeeb905372f322758e05bb76c03754a3f24426e + languageName: node + linkType: hard + "@types/react@npm:^18.2.44": version: 18.3.4 resolution: "@types/react@npm:18.3.4" @@ -3261,6 +3777,29 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:^7.1.1": + version: 7.18.0 + resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" + dependencies: + "@eslint-community/regexpp": ^4.10.0 + "@typescript-eslint/scope-manager": 7.18.0 + "@typescript-eslint/type-utils": 7.18.0 + "@typescript-eslint/utils": 7.18.0 + "@typescript-eslint/visitor-keys": 7.18.0 + graphemer: ^1.4.0 + ignore: ^5.3.1 + natural-compare: ^1.4.0 + ts-api-utils: ^1.3.0 + peerDependencies: + "@typescript-eslint/parser": ^7.0.0 + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: dfcf150628ca2d4ccdfc20b46b0eae075c2f16ef5e70d9d2f0d746acf4c69a09f962b93befee01a529f14bbeb3e817b5aba287d7dd0edc23396bc5ed1f448c3d + languageName: node + linkType: hard + "@typescript-eslint/eslint-plugin@npm:^8.4.0": version: 8.4.0 resolution: "@typescript-eslint/eslint-plugin@npm:8.4.0" @@ -3319,6 +3858,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/parser@npm:^7.1.1": + version: 7.18.0 + resolution: "@typescript-eslint/parser@npm:7.18.0" + dependencies: + "@typescript-eslint/scope-manager": 7.18.0 + "@typescript-eslint/types": 7.18.0 + "@typescript-eslint/typescript-estree": 7.18.0 + "@typescript-eslint/visitor-keys": 7.18.0 + debug: ^4.3.4 + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 132b56ac3b2d90b588d61d005a70f6af322860974225b60201cbf45abf7304d67b7d8a6f0ade1c188ac4e339884e78d6dcd450417f1481998f9ddd155bab0801 + languageName: node + linkType: hard + "@typescript-eslint/parser@npm:^8.4.0": version: 8.4.0 resolution: "@typescript-eslint/parser@npm:8.4.0" @@ -3357,6 +3914,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/scope-manager@npm:7.18.0" + dependencies: + "@typescript-eslint/types": 7.18.0 + "@typescript-eslint/visitor-keys": 7.18.0 + checksum: b982c6ac13d8c86bb3b949c6b4e465f3f60557c2ccf4cc229799827d462df56b9e4d3eaed7711d79b875422fc3d71ec1ebcb5195db72134d07c619e3c5506b57 + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/scope-manager@npm:8.4.0" @@ -3388,16 +3955,33 @@ __metadata: version: 6.10.0 resolution: "@typescript-eslint/type-utils@npm:6.10.0" dependencies: - "@typescript-eslint/typescript-estree": 6.10.0 - "@typescript-eslint/utils": 6.10.0 + "@typescript-eslint/typescript-estree": 6.10.0 + "@typescript-eslint/utils": 6.10.0 + debug: ^4.3.4 + ts-api-utils: ^1.0.1 + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: cfe9520cf0c0f50b115d2591acb2abf99ffe5789b3536268ca65b624c8498812d91f187e80c41bea7cf2cebad9c38f69ef27440f872a20fb53c59856d8f5df38 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/type-utils@npm:7.18.0" + dependencies: + "@typescript-eslint/typescript-estree": 7.18.0 + "@typescript-eslint/utils": 7.18.0 debug: ^4.3.4 - ts-api-utils: ^1.0.1 + ts-api-utils: ^1.3.0 peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: cfe9520cf0c0f50b115d2591acb2abf99ffe5789b3536268ca65b624c8498812d91f187e80c41bea7cf2cebad9c38f69ef27440f872a20fb53c59856d8f5df38 + checksum: 68fd5df5146c1a08cde20d59b4b919acab06a1b06194fe4f7ba1b928674880249890785fbbc97394142f2ef5cff5a7fba9b8a940449e7d5605306505348e38bc languageName: node linkType: hard @@ -3430,6 +4014,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/types@npm:7.18.0" + checksum: 7df2750cd146a0acd2d843208d69f153b458e024bbe12aab9e441ad2c56f47de3ddfeb329c4d1ea0079e2577fea4b8c1c1ce15315a8d49044586b04fedfe7a4d + languageName: node + linkType: hard + "@typescript-eslint/types@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/types@npm:8.4.0" @@ -3473,6 +4064,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" + dependencies: + "@typescript-eslint/types": 7.18.0 + "@typescript-eslint/visitor-keys": 7.18.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + minimatch: ^9.0.4 + semver: ^7.6.0 + ts-api-utils: ^1.3.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: c82d22ec9654973944f779eb4eb94c52f4a6eafaccce2f0231ff7757313f3a0d0256c3252f6dfe6d43f57171d09656478acb49a629a9d0c193fb959bc3f36116 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/typescript-estree@npm:8.4.0" @@ -3527,6 +4137,20 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/utils@npm:7.18.0" + dependencies: + "@eslint-community/eslint-utils": ^4.4.0 + "@typescript-eslint/scope-manager": 7.18.0 + "@typescript-eslint/types": 7.18.0 + "@typescript-eslint/typescript-estree": 7.18.0 + peerDependencies: + eslint: ^8.56.0 + checksum: 751dbc816dab8454b7dc6b26a56671dbec08e3f4ef94c2661ce1c0fc48fa2d05a64e03efe24cba2c22d03ba943cd3c5c7a5e1b7b03bbb446728aec1c640bd767 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:8.4.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": version: 8.4.0 resolution: "@typescript-eslint/utils@npm:8.4.0" @@ -3561,6 +4185,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" + dependencies: + "@typescript-eslint/types": 7.18.0 + eslint-visitor-keys: ^3.4.3 + checksum: 6e806a7cdb424c5498ea187a5a11d0fef7e4602a631be413e7d521e5aec1ab46ba00c76cfb18020adaa0a8c9802354a163bfa0deb74baa7d555526c7517bb158 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:8.4.0": version: 8.4.0 resolution: "@typescript-eslint/visitor-keys@npm:8.4.0" @@ -3592,6 +4226,51 @@ __metadata: languageName: node linkType: hard +"Example@workspace:apps/example": + version: 0.0.0-use.local + resolution: "Example@workspace:apps/example" + dependencies: + "@babel/core": ^7.20.0 + "@babel/preset-env": ^7.20.0 + "@babel/runtime": ^7.20.0 + "@callstack/react-native-visionos": ^0.74.0 + "@react-native/babel-preset": 0.74.84 + "@react-native/eslint-config": 0.74.84 + "@react-native/metro-config": 0.74.84 + "@react-native/typescript-config": 0.74.84 + "@react-navigation/native": ^6.1.17 + "@react-navigation/native-stack": ^6.10.0 + "@react-three/fiber": ^8.17.6 + "@rnx-kit/metro-config": ^1.3.17 + "@types/node": ^20.14.7 + "@types/react": ^18.2.6 + "@types/react-test-renderer": ^18.0.0 + "@types/three": 0.168.0 + "@webgpu/types": ^0.1.44 + babel-jest: ^29.6.3 + eslint: ^8.19.0 + eslint-config-react-native-wcandillon: ^3.10.2 + fast-text-encoding: ^1.0.6 + jest: ^29.6.3 + prettier: 2.8.8 + react: 18.2.0 + react-native: 0.74.2 + react-native-gesture-handler: ^2.17.1 + react-native-macos: ^0.74.0 + react-native-reanimated: ^3.12.1 + react-native-safe-area-context: ^4.10.7 + react-native-screens: ^3.32.0 + react-native-test-app: ^3.10.8 + react-native-wgpu: "*" + react-test-renderer: 18.2.0 + teapot: ^1.0.0 + three: 0.168.0 + typegpu: ^0.1.2 + typescript: 5.0.4 + wgpu-matrix: ^3.0.2 + languageName: unknown + linkType: soft + "abbrev@npm:^2.0.0": version: 2.0.0 resolution: "abbrev@npm:2.0.0" @@ -3686,6 +4365,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^8.0.0": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: ^3.1.3 + fast-uri: ^3.0.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + checksum: 1797bf242cfffbaf3b870d13565bd1716b73f214bb7ada9a497063aada210200da36e3ed40237285f3255acc4feeae91b1fb183625331bad27da95973f7253d9 + languageName: node + linkType: hard + "anser@npm:^1.4.9": version: 1.4.10 resolution: "anser@npm:1.4.10" @@ -3989,7 +4680,7 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.7.0": +"babel-jest@npm:^29.6.3, babel-jest@npm:^29.7.0": version: 29.7.0 resolution: "babel-jest@npm:29.7.0" dependencies: @@ -4031,19 +4722,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-module-resolver@npm:^5.0.0": - version: 5.0.2 - resolution: "babel-plugin-module-resolver@npm:5.0.2" - dependencies: - find-babel-config: ^2.1.1 - glob: ^9.3.3 - pkg-up: ^3.1.0 - reselect: ^4.1.7 - resolve: ^1.22.8 - checksum: f1d198acbbbd0b76c9c0c4aacbf9f1ef90f8d36b3d5209d9e7a75cadee2113a73711550ebddeb9464d143b71df19adc75e165dff99ada2614d7ea333affe3b5a - languageName: node - linkType: hard - "babel-plugin-polyfill-corejs2@npm:^0.4.10": version: 0.4.11 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11" @@ -4532,7 +5210,7 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^8.0.1": +"cliui@npm:^8.0.0, cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" dependencies: @@ -5535,6 +6213,24 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-jest@npm:^27.9.0": + version: 27.9.0 + resolution: "eslint-plugin-jest@npm:27.9.0" + dependencies: + "@typescript-eslint/utils": ^5.10.0 + peerDependencies: + "@typescript-eslint/eslint-plugin": ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: "*" + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + jest: + optional: true + checksum: e2a4b415105408de28ad146818fcc6f4e122f6a39c6b2216ec5c24a80393f1390298b20231b0467bc5fd730f6e24b05b89e1a6a3ce651fc159aa4174ecc233d0 + languageName: node + linkType: hard + "eslint-plugin-jest@npm:^28.8.2": version: 28.8.2 resolution: "eslint-plugin-jest@npm:28.8.2" @@ -5677,7 +6373,7 @@ __metadata: languageName: node linkType: hard -"eslint@npm:8": +"eslint@npm:8, eslint@npm:^8.19.0": version: 8.57.0 resolution: "eslint@npm:8.57.0" dependencies: @@ -5898,7 +6594,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -5932,6 +6628,24 @@ __metadata: languageName: node linkType: hard +"fast-uri@npm:^3.0.1": + version: 3.0.1 + resolution: "fast-uri@npm:3.0.1" + checksum: 106143ff83705995225dcc559411288f3337e732bb2e264e79788f1914b6bd8f8bc3683102de60b15ba00e6ebb443633cabac77d4ebc5cb228c47cf955e199ff + languageName: node + linkType: hard + +"fast-xml-parser@npm:^4.0.0": + version: 4.5.0 + resolution: "fast-xml-parser@npm:4.5.0" + dependencies: + strnum: ^1.0.5 + bin: + fxparser: src/cli/cli.js + checksum: 696dc98da46f0f48eb26dfe1640a53043ea64f2420056374e62abbb5e620f092f8df3c3ff3195505a2eefab2057db3bf0ebaac63557f277934f6cce4e7da027c + languageName: node + linkType: hard + "fast-xml-parser@npm:^4.0.12, fast-xml-parser@npm:^4.2.4": version: 4.4.1 resolution: "fast-xml-parser@npm:4.4.1" @@ -6017,16 +6731,6 @@ __metadata: languageName: node linkType: hard -"find-babel-config@npm:^2.1.1": - version: 2.1.1 - resolution: "find-babel-config@npm:2.1.1" - dependencies: - json5: ^2.2.3 - path-exists: ^4.0.0 - checksum: 4be54397339520e0cd49870acb10366684ffc001fd0b7bffedd0fe9d3e1d82234692d3cb4e5ba95280a35887238ba6f82dc79569a13a3749ae3931c23e0b3a99 - languageName: node - linkType: hard - "find-cache-dir@npm:^2.0.0": version: 2.1.0 resolution: "find-cache-dir@npm:2.1.0" @@ -6383,18 +7087,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^9.3.3": - version: 9.3.5 - resolution: "glob@npm:9.3.5" - dependencies: - fs.realpath: ^1.0.0 - minimatch: ^8.0.2 - minipass: ^4.2.4 - path-scurry: ^1.6.1 - checksum: 94b093adbc591bc36b582f77927d1fb0dbf3ccc231828512b017601408be98d1fe798fc8c0b19c6f2d1a7660339c3502ce698de475e9d938ccbb69b47b647c84 - languageName: node - linkType: hard - "globals@npm:^11.1.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -7760,7 +8452,7 @@ __metadata: languageName: node linkType: hard -"jest@npm:^29.7.0": +"jest@npm:^29.6.3, jest@npm:^29.7.0": version: 29.7.0 resolution: "jest@npm:29.7.0" dependencies: @@ -7811,7 +8503,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0": +"js-yaml@npm:^4.0.0, js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" dependencies: @@ -7920,6 +8612,13 @@ __metadata: languageName: node linkType: hard +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad + languageName: node + linkType: hard + "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -8638,15 +9337,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^8.0.2": - version: 8.0.4 - resolution: "minimatch@npm:8.0.4" - dependencies: - brace-expansion: ^2.0.1 - checksum: 2e46cffb86bacbc524ad45a6426f338920c529dd13f3a732cc2cf7618988ee1aae88df4ca28983285aca9e0f45222019ac2d14ebd17c1edadd2ee12221ab801a - languageName: node - linkType: hard - "minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" @@ -8734,13 +9424,6 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^4.2.4": - version: 4.2.8 - resolution: "minipass@npm:4.2.8" - checksum: 7f4914d5295a9a30807cae5227a37a926e6d910c03f315930fde52332cf0575dfbc20295318f91f0baf0e6bb11a6f668e30cde8027dea7a11b9d159867a3c830 - languageName: node - linkType: hard - "minipass@npm:^5.0.0": version: 5.0.0 resolution: "minipass@npm:5.0.0" @@ -9381,7 +10064,7 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.11.1, path-scurry@npm:^1.6.1": +"path-scurry@npm:^1.11.1": version: 1.11.1 resolution: "path-scurry@npm:1.11.1" dependencies: @@ -9462,15 +10145,6 @@ __metadata: languageName: node linkType: hard -"pkg-up@npm:^3.1.0": - version: 3.1.0 - resolution: "pkg-up@npm:3.1.0" - dependencies: - find-up: ^3.0.0 - checksum: 5bac346b7c7c903613c057ae3ab722f320716199d753f4a7d053d38f2b5955460f3e6ab73b4762c62fd3e947f58e04f1343e92089e7bb6091c90877406fcd8c8 - languageName: node - linkType: hard - "pngjs@npm:^6.0.0": version: 6.0.0 resolution: "pngjs@npm:6.0.0" @@ -9517,6 +10191,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:2.8.8": + version: 2.8.8 + resolution: "prettier@npm:2.8.8" + bin: + prettier: bin-prettier.js + checksum: b49e409431bf129dd89238d64299ba80717b57ff5a6d1c1a8b1a28b590d998a34e083fa13573bc732bb8d2305becb4c9a4407f8486c81fa7d55100eb08263cf8 + languageName: node + linkType: hard + "prettier@npm:^3.0.3": version: 3.3.3 resolution: "prettier@npm:3.3.3" @@ -9589,7 +10272,7 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1, prompts@npm:^2.4.2": +"prompts@npm:^2.0.1, prompts@npm:^2.4.0, prompts@npm:^2.4.2": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -9759,7 +10442,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.0.0": +"react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.0.0, react-is@npm:^18.2.0": version: 18.3.1 resolution: "react-is@npm:18.3.1" checksum: e20fe84c86ff172fc8d898251b7cc2c43645d108bf96d0b8edf39b98f9a2cae97b40520ee7ed8ee0085ccc94736c4886294456033304151c3f94978cec03df21 @@ -9810,8 +10493,8 @@ __metadata: linkType: hard "react-native-gesture-handler@npm:^2.17.1": - version: 2.18.1 - resolution: "react-native-gesture-handler@npm:2.18.1" + version: 2.19.0 + resolution: "react-native-gesture-handler@npm:2.19.0" dependencies: "@egjs/hammerjs": ^2.0.17 hoist-non-react-statics: ^3.3.0 @@ -9820,13 +10503,66 @@ __metadata: peerDependencies: react: "*" react-native: "*" - checksum: 49b5b9a232fc60ddc38124a804410150070af5b20efbba1550831221560d71df704b7a7edfa2fb70d84fde32faf8675ad6118aea8b40f50c2a9d80eb7a08eb1c + checksum: ce9b9fc6537debf962e6b8d84f1c4cf18fe00f39bd86498e84a203ebb26bf3543c2642ed247d974537840407b7ddb602939fd8c817c00a3416e87bddc8f2088f + languageName: node + linkType: hard + +"react-native-macos@npm:^0.74.0": + version: 0.74.5 + resolution: "react-native-macos@npm:0.74.5" + dependencies: + "@jest/create-cache-key-function": ^29.6.3 + "@react-native-community/cli": 13.6.9 + "@react-native-community/cli-platform-android": 13.6.9 + "@react-native-community/cli-platform-ios": 13.6.9 + "@react-native-mac/virtualized-lists": 0.74.87 + "@react-native/assets-registry": 0.74.87 + "@react-native/codegen": 0.74.87 + "@react-native/community-cli-plugin": 0.74.87 + "@react-native/gradle-plugin": 0.74.87 + "@react-native/js-polyfills": 0.74.87 + "@react-native/normalize-colors": 0.74.87 + abort-controller: ^3.0.0 + anser: ^1.4.9 + ansi-regex: ^5.0.0 + base64-js: ^1.5.1 + chalk: ^4.0.0 + event-target-shim: ^5.0.1 + flow-enums-runtime: ^0.0.6 + invariant: ^2.2.4 + jest-environment-node: ^29.6.3 + jsc-android: ^250231.0.0 + memoize-one: ^5.0.0 + metro-runtime: ^0.80.3 + metro-source-map: ^0.80.3 + mkdirp: ^0.5.1 + nullthrows: ^1.1.1 + pretty-format: ^26.5.2 + promise: ^8.3.0 + react-devtools-core: ^5.0.0 + react-refresh: ^0.14.0 + react-shallow-renderer: ^16.15.0 + regenerator-runtime: ^0.13.2 + scheduler: 0.24.0-canary-efb381bbf-20230505 + stacktrace-parser: ^0.1.10 + whatwg-fetch: ^3.0.0 + ws: ^6.2.2 + yargs: ^17.6.2 + peerDependencies: + "@types/react": ^18.2.6 + react: 18.2.0 + peerDependenciesMeta: + "@types/react": + optional: true + bin: + react-native-macos: cli.js + checksum: 732f09c21be670188ef7b7d658bd849fe4c0ef78157cb31edf88a46912eb83dbbce93decde809a6bfffdfda42caf04faa62638475279c16390a4fdb8315d7794 languageName: node linkType: hard "react-native-reanimated@npm:^3.12.1": - version: 3.15.1 - resolution: "react-native-reanimated@npm:3.15.1" + version: 3.15.2 + resolution: "react-native-reanimated@npm:3.15.2" dependencies: "@babel/plugin-transform-arrow-functions": ^7.0.0-0 "@babel/plugin-transform-class-properties": ^7.0.0-0 @@ -9843,17 +10579,17 @@ __metadata: "@babel/core": ^7.0.0-0 react: "*" react-native: "*" - checksum: e520ba51a56075a3a0358f966ea6a44b41fa59ed1d0470b9c537dfeb224032066cd197955e18e96af5da22a51ad31c4d8b2422f511d96b8d1dd2ef5fc11a7d1a + checksum: 3bba2d27f67760796dd6093e227ba095010e3cdb3b8be54a2f78fd2842bab33e0fce9c8778ebc811935a949b9cf2a764e80eee6a50f5ecb895e199378bdd4c68 languageName: node linkType: hard "react-native-safe-area-context@npm:^4.10.7": - version: 4.10.9 - resolution: "react-native-safe-area-context@npm:4.10.9" + version: 4.11.0 + resolution: "react-native-safe-area-context@npm:4.11.0" peerDependencies: react: "*" react-native: "*" - checksum: 150bf4fa7607e8de565cce0c45d321048a3c982f4c82cc2a49eb342def968559f538d4554c30c20fa8b2e6dc716c24846745b129dc25396e083d98c2a29962a2 + checksum: 6d6af265ecf1b9cb45e042a335f2c5da472ad41eb5d4fda8e31a1607b344726f0f4f9501ef3a3a731cec3784ba93485b44cbdafbf5f13055caa130c703bbd307 languageName: node linkType: hard @@ -9870,40 +10606,41 @@ __metadata: languageName: node linkType: hard -"react-native-webgpu-example@workspace:apps/paper": - version: 0.0.0-use.local - resolution: "react-native-webgpu-example@workspace:apps/paper" +"react-native-test-app@npm:^3.10.8": + version: 3.10.8 + resolution: "react-native-test-app@npm:3.10.8" dependencies: - "@babel/core": ^7.20.0 - "@babel/preset-env": ^7.20.0 - "@babel/runtime": ^7.20.0 - "@react-native/babel-preset": 0.74.84 - "@react-native/metro-config": 0.74.84 - "@react-native/typescript-config": 0.74.84 - "@react-navigation/native": ^6.1.17 - "@react-navigation/native-stack": ^6.10.0 - "@react-three/fiber": ^8.17.6 - "@types/three": 0.168.0 - "@webgpu/types": ^0.1.44 - babel-plugin-module-resolver: ^5.0.0 - eslint: 8 - eslint-config-react-native-wcandillon: ^3.10.2 - eslint-plugin-import: 2.27.5 - fast-text-encoding: ^1.0.6 - react: 18.2.0 - react-native: 0.74.2 - react-native-gesture-handler: ^2.17.1 - react-native-reanimated: ^3.12.1 - react-native-safe-area-context: ^4.10.7 - react-native-screens: ^3.32.0 - react-native-wgpu: "*" - teapot: ^1.0.0 - three: 0.168.0 - typegpu: ^0.1.2 - typescript: ^5.2.2 - wgpu-matrix: ^3.0.2 - languageName: unknown - linkType: soft + "@rnx-kit/react-native-host": ^0.5.0 + ajv: ^8.0.0 + cliui: ^8.0.0 + fast-xml-parser: ^4.0.0 + prompts: ^2.4.0 + semver: ^7.3.5 + uuid: ^10.0.0 + peerDependencies: + "@callstack/react-native-visionos": 0.73 - 0.75 + "@expo/config-plugins": ">=5.0" + react: 17.0.1 - 19.0 + react-native: 0.66 - 0.75 || >=0.76.0-0 <0.76.0 + react-native-macos: ^0.0.0-0 || 0.66 || 0.68 || 0.71 - 0.75 + react-native-windows: ^0.0.0-0 || 0.66 - 0.75 + peerDependenciesMeta: + "@callstack/react-native-visionos": + optional: true + "@expo/config-plugins": + optional: true + react-native-macos: + optional: true + react-native-windows: + optional: true + bin: + configure-test-app: scripts/configure.mjs + init: scripts/init.mjs + init-test-app: scripts/init.mjs + install-windows-test-app: windows/test-app.mjs + checksum: 152454865ff99204f3dc4bf71b76ba07780222d44593e1a8457e887ff2c5affa3b7eb948d7039714d270931c7f1aa50ba282058a0605f646148c2cee758ede96 + languageName: node + linkType: hard "react-native-webgpu@workspace:.": version: 0.0.0-use.local @@ -10044,6 +10781,19 @@ __metadata: languageName: node linkType: hard +"react-test-renderer@npm:18.2.0": + version: 18.2.0 + resolution: "react-test-renderer@npm:18.2.0" + dependencies: + react-is: ^18.2.0 + react-shallow-renderer: ^16.15.0 + scheduler: ^0.23.0 + peerDependencies: + react: ^18.2.0 + checksum: 6b6980ced93fa2b72662d5e4ab3b4896833586940047ce52ca9aca801e5432adf05fcbe28289b0af3ce6a2a7c590974e25dcc8aa43d0de658bfe8bbcd686f958 + languageName: node + linkType: hard + "react@npm:18.2.0": version: 18.2.0 resolution: "react@npm:18.2.0" @@ -10076,6 +10826,16 @@ __metadata: languageName: node linkType: hard +"read-yaml-file@npm:^2.1.0": + version: 2.1.0 + resolution: "read-yaml-file@npm:2.1.0" + dependencies: + js-yaml: ^4.0.0 + strip-bom: ^4.0.0 + checksum: 52765eb183e79466f51eebeb19b933cc0f0e907052d062d67300b97e79910064a24b370cdb0b5dd8b05afff3d0ec57282670fd9070dc608e13b11820ac79183d + languageName: node + linkType: hard + "readable-stream@npm:^3.4.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" @@ -10229,6 +10989,13 @@ __metadata: languageName: node linkType: hard +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b + languageName: node + linkType: hard + "require-main-filename@npm:^2.0.0": version: 2.0.0 resolution: "require-main-filename@npm:2.0.0" @@ -10236,13 +11003,6 @@ __metadata: languageName: node linkType: hard -"reselect@npm:^4.1.7": - version: 4.1.8 - resolution: "reselect@npm:4.1.8" - checksum: a4ac87cedab198769a29be92bc221c32da76cfdad6911eda67b4d3e7136dca86208c3b210e31632eae31ebd2cded18596f0dd230d3ccc9e978df22f233b5583e - languageName: node - linkType: hard - "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -10280,7 +11040,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4, resolve@npm:^1.22.8": +"resolve@npm:^1.1.6, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -10306,7 +11066,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.22.4#~builtin, resolve@patch:resolve@^1.22.8#~builtin": +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.22.4#~builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -10471,6 +11231,15 @@ __metadata: languageName: node linkType: hard +"scheduler@npm:^0.23.0": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" + dependencies: + loose-envify: ^1.1.0 + checksum: 3e82d1f419e240ef6219d794ff29c7ee415fbdc19e038f680a10c067108e06284f1847450a210b29bbaf97b9d8a97ced5f624c31c681248ac84c80d56ad5a2c4 + languageName: node + linkType: hard + "seedrandom@npm:^3.0.5": version: 3.0.5 resolution: "seedrandom@npm:3.0.5" @@ -11615,6 +12384,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:5.0.4": + version: 5.0.4 + resolution: "typescript@npm:5.0.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 82b94da3f4604a8946da585f7d6c3025fff8410779e5bde2855ab130d05e4fd08938b9e593b6ebed165bda6ad9292b230984f10952cf82f0a0ca07bbeaa08172 + languageName: node + linkType: hard + "typescript@npm:^5.2.2": version: 5.5.4 resolution: "typescript@npm:5.5.4" @@ -11635,6 +12414,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@5.0.4#~builtin": + version: 5.0.4 + resolution: "typescript@patch:typescript@npm%3A5.0.4#~builtin::version=5.0.4&hash=b5f058" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: d26b6ba97b6d163c55dbdffd9bbb4c211667ebebc743accfeb2c8c0154aace7afd097b51165a72a5bad2cf65a4612259344ff60f8e642362aa1695c760d303ac + languageName: node + linkType: hard + "typescript@patch:typescript@^5.2.2#~builtin": version: 5.5.4 resolution: "typescript@patch:typescript@npm%3A5.5.4#~builtin::version=5.5.4&hash=29ae49" @@ -11811,6 +12600,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^10.0.0": + version: 10.0.0 + resolution: "uuid@npm:10.0.0" + bin: + uuid: dist/bin/uuid + checksum: 4b81611ade2885d2313ddd8dc865d93d8dccc13ddf901745edca8f86d99bc46d7a330d678e7532e7ebf93ce616679fb19b2e3568873ac0c14c999032acb25869 + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1"