rn-gamekit 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +75 -0
- package/README.md +97 -16
- package/lib/module/assets/defineAssets.js +28 -3
- package/lib/module/assets/defineAssets.js.map +1 -1
- package/lib/module/assets.js +11 -0
- package/lib/module/assets.js.map +1 -0
- package/lib/module/audio/createGameAudio.js +784 -0
- package/lib/module/audio/createGameAudio.js.map +1 -0
- package/lib/module/audio/errors.js +12 -0
- package/lib/module/audio/errors.js.map +1 -0
- package/lib/module/audio/index.js +5 -0
- package/lib/module/audio/index.js.map +1 -0
- package/lib/module/audio/resolver.js +37 -0
- package/lib/module/audio/resolver.js.map +1 -0
- package/lib/module/audio/types.js +4 -0
- package/lib/module/audio/types.js.map +1 -0
- package/lib/module/audio.js +9 -0
- package/lib/module/audio.js.map +1 -0
- package/lib/module/camera2d/bounds.js +59 -0
- package/lib/module/camera2d/bounds.js.map +1 -0
- package/lib/module/camera2d/extents.js +25 -0
- package/lib/module/camera2d/extents.js.map +1 -0
- package/lib/module/camera2d/follow.js +138 -0
- package/lib/module/camera2d/follow.js.map +1 -0
- package/lib/module/camera2d/index.js +20 -0
- package/lib/module/camera2d/index.js.map +1 -0
- package/lib/module/camera2d/interpolation.js +98 -0
- package/lib/module/camera2d/interpolation.js.map +1 -0
- package/lib/module/camera2d/shake.js +85 -0
- package/lib/module/camera2d/shake.js.map +1 -0
- package/lib/module/camera2d/transform.js +151 -0
- package/lib/module/camera2d/transform.js.map +1 -0
- package/lib/module/camera2d/types.js +4 -0
- package/lib/module/camera2d/types.js.map +1 -0
- package/lib/module/camera2d/validation.js +98 -0
- package/lib/module/camera2d/validation.js.map +1 -0
- package/lib/module/camera2d/visibility.js +138 -0
- package/lib/module/camera2d/visibility.js.map +1 -0
- package/lib/module/camera2d.js +9 -0
- package/lib/module/camera2d.js.map +1 -0
- package/lib/module/collision2d/colliders.js +266 -0
- package/lib/module/collision2d/colliders.js.map +1 -0
- package/lib/module/collision2d/debug.js +105 -0
- package/lib/module/collision2d/debug.js.map +1 -0
- package/lib/module/collision2d/filters.js +40 -0
- package/lib/module/collision2d/filters.js.map +1 -0
- package/lib/module/collision2d/index.js +12 -0
- package/lib/module/collision2d/index.js.map +1 -0
- package/lib/module/collision2d/intersections.js +67 -0
- package/lib/module/collision2d/intersections.js.map +1 -0
- package/lib/module/collision2d/manifolds.js +218 -0
- package/lib/module/collision2d/manifolds.js.map +1 -0
- package/lib/module/collision2d/segments.js +187 -0
- package/lib/module/collision2d/segments.js.map +1 -0
- package/lib/module/collision2d/spatialHash.js +167 -0
- package/lib/module/collision2d/spatialHash.js.map +1 -0
- package/lib/module/collision2d/sweeps.js +255 -0
- package/lib/module/collision2d/sweeps.js.map +1 -0
- package/lib/module/collision2d.js +9 -0
- package/lib/module/collision2d.js.map +1 -0
- package/lib/module/core/input/buttonPad.js +214 -0
- package/lib/module/core/input/buttonPad.js.map +1 -0
- package/lib/module/core/input/createInputBuffer.js +66 -14
- package/lib/module/core/input/createInputBuffer.js.map +1 -1
- package/lib/module/core/session/createGameSession.js +454 -50
- package/lib/module/core/session/createGameSession.js.map +1 -1
- package/lib/module/core/session/deepFreeze.js +92 -2
- package/lib/module/core/session/deepFreeze.js.map +1 -1
- package/lib/module/core/session/types.js +12 -0
- package/lib/module/core/session/types.js.map +1 -1
- package/lib/module/definition/defineGame.js +23 -0
- package/lib/module/definition/defineGame.js.map +1 -1
- package/lib/module/events/defineGameEvents.js +46 -0
- package/lib/module/events/defineGameEvents.js.map +1 -0
- package/lib/module/events/errors.js +16 -0
- package/lib/module/events/errors.js.map +1 -0
- package/lib/module/events/index.js +7 -0
- package/lib/module/events/index.js.map +1 -0
- package/lib/module/events/payload.js +219 -0
- package/lib/module/events/payload.js.map +1 -0
- package/lib/module/events/seed.js +33 -0
- package/lib/module/events/seed.js.map +1 -0
- package/lib/module/events/types.js +4 -0
- package/lib/module/events/types.js.map +1 -0
- package/lib/module/events.js +13 -0
- package/lib/module/events.js.map +1 -0
- package/lib/module/geometry/helpers.js +140 -0
- package/lib/module/geometry/helpers.js.map +1 -0
- package/lib/module/geometry/index.js +5 -0
- package/lib/module/geometry/index.js.map +1 -0
- package/lib/module/geometry/validation.js +104 -0
- package/lib/module/geometry/validation.js.map +1 -0
- package/lib/module/geometry.js +9 -0
- package/lib/module/geometry.js.map +1 -0
- package/lib/module/haptics/createGameHaptics.js +214 -0
- package/lib/module/haptics/createGameHaptics.js.map +1 -0
- package/lib/module/haptics/errors.js +12 -0
- package/lib/module/haptics/errors.js.map +1 -0
- package/lib/module/haptics/index.js +5 -0
- package/lib/module/haptics/index.js.map +1 -0
- package/lib/module/haptics/resolver.js +37 -0
- package/lib/module/haptics/resolver.js.map +1 -0
- package/lib/module/haptics/types.js +4 -0
- package/lib/module/haptics/types.js.map +1 -0
- package/lib/module/haptics.js +9 -0
- package/lib/module/haptics.js.map +1 -0
- package/lib/module/index.js +8 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/particles/createParticleSystem.js +481 -0
- package/lib/module/particles/createParticleSystem.js.map +1 -0
- package/lib/module/particles/defineParticleEffect.js +178 -0
- package/lib/module/particles/defineParticleEffect.js.map +1 -0
- package/lib/module/particles/errors.js +9 -0
- package/lib/module/particles/errors.js.map +1 -0
- package/lib/module/particles/index.js +8 -0
- package/lib/module/particles/index.js.map +1 -0
- package/lib/module/particles/sampling.js +121 -0
- package/lib/module/particles/sampling.js.map +1 -0
- package/lib/module/particles/types.js +4 -0
- package/lib/module/particles/types.js.map +1 -0
- package/lib/module/particles.js +4 -0
- package/lib/module/particles.js.map +1 -0
- package/lib/module/react/GameButtonPad.js +344 -0
- package/lib/module/react/GameButtonPad.js.map +1 -0
- package/lib/module/react/GamePointerInput.js +74 -16
- package/lib/module/react/GamePointerInput.js.map +1 -1
- package/lib/module/react/GameView.js +139 -60
- package/lib/module/react/GameView.js.map +1 -1
- package/lib/module/react/assets/createGameAssetStore.js +145 -95
- package/lib/module/react/assets/createGameAssetStore.js.map +1 -1
- package/lib/module/react/assets/useGameAssets.js +60 -35
- package/lib/module/react/assets/useGameAssets.js.map +1 -1
- package/lib/module/react/bindAppLifecycle.js +46 -17
- package/lib/module/react/bindAppLifecycle.js.map +1 -1
- package/lib/module/react/bindGameSession.js +13 -2
- package/lib/module/react/bindGameSession.js.map +1 -1
- package/lib/module/react/camera2d/GameLayer2D.js +50 -0
- package/lib/module/react/camera2d/GameLayer2D.js.map +1 -0
- package/lib/module/react/camera2d/defineGameCamera2D.js +30 -0
- package/lib/module/react/camera2d/defineGameCamera2D.js.map +1 -0
- package/lib/module/react/camera2d/usePresentedCameraBinding.js +177 -0
- package/lib/module/react/camera2d/usePresentedCameraBinding.js.map +1 -0
- package/lib/module/react/cleanupList.js +38 -0
- package/lib/module/react/cleanupList.js.map +1 -0
- package/lib/module/react/lifecycleSource.js +49 -0
- package/lib/module/react/lifecycleSource.js.map +1 -0
- package/lib/module/react/particles/ParticleView.js +308 -0
- package/lib/module/react/particles/ParticleView.js.map +1 -0
- package/lib/module/react/particles/culling.js +115 -0
- package/lib/module/react/particles/culling.js.map +1 -0
- package/lib/module/react/particles/index.js +7 -0
- package/lib/module/react/particles/index.js.map +1 -0
- package/lib/module/react/particles/spriteXForm.js +45 -0
- package/lib/module/react/particles/spriteXForm.js.map +1 -0
- package/lib/module/react/particles/useParticlePresentation.js +204 -0
- package/lib/module/react/particles/useParticlePresentation.js.map +1 -0
- package/lib/module/react/pointerBinding.js +55 -17
- package/lib/module/react/pointerBinding.js.map +1 -1
- package/lib/module/react/pointerCamera.js +28 -0
- package/lib/module/react/pointerCamera.js.map +1 -0
- package/lib/module/react/pointerCoalescer.js +16 -9
- package/lib/module/react/pointerCoalescer.js.map +1 -1
- package/lib/module/react/sprites/GameSprite.js +5 -17
- package/lib/module/react/sprites/GameSprite.js.map +1 -1
- package/lib/module/react/sprites/GameWorld2D.js +112 -9
- package/lib/module/react/sprites/GameWorld2D.js.map +1 -1
- package/lib/module/react/sprites/Sprite.js +48 -63
- package/lib/module/react/sprites/Sprite.js.map +1 -1
- package/lib/module/react/sprites/SpriteBatch.js +53 -28
- package/lib/module/react/sprites/SpriteBatch.js.map +1 -1
- package/lib/module/react/sprites/batchVisibility.js +58 -0
- package/lib/module/react/sprites/batchVisibility.js.map +1 -0
- package/lib/module/react/sprites/spriteSelection.js +103 -0
- package/lib/module/react/sprites/spriteSelection.js.map +1 -0
- package/lib/module/react/sprites/spriteTransform.js +46 -25
- package/lib/module/react/sprites/spriteTransform.js.map +1 -1
- package/lib/module/react/tilemap/TileMapLayer2D.js +217 -0
- package/lib/module/react/tilemap/TileMapLayer2D.js.map +1 -0
- package/lib/module/react/tilemap/tilePresentation.js +374 -0
- package/lib/module/react/tilemap/tilePresentation.js.map +1 -0
- package/lib/module/react/useGameSession.js +70 -0
- package/lib/module/react/useGameSession.js.map +1 -0
- package/lib/module/react/useGameSessionStatus.js +46 -0
- package/lib/module/react/useGameSessionStatus.js.map +1 -0
- package/lib/module/react/viewportBinding.js +5 -1
- package/lib/module/react/viewportBinding.js.map +1 -1
- package/lib/module/react.js +12 -1
- package/lib/module/react.js.map +1 -1
- package/lib/module/scene/defineScene.js +17 -0
- package/lib/module/scene/defineScene.js.map +1 -1
- package/lib/module/sprites/sampleSpriteClip.js +66 -6
- package/lib/module/sprites/sampleSpriteClip.js.map +1 -1
- package/lib/module/sprites/spriteAnimationState.js +10 -20
- package/lib/module/sprites/spriteAnimationState.js.map +1 -1
- package/lib/module/sprites.js +11 -0
- package/lib/module/sprites.js.map +1 -0
- package/lib/module/storage/adapters/asyncStorage.js +57 -0
- package/lib/module/storage/adapters/asyncStorage.js.map +1 -0
- package/lib/module/storage/adapters/memory.js +50 -0
- package/lib/module/storage/adapters/memory.js.map +1 -0
- package/lib/module/storage/errors.js +34 -0
- package/lib/module/storage/errors.js.map +1 -0
- package/lib/module/storage/index.js +11 -0
- package/lib/module/storage/index.js.map +1 -0
- package/lib/module/storage/schema.js +151 -0
- package/lib/module/storage/schema.js.map +1 -0
- package/lib/module/storage/serialization.js +249 -0
- package/lib/module/storage/serialization.js.map +1 -0
- package/lib/module/storage/store.js +387 -0
- package/lib/module/storage/store.js.map +1 -0
- package/lib/module/storage/types.js +16 -0
- package/lib/module/storage/types.js.map +1 -0
- package/lib/module/storage/validation.js +111 -0
- package/lib/module/storage/validation.js.map +1 -0
- package/lib/module/storage.js +4 -0
- package/lib/module/storage.js.map +1 -0
- package/lib/module/testing.js +4 -0
- package/lib/module/testing.js.map +1 -1
- package/lib/module/tilemap/chunkStats.js +27 -0
- package/lib/module/tilemap/chunkStats.js.map +1 -0
- package/lib/module/tilemap/definitions.js +308 -0
- package/lib/module/tilemap/definitions.js.map +1 -0
- package/lib/module/tilemap/errors.js +13 -0
- package/lib/module/tilemap/errors.js.map +1 -0
- package/lib/module/tilemap/index.js +10 -0
- package/lib/module/tilemap/index.js.map +1 -0
- package/lib/module/tilemap/movement.js +379 -0
- package/lib/module/tilemap/movement.js.map +1 -0
- package/lib/module/tilemap/queries.js +114 -0
- package/lib/module/tilemap/queries.js.map +1 -0
- package/lib/module/tilemap/tiledAdapter.js +141 -0
- package/lib/module/tilemap/tiledAdapter.js.map +1 -0
- package/lib/module/tilemap/types.js +4 -0
- package/lib/module/tilemap/types.js.map +1 -0
- package/lib/module/tilemap.js +4 -0
- package/lib/module/tilemap.js.map +1 -0
- package/lib/typescript/src/assets/defineAssets.d.ts +1 -1
- package/lib/typescript/src/assets/defineAssets.d.ts.map +1 -1
- package/lib/typescript/src/assets.d.ts +11 -0
- package/lib/typescript/src/assets.d.ts.map +1 -0
- package/lib/typescript/src/audio/createGameAudio.d.ts +5 -0
- package/lib/typescript/src/audio/createGameAudio.d.ts.map +1 -0
- package/lib/typescript/src/audio/errors.d.ts +6 -0
- package/lib/typescript/src/audio/errors.d.ts.map +1 -0
- package/lib/typescript/src/audio/index.d.ts +4 -0
- package/lib/typescript/src/audio/index.d.ts.map +1 -0
- package/lib/typescript/src/audio/resolver.d.ts +44 -0
- package/lib/typescript/src/audio/resolver.d.ts.map +1 -0
- package/lib/typescript/src/audio/types.d.ts +42 -0
- package/lib/typescript/src/audio/types.d.ts.map +1 -0
- package/lib/typescript/src/audio.d.ts +8 -0
- package/lib/typescript/src/audio.d.ts.map +1 -0
- package/lib/typescript/src/camera2d/bounds.d.ts +25 -0
- package/lib/typescript/src/camera2d/bounds.d.ts.map +1 -0
- package/lib/typescript/src/camera2d/extents.d.ts +17 -0
- package/lib/typescript/src/camera2d/extents.d.ts.map +1 -0
- package/lib/typescript/src/camera2d/follow.d.ts +24 -0
- package/lib/typescript/src/camera2d/follow.d.ts.map +1 -0
- package/lib/typescript/src/camera2d/index.d.ts +19 -0
- package/lib/typescript/src/camera2d/index.d.ts.map +1 -0
- package/lib/typescript/src/camera2d/interpolation.d.ts +17 -0
- package/lib/typescript/src/camera2d/interpolation.d.ts.map +1 -0
- package/lib/typescript/src/camera2d/shake.d.ts +20 -0
- package/lib/typescript/src/camera2d/shake.d.ts.map +1 -0
- package/lib/typescript/src/camera2d/transform.d.ts +44 -0
- package/lib/typescript/src/camera2d/transform.d.ts.map +1 -0
- package/lib/typescript/src/camera2d/types.d.ts +74 -0
- package/lib/typescript/src/camera2d/types.d.ts.map +1 -0
- package/lib/typescript/src/camera2d/validation.d.ts +30 -0
- package/lib/typescript/src/camera2d/validation.d.ts.map +1 -0
- package/lib/typescript/src/camera2d/visibility.d.ts +47 -0
- package/lib/typescript/src/camera2d/visibility.d.ts.map +1 -0
- package/lib/typescript/src/camera2d.d.ts +7 -0
- package/lib/typescript/src/camera2d.d.ts.map +1 -0
- package/lib/typescript/src/collision2d/colliders.d.ts +120 -0
- package/lib/typescript/src/collision2d/colliders.d.ts.map +1 -0
- package/lib/typescript/src/collision2d/debug.d.ts +67 -0
- package/lib/typescript/src/collision2d/debug.d.ts.map +1 -0
- package/lib/typescript/src/collision2d/filters.d.ts +28 -0
- package/lib/typescript/src/collision2d/filters.d.ts.map +1 -0
- package/lib/typescript/src/collision2d/index.d.ts +17 -0
- package/lib/typescript/src/collision2d/index.d.ts.map +1 -0
- package/lib/typescript/src/collision2d/intersections.d.ts +24 -0
- package/lib/typescript/src/collision2d/intersections.d.ts.map +1 -0
- package/lib/typescript/src/collision2d/manifolds.d.ts +39 -0
- package/lib/typescript/src/collision2d/manifolds.d.ts.map +1 -0
- package/lib/typescript/src/collision2d/segments.d.ts +24 -0
- package/lib/typescript/src/collision2d/segments.d.ts.map +1 -0
- package/lib/typescript/src/collision2d/spatialHash.d.ts +50 -0
- package/lib/typescript/src/collision2d/spatialHash.d.ts.map +1 -0
- package/lib/typescript/src/collision2d/sweeps.d.ts +60 -0
- package/lib/typescript/src/collision2d/sweeps.d.ts.map +1 -0
- package/lib/typescript/src/collision2d.d.ts +7 -0
- package/lib/typescript/src/collision2d.d.ts.map +1 -0
- package/lib/typescript/src/core/input/buttonPad.d.ts +59 -0
- package/lib/typescript/src/core/input/buttonPad.d.ts.map +1 -0
- package/lib/typescript/src/core/input/createInputBuffer.d.ts +1 -1
- package/lib/typescript/src/core/input/createInputBuffer.d.ts.map +1 -1
- package/lib/typescript/src/core/input/types.d.ts +7 -0
- package/lib/typescript/src/core/input/types.d.ts.map +1 -1
- package/lib/typescript/src/core/session/createGameSession.d.ts +4 -2
- package/lib/typescript/src/core/session/createGameSession.d.ts.map +1 -1
- package/lib/typescript/src/core/session/deepFreeze.d.ts +21 -1
- package/lib/typescript/src/core/session/deepFreeze.d.ts.map +1 -1
- package/lib/typescript/src/core/session/diagnostics.d.ts +2 -0
- package/lib/typescript/src/core/session/diagnostics.d.ts.map +1 -1
- package/lib/typescript/src/core/session/types.d.ts +69 -4
- package/lib/typescript/src/core/session/types.d.ts.map +1 -1
- package/lib/typescript/src/definition/defineGame.d.ts +12 -1
- package/lib/typescript/src/definition/defineGame.d.ts.map +1 -1
- package/lib/typescript/src/definition/types.d.ts +10 -1
- package/lib/typescript/src/definition/types.d.ts.map +1 -1
- package/lib/typescript/src/events/defineGameEvents.d.ts +26 -0
- package/lib/typescript/src/events/defineGameEvents.d.ts.map +1 -0
- package/lib/typescript/src/events/errors.d.ts +12 -0
- package/lib/typescript/src/events/errors.d.ts.map +1 -0
- package/lib/typescript/src/events/index.d.ts +6 -0
- package/lib/typescript/src/events/index.d.ts.map +1 -0
- package/lib/typescript/src/events/payload.d.ts +21 -0
- package/lib/typescript/src/events/payload.d.ts.map +1 -0
- package/lib/typescript/src/events/seed.d.ts +3 -0
- package/lib/typescript/src/events/seed.d.ts.map +1 -0
- package/lib/typescript/src/events/types.d.ts +42 -0
- package/lib/typescript/src/events/types.d.ts.map +1 -0
- package/lib/typescript/src/events.d.ts +12 -0
- package/lib/typescript/src/events.d.ts.map +1 -0
- package/lib/typescript/src/geometry/helpers.d.ts +35 -0
- package/lib/typescript/src/geometry/helpers.d.ts.map +1 -0
- package/lib/typescript/src/geometry/index.d.ts +4 -0
- package/lib/typescript/src/geometry/index.d.ts.map +1 -0
- package/lib/typescript/src/geometry/types.d.ts +49 -0
- package/lib/typescript/src/geometry/types.d.ts.map +1 -1
- package/lib/typescript/src/geometry/validation.d.ts +44 -0
- package/lib/typescript/src/geometry/validation.d.ts.map +1 -0
- package/lib/typescript/src/geometry.d.ts +7 -0
- package/lib/typescript/src/geometry.d.ts.map +1 -0
- package/lib/typescript/src/haptics/createGameHaptics.d.ts +3 -0
- package/lib/typescript/src/haptics/createGameHaptics.d.ts.map +1 -0
- package/lib/typescript/src/haptics/errors.d.ts +6 -0
- package/lib/typescript/src/haptics/errors.d.ts.map +1 -0
- package/lib/typescript/src/haptics/index.d.ts +4 -0
- package/lib/typescript/src/haptics/index.d.ts.map +1 -0
- package/lib/typescript/src/haptics/resolver.d.ts +22 -0
- package/lib/typescript/src/haptics/resolver.d.ts.map +1 -0
- package/lib/typescript/src/haptics/types.d.ts +37 -0
- package/lib/typescript/src/haptics/types.d.ts.map +1 -0
- package/lib/typescript/src/haptics.d.ts +8 -0
- package/lib/typescript/src/haptics.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +10 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/particles/createParticleSystem.d.ts +5 -0
- package/lib/typescript/src/particles/createParticleSystem.d.ts.map +1 -0
- package/lib/typescript/src/particles/defineParticleEffect.d.ts +3 -0
- package/lib/typescript/src/particles/defineParticleEffect.d.ts.map +1 -0
- package/lib/typescript/src/particles/errors.d.ts +5 -0
- package/lib/typescript/src/particles/errors.d.ts.map +1 -0
- package/lib/typescript/src/particles/index.d.ts +6 -0
- package/lib/typescript/src/particles/index.d.ts.map +1 -0
- package/lib/typescript/src/particles/sampling.d.ts +54 -0
- package/lib/typescript/src/particles/sampling.d.ts.map +1 -0
- package/lib/typescript/src/particles/types.d.ts +292 -0
- package/lib/typescript/src/particles/types.d.ts.map +1 -0
- package/lib/typescript/src/particles.d.ts +2 -0
- package/lib/typescript/src/particles.d.ts.map +1 -0
- package/lib/typescript/src/react/GameButtonPad.d.ts +84 -0
- package/lib/typescript/src/react/GameButtonPad.d.ts.map +1 -0
- package/lib/typescript/src/react/GamePointerInput.d.ts.map +1 -1
- package/lib/typescript/src/react/GameView.d.ts +27 -1
- package/lib/typescript/src/react/GameView.d.ts.map +1 -1
- package/lib/typescript/src/react/assets/createGameAssetStore.d.ts.map +1 -1
- package/lib/typescript/src/react/assets/useGameAssets.d.ts.map +1 -1
- package/lib/typescript/src/react/bindAppLifecycle.d.ts +7 -1
- package/lib/typescript/src/react/bindAppLifecycle.d.ts.map +1 -1
- package/lib/typescript/src/react/bindGameSession.d.ts.map +1 -1
- package/lib/typescript/src/react/camera2d/GameLayer2D.d.ts +24 -0
- package/lib/typescript/src/react/camera2d/GameLayer2D.d.ts.map +1 -0
- package/lib/typescript/src/react/camera2d/defineGameCamera2D.d.ts +44 -0
- package/lib/typescript/src/react/camera2d/defineGameCamera2D.d.ts.map +1 -0
- package/lib/typescript/src/react/camera2d/usePresentedCameraBinding.d.ts +22 -0
- package/lib/typescript/src/react/camera2d/usePresentedCameraBinding.d.ts.map +1 -0
- package/lib/typescript/src/react/cleanupList.d.ts +21 -0
- package/lib/typescript/src/react/cleanupList.d.ts.map +1 -0
- package/lib/typescript/src/react/instrumentation.d.ts +33 -3
- package/lib/typescript/src/react/instrumentation.d.ts.map +1 -1
- package/lib/typescript/src/react/lifecycleSource.d.ts +21 -0
- package/lib/typescript/src/react/lifecycleSource.d.ts.map +1 -0
- package/lib/typescript/src/react/particles/ParticleView.d.ts +65 -0
- package/lib/typescript/src/react/particles/ParticleView.d.ts.map +1 -0
- package/lib/typescript/src/react/particles/culling.d.ts +70 -0
- package/lib/typescript/src/react/particles/culling.d.ts.map +1 -0
- package/lib/typescript/src/react/particles/index.d.ts +7 -0
- package/lib/typescript/src/react/particles/index.d.ts.map +1 -0
- package/lib/typescript/src/react/particles/spriteXForm.d.ts +28 -0
- package/lib/typescript/src/react/particles/spriteXForm.d.ts.map +1 -0
- package/lib/typescript/src/react/particles/useParticlePresentation.d.ts +48 -0
- package/lib/typescript/src/react/particles/useParticlePresentation.d.ts.map +1 -0
- package/lib/typescript/src/react/pointerBinding.d.ts +38 -8
- package/lib/typescript/src/react/pointerBinding.d.ts.map +1 -1
- package/lib/typescript/src/react/pointerCamera.d.ts +20 -0
- package/lib/typescript/src/react/pointerCamera.d.ts.map +1 -0
- package/lib/typescript/src/react/pointerCoalescer.d.ts +17 -1
- package/lib/typescript/src/react/pointerCoalescer.d.ts.map +1 -1
- package/lib/typescript/src/react/sprites/GameSprite.d.ts +3 -10
- package/lib/typescript/src/react/sprites/GameSprite.d.ts.map +1 -1
- package/lib/typescript/src/react/sprites/GameWorld2D.d.ts +51 -6
- package/lib/typescript/src/react/sprites/GameWorld2D.d.ts.map +1 -1
- package/lib/typescript/src/react/sprites/Sprite.d.ts.map +1 -1
- package/lib/typescript/src/react/sprites/SpriteBatch.d.ts +22 -1
- package/lib/typescript/src/react/sprites/SpriteBatch.d.ts.map +1 -1
- package/lib/typescript/src/react/sprites/batchVisibility.d.ts +28 -0
- package/lib/typescript/src/react/sprites/batchVisibility.d.ts.map +1 -0
- package/lib/typescript/src/react/sprites/spriteSelection.d.ts +58 -0
- package/lib/typescript/src/react/sprites/spriteSelection.d.ts.map +1 -0
- package/lib/typescript/src/react/sprites/spriteTransform.d.ts +27 -12
- package/lib/typescript/src/react/sprites/spriteTransform.d.ts.map +1 -1
- package/lib/typescript/src/react/tilemap/TileMapLayer2D.d.ts +69 -0
- package/lib/typescript/src/react/tilemap/TileMapLayer2D.d.ts.map +1 -0
- package/lib/typescript/src/react/tilemap/tilePresentation.d.ts +217 -0
- package/lib/typescript/src/react/tilemap/tilePresentation.d.ts.map +1 -0
- package/lib/typescript/src/react/useGameSession.d.ts +48 -0
- package/lib/typescript/src/react/useGameSession.d.ts.map +1 -0
- package/lib/typescript/src/react/useGameSessionStatus.d.ts +23 -0
- package/lib/typescript/src/react/useGameSessionStatus.d.ts.map +1 -0
- package/lib/typescript/src/react/viewportBinding.d.ts +5 -1
- package/lib/typescript/src/react/viewportBinding.d.ts.map +1 -1
- package/lib/typescript/src/react.d.ts +18 -1
- package/lib/typescript/src/react.d.ts.map +1 -1
- package/lib/typescript/src/scene/defineScene.d.ts +22 -2
- package/lib/typescript/src/scene/defineScene.d.ts.map +1 -1
- package/lib/typescript/src/scene/types.d.ts +24 -4
- package/lib/typescript/src/scene/types.d.ts.map +1 -1
- package/lib/typescript/src/sprites/sampleSpriteClip.d.ts +26 -2
- package/lib/typescript/src/sprites/sampleSpriteClip.d.ts.map +1 -1
- package/lib/typescript/src/sprites/spriteAnimationState.d.ts +6 -7
- package/lib/typescript/src/sprites/spriteAnimationState.d.ts.map +1 -1
- package/lib/typescript/src/sprites.d.ts +10 -0
- package/lib/typescript/src/sprites.d.ts.map +1 -0
- package/lib/typescript/src/storage/adapters/asyncStorage.d.ts +18 -0
- package/lib/typescript/src/storage/adapters/asyncStorage.d.ts.map +1 -0
- package/lib/typescript/src/storage/adapters/memory.d.ts +16 -0
- package/lib/typescript/src/storage/adapters/memory.d.ts.map +1 -0
- package/lib/typescript/src/storage/errors.d.ts +37 -0
- package/lib/typescript/src/storage/errors.d.ts.map +1 -0
- package/lib/typescript/src/storage/index.d.ts +11 -0
- package/lib/typescript/src/storage/index.d.ts.map +1 -0
- package/lib/typescript/src/storage/schema.d.ts +22 -0
- package/lib/typescript/src/storage/schema.d.ts.map +1 -0
- package/lib/typescript/src/storage/serialization.d.ts +23 -0
- package/lib/typescript/src/storage/serialization.d.ts.map +1 -0
- package/lib/typescript/src/storage/store.d.ts +3 -0
- package/lib/typescript/src/storage/store.d.ts.map +1 -0
- package/lib/typescript/src/storage/types.d.ts +69 -0
- package/lib/typescript/src/storage/types.d.ts.map +1 -0
- package/lib/typescript/src/storage/validation.d.ts +24 -0
- package/lib/typescript/src/storage/validation.d.ts.map +1 -0
- package/lib/typescript/src/storage.d.ts +2 -0
- package/lib/typescript/src/storage.d.ts.map +1 -0
- package/lib/typescript/src/testing.d.ts +1 -0
- package/lib/typescript/src/testing.d.ts.map +1 -1
- package/lib/typescript/src/tilemap/chunkStats.d.ts +14 -0
- package/lib/typescript/src/tilemap/chunkStats.d.ts.map +1 -0
- package/lib/typescript/src/tilemap/definitions.d.ts +38 -0
- package/lib/typescript/src/tilemap/definitions.d.ts.map +1 -0
- package/lib/typescript/src/tilemap/errors.d.ts +7 -0
- package/lib/typescript/src/tilemap/errors.d.ts.map +1 -0
- package/lib/typescript/src/tilemap/index.d.ts +8 -0
- package/lib/typescript/src/tilemap/index.d.ts.map +1 -0
- package/lib/typescript/src/tilemap/movement.d.ts +52 -0
- package/lib/typescript/src/tilemap/movement.d.ts.map +1 -0
- package/lib/typescript/src/tilemap/queries.d.ts +21 -0
- package/lib/typescript/src/tilemap/queries.d.ts.map +1 -0
- package/lib/typescript/src/tilemap/tiledAdapter.d.ts +32 -0
- package/lib/typescript/src/tilemap/tiledAdapter.d.ts.map +1 -0
- package/lib/typescript/src/tilemap/types.d.ts +127 -0
- package/lib/typescript/src/tilemap/types.d.ts.map +1 -0
- package/lib/typescript/src/tilemap.d.ts +2 -0
- package/lib/typescript/src/tilemap.d.ts.map +1 -0
- package/package.json +100 -10
- package/src/assets/defineAssets.ts +31 -5
- package/src/assets.ts +27 -0
- package/src/audio/createGameAudio.ts +749 -0
- package/src/audio/errors.ts +12 -0
- package/src/audio/index.ts +9 -0
- package/src/audio/resolver.ts +74 -0
- package/src/audio/types.ts +47 -0
- package/src/audio.ts +13 -0
- package/src/camera2d/bounds.ts +69 -0
- package/src/camera2d/extents.ts +25 -0
- package/src/camera2d/follow.ts +165 -0
- package/src/camera2d/index.ts +29 -0
- package/src/camera2d/interpolation.ts +113 -0
- package/src/camera2d/shake.ts +90 -0
- package/src/camera2d/transform.ts +148 -0
- package/src/camera2d/types.ts +73 -0
- package/src/camera2d/validation.ts +126 -0
- package/src/camera2d/visibility.ts +181 -0
- package/src/camera2d.ts +6 -0
- package/src/collision2d/colliders.ts +292 -0
- package/src/collision2d/debug.ts +133 -0
- package/src/collision2d/filters.ts +48 -0
- package/src/collision2d/index.ts +74 -0
- package/src/collision2d/intersections.ts +82 -0
- package/src/collision2d/manifolds.ts +191 -0
- package/src/collision2d/segments.ts +176 -0
- package/src/collision2d/spatialHash.ts +211 -0
- package/src/collision2d/sweeps.ts +269 -0
- package/src/collision2d.ts +6 -0
- package/src/core/input/buttonPad.ts +235 -0
- package/src/core/input/createInputBuffer.ts +95 -14
- package/src/core/input/types.ts +7 -0
- package/src/core/session/createGameSession.ts +480 -53
- package/src/core/session/deepFreeze.ts +104 -3
- package/src/core/session/diagnostics.ts +2 -0
- package/src/core/session/types.ts +77 -4
- package/src/definition/defineGame.ts +61 -3
- package/src/definition/types.ts +10 -0
- package/src/events/defineGameEvents.ts +46 -0
- package/src/events/errors.ts +14 -0
- package/src/events/index.ts +14 -0
- package/src/events/payload.ts +234 -0
- package/src/events/seed.ts +33 -0
- package/src/events/types.ts +53 -0
- package/src/events.ts +20 -0
- package/src/geometry/helpers.ts +136 -0
- package/src/geometry/index.ts +14 -0
- package/src/geometry/types.ts +54 -0
- package/src/geometry/validation.ts +131 -0
- package/src/geometry.ts +6 -0
- package/src/haptics/createGameHaptics.ts +214 -0
- package/src/haptics/errors.ts +12 -0
- package/src/haptics/index.ts +3 -0
- package/src/haptics/resolver.ts +58 -0
- package/src/haptics/types.ts +48 -0
- package/src/haptics.ts +7 -0
- package/src/index.ts +37 -1
- package/src/particles/createParticleSystem.ts +505 -0
- package/src/particles/defineParticleEffect.ts +164 -0
- package/src/particles/errors.ts +6 -0
- package/src/particles/index.ts +5 -0
- package/src/particles/sampling.ts +141 -0
- package/src/particles/types.ts +327 -0
- package/src/particles.ts +1 -0
- package/src/react/GameButtonPad.tsx +436 -0
- package/src/react/GamePointerInput.tsx +73 -8
- package/src/react/GameView.tsx +160 -61
- package/src/react/assets/createGameAssetStore.ts +140 -107
- package/src/react/assets/useGameAssets.ts +63 -31
- package/src/react/bindAppLifecycle.ts +55 -19
- package/src/react/bindGameSession.ts +12 -2
- package/src/react/camera2d/GameLayer2D.tsx +43 -0
- package/src/react/camera2d/defineGameCamera2D.ts +59 -0
- package/src/react/camera2d/usePresentedCameraBinding.ts +185 -0
- package/src/react/cleanupList.ts +48 -0
- package/src/react/instrumentation.ts +31 -3
- package/src/react/lifecycleSource.ts +58 -0
- package/src/react/particles/ParticleView.tsx +358 -0
- package/src/react/particles/culling.ts +145 -0
- package/src/react/particles/index.ts +6 -0
- package/src/react/particles/spriteXForm.ts +72 -0
- package/src/react/particles/useParticlePresentation.ts +261 -0
- package/src/react/pointerBinding.ts +74 -16
- package/src/react/pointerCamera.ts +33 -0
- package/src/react/pointerCoalescer.ts +36 -10
- package/src/react/sprites/GameSprite.tsx +4 -33
- package/src/react/sprites/GameWorld2D.tsx +113 -7
- package/src/react/sprites/Sprite.tsx +51 -72
- package/src/react/sprites/SpriteBatch.tsx +74 -22
- package/src/react/sprites/batchVisibility.ts +76 -0
- package/src/react/sprites/spriteSelection.ts +133 -0
- package/src/react/sprites/spriteTransform.ts +46 -26
- package/src/react/tilemap/TileMapLayer2D.tsx +274 -0
- package/src/react/tilemap/tilePresentation.ts +491 -0
- package/src/react/useGameSession.ts +90 -0
- package/src/react/useGameSessionStatus.ts +53 -0
- package/src/react/viewportBinding.ts +5 -1
- package/src/react.ts +18 -1
- package/src/scene/defineScene.ts +47 -5
- package/src/scene/types.ts +37 -3
- package/src/sprites/sampleSpriteClip.ts +82 -14
- package/src/sprites/spriteAnimationState.ts +29 -25
- package/src/sprites.ts +22 -0
- package/src/storage/adapters/asyncStorage.ts +77 -0
- package/src/storage/adapters/memory.ts +58 -0
- package/src/storage/errors.ts +88 -0
- package/src/storage/index.ts +18 -0
- package/src/storage/schema.ts +147 -0
- package/src/storage/serialization.ts +248 -0
- package/src/storage/store.ts +380 -0
- package/src/storage/types.ts +76 -0
- package/src/storage/validation.ts +102 -0
- package/src/storage.ts +1 -0
- package/src/testing.ts +4 -0
- package/src/tilemap/chunkStats.ts +24 -0
- package/src/tilemap/definitions.ts +327 -0
- package/src/tilemap/errors.ts +11 -0
- package/src/tilemap/index.ts +10 -0
- package/src/tilemap/movement.ts +368 -0
- package/src/tilemap/queries.ts +136 -0
- package/src/tilemap/tiledAdapter.ts +165 -0
- package/src/tilemap/types.ts +119 -0
- package/src/tilemap.ts +1 -0
|
@@ -5,10 +5,11 @@ import { StyleSheet, View } from 'react-native';
|
|
|
5
5
|
import { GestureDetector, GestureStateManager, useManualGesture } from 'react-native-gesture-handler';
|
|
6
6
|
import { useFrameCallback, useSharedValue } from 'react-native-reanimated';
|
|
7
7
|
import { scheduleOnRN } from 'react-native-worklets';
|
|
8
|
-
import { GameViewportContext } from "./GameView.js";
|
|
8
|
+
import { GameCameraContext, GameViewportContext } from "./GameView.js";
|
|
9
9
|
import { canBeginPrimaryPointer, cancelOnActiveFinalize, deactivateAfterUp, reduceSamplerMirrorState, samplerMirrorFromBatch } from "./gestureLifecycle.js";
|
|
10
10
|
import { isBeginAllowed } from "./pointerContainment.js";
|
|
11
11
|
import { createPointerCoalescerState, reducePointerCoalescer } from "./pointerCoalescer.js";
|
|
12
|
+
import { packetCameraFor } from "./pointerCamera.js";
|
|
12
13
|
import { PointerBinding } from "./pointerBinding.js";
|
|
13
14
|
|
|
14
15
|
/** Declared pointer action names of an input map. */
|
|
@@ -41,7 +42,8 @@ function TrailingFlushSampler({
|
|
|
41
42
|
instrumentation,
|
|
42
43
|
layoutEpoch,
|
|
43
44
|
forwardSeq,
|
|
44
|
-
generation
|
|
45
|
+
generation,
|
|
46
|
+
camera
|
|
45
47
|
}) {
|
|
46
48
|
// F2 acceptance: report the sampler's mounted lifecycle so the lab can
|
|
47
49
|
// prove no idle frame callback survives pointer exit, replacement, or
|
|
@@ -68,7 +70,11 @@ function TrailingFlushSampler({
|
|
|
68
70
|
generation,
|
|
69
71
|
layoutEpoch: layoutEpoch.value,
|
|
70
72
|
seq: forwardSeq.value,
|
|
71
|
-
atMs: Date.now()
|
|
73
|
+
atMs: Date.now(),
|
|
74
|
+
// The deferred move carries the stamp captured at ITS native
|
|
75
|
+
// sample (T12-RF3, T12-SF1) — never the flush-time camera, and a
|
|
76
|
+
// captured undefined stays undefined.
|
|
77
|
+
camera: packetCameraFor(forwarded, camera?.value)
|
|
72
78
|
});
|
|
73
79
|
}
|
|
74
80
|
});
|
|
@@ -102,6 +108,11 @@ export function GamePointerInput({
|
|
|
102
108
|
if (viewportContext === null) {
|
|
103
109
|
throw new Error('GamePointerInput must be rendered inside a GameView');
|
|
104
110
|
}
|
|
111
|
+
// T12.4: the adapter discovers the presented camera from the mounted
|
|
112
|
+
// surface (never a repeated prop), so renderer and input share the same
|
|
113
|
+
// generation. Games without a camera get the exact current viewport path.
|
|
114
|
+
const cameraContext = useContext(GameCameraContext);
|
|
115
|
+
const presentedCamera = cameraContext?.presented;
|
|
105
116
|
const viewportShared = viewportContext.viewport;
|
|
106
117
|
const maxMoveIntervalMs = game.getRenderFrame().stepMs;
|
|
107
118
|
const coalescerState = useSharedValue(() => createPointerCoalescerState(maxMoveIntervalMs));
|
|
@@ -113,6 +124,10 @@ export function GamePointerInput({
|
|
|
113
124
|
// stamp packets with that same generation, so the packet producer and
|
|
114
125
|
// consumer agree by construction — no post-commit synchronization.
|
|
115
126
|
const binding = useMemo(() => new PointerBinding(action, game.input, () => viewportBinding.resolved, nextBindingGeneration++), [action, game, viewportBinding]);
|
|
127
|
+
// T12-F4: the presented camera is sampled at EVENT TIME inside the touch
|
|
128
|
+
// worklets and stamped onto every packet; the binding inverts through
|
|
129
|
+
// that stamp, never a later JS-side read.
|
|
130
|
+
const cameraShared = presentedCamera;
|
|
116
131
|
const generation = binding.generation;
|
|
117
132
|
// F6/F3: the layout epoch is adapter-owned (ref + UI mirror), bumped only
|
|
118
133
|
// on layout revisions and unmount; it never resets, so replacement cannot
|
|
@@ -139,6 +154,33 @@ export function GamePointerInput({
|
|
|
139
154
|
setSamplerState(previous => reduceSamplerMirrorState(generation, previous, next));
|
|
140
155
|
}, [generation]);
|
|
141
156
|
|
|
157
|
+
// T10.4: the pause transition clears the UI-side coalescer queue for the
|
|
158
|
+
// active stream (the core input buffer already cancelled ownership), so a
|
|
159
|
+
// pre-pause pointer can never flush stale moves after resume. The gesture
|
|
160
|
+
// itself is not remounted and its key does not change.
|
|
161
|
+
// GS-INPUT-04: pause also advances the packet epoch (queued pre-pause
|
|
162
|
+
// packets die at RN ingress) and clears the React sampler mirror, so the
|
|
163
|
+
// trailing sampler unmounts even when no coalescer event ever arrives to
|
|
164
|
+
// finalize it. A fresh down is required after resume.
|
|
165
|
+
useEffect(() => {
|
|
166
|
+
if (game.status === 'disposed') {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const subscription = game.addStatusListener(status => {
|
|
170
|
+
if (status === 'paused') {
|
|
171
|
+
coalescerState.value = createPointerCoalescerState(maxMoveIntervalMs);
|
|
172
|
+
bumpLayoutEpoch();
|
|
173
|
+
setSamplerState(previous => reduceSamplerMirrorState(generation, previous, {
|
|
174
|
+
generation,
|
|
175
|
+
active: false
|
|
176
|
+
}));
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
return () => {
|
|
180
|
+
subscription.remove();
|
|
181
|
+
};
|
|
182
|
+
}, [bumpLayoutEpoch, coalescerState, game, generation, maxMoveIntervalMs]);
|
|
183
|
+
|
|
142
184
|
// F2 review: `autostart` is only consulted at creation (changing it later
|
|
143
185
|
// re-registers but never activates) and `setActive` from an effect proved
|
|
144
186
|
// unreliable in this stack, so the sampler is a conditionally mounted
|
|
@@ -154,10 +196,14 @@ export function GamePointerInput({
|
|
|
154
196
|
// layout die here, before the binding sees them.
|
|
155
197
|
if (packet.layoutEpoch !== layoutEpochRef.current) {
|
|
156
198
|
instrumentation?.onDispatchResult?.(packet.seq, packet.atMs, false);
|
|
199
|
+
instrumentation?.onDispatchRejected?.('layout-epoch', packet.seq, packet.atMs);
|
|
157
200
|
return;
|
|
158
201
|
}
|
|
159
202
|
const accepted = binding.dispatch(packet);
|
|
160
203
|
instrumentation?.onDispatchResult?.(packet.seq, packet.atMs, accepted);
|
|
204
|
+
if (!accepted) {
|
|
205
|
+
instrumentation?.onDispatchRejected?.('binding', packet.seq, packet.atMs);
|
|
206
|
+
}
|
|
161
207
|
}, [binding, instrumentation]);
|
|
162
208
|
const handleTouchesDown = useCallback(event => {
|
|
163
209
|
'worklet';
|
|
@@ -194,7 +240,8 @@ export function GamePointerInput({
|
|
|
194
240
|
generation,
|
|
195
241
|
layoutEpoch: layoutEpoch.value,
|
|
196
242
|
seq: forwardSeq.value,
|
|
197
|
-
atMs: Date.now()
|
|
243
|
+
atMs: Date.now(),
|
|
244
|
+
camera: cameraShared?.value
|
|
198
245
|
});
|
|
199
246
|
}
|
|
200
247
|
const nextActive = samplerMirrorFromBatch(batch);
|
|
@@ -205,7 +252,7 @@ export function GamePointerInput({
|
|
|
205
252
|
});
|
|
206
253
|
}
|
|
207
254
|
GestureStateManager.activate(event.handlerTag);
|
|
208
|
-
}, [coalescerState, forwardEventOnJS, generation, instrumentation, layoutEpoch, reportSamplerState, viewportShared]);
|
|
255
|
+
}, [cameraShared, coalescerState, forwardEventOnJS, generation, instrumentation, layoutEpoch, reportSamplerState, viewportShared]);
|
|
209
256
|
const handleTouchesMove = useCallback(event => {
|
|
210
257
|
'worklet';
|
|
211
258
|
|
|
@@ -216,7 +263,11 @@ export function GamePointerInput({
|
|
|
216
263
|
pointerId: touch.id,
|
|
217
264
|
x: touch.x,
|
|
218
265
|
y: touch.y,
|
|
219
|
-
nowMs: Date.now()
|
|
266
|
+
nowMs: Date.now(),
|
|
267
|
+
stamp: {
|
|
268
|
+
captured: true,
|
|
269
|
+
value: cameraShared?.value
|
|
270
|
+
}
|
|
220
271
|
});
|
|
221
272
|
for (const forwarded of batch) {
|
|
222
273
|
instrumentation?.onForwarded?.(forwarded.kind, 'pointerId' in forwarded ? forwarded.pointerId : -1, Date.now());
|
|
@@ -226,11 +277,12 @@ export function GamePointerInput({
|
|
|
226
277
|
generation,
|
|
227
278
|
layoutEpoch: layoutEpoch.value,
|
|
228
279
|
seq: forwardSeq.value,
|
|
229
|
-
atMs: Date.now()
|
|
280
|
+
atMs: Date.now(),
|
|
281
|
+
camera: packetCameraFor(forwarded, cameraShared?.value)
|
|
230
282
|
});
|
|
231
283
|
}
|
|
232
284
|
}
|
|
233
|
-
}, [coalescerState, forwardEventOnJS, generation, instrumentation, layoutEpoch]);
|
|
285
|
+
}, [cameraShared, coalescerState, forwardEventOnJS, generation, instrumentation, layoutEpoch]);
|
|
234
286
|
const handleTouchesUp = useCallback(event => {
|
|
235
287
|
'worklet';
|
|
236
288
|
|
|
@@ -252,7 +304,8 @@ export function GamePointerInput({
|
|
|
252
304
|
generation,
|
|
253
305
|
layoutEpoch: layoutEpoch.value,
|
|
254
306
|
seq: forwardSeq.value,
|
|
255
|
-
atMs: Date.now()
|
|
307
|
+
atMs: Date.now(),
|
|
308
|
+
camera: packetCameraFor(forwarded, cameraShared?.value)
|
|
256
309
|
});
|
|
257
310
|
}
|
|
258
311
|
const mirror = samplerMirrorFromBatch(batch);
|
|
@@ -269,7 +322,7 @@ export function GamePointerInput({
|
|
|
269
322
|
if (deactivateAfterUp(event.numberOfTouches)) {
|
|
270
323
|
GestureStateManager.deactivate(event.handlerTag);
|
|
271
324
|
}
|
|
272
|
-
}, [coalescerState, forwardEventOnJS, generation, instrumentation, layoutEpoch, reportSamplerState]);
|
|
325
|
+
}, [cameraShared, coalescerState, forwardEventOnJS, generation, instrumentation, layoutEpoch, reportSamplerState]);
|
|
273
326
|
const handleTouchesCancel = useCallback(() => {
|
|
274
327
|
'worklet';
|
|
275
328
|
|
|
@@ -286,7 +339,8 @@ export function GamePointerInput({
|
|
|
286
339
|
generation,
|
|
287
340
|
layoutEpoch: layoutEpoch.value,
|
|
288
341
|
seq: forwardSeq.value,
|
|
289
|
-
atMs: Date.now()
|
|
342
|
+
atMs: Date.now(),
|
|
343
|
+
camera: cameraShared?.value
|
|
290
344
|
});
|
|
291
345
|
}
|
|
292
346
|
const nextActive = samplerMirrorFromBatch(batch);
|
|
@@ -296,7 +350,7 @@ export function GamePointerInput({
|
|
|
296
350
|
active: nextActive
|
|
297
351
|
});
|
|
298
352
|
}
|
|
299
|
-
}, [coalescerState, forwardEventOnJS, generation, instrumentation, layoutEpoch, reportSamplerState]);
|
|
353
|
+
}, [cameraShared, coalescerState, forwardEventOnJS, generation, instrumentation, layoutEpoch, reportSamplerState]);
|
|
300
354
|
const handleFinalize = useCallback(() => {
|
|
301
355
|
'worklet';
|
|
302
356
|
|
|
@@ -316,7 +370,8 @@ export function GamePointerInput({
|
|
|
316
370
|
generation,
|
|
317
371
|
layoutEpoch: layoutEpoch.value,
|
|
318
372
|
seq: forwardSeq.value,
|
|
319
|
-
atMs: Date.now()
|
|
373
|
+
atMs: Date.now(),
|
|
374
|
+
camera: cameraShared?.value
|
|
320
375
|
});
|
|
321
376
|
}
|
|
322
377
|
const nextActive = samplerMirrorFromBatch(batch);
|
|
@@ -355,11 +410,13 @@ export function GamePointerInput({
|
|
|
355
410
|
// flight become harmless no-ops, neutralize old input ownership exactly
|
|
356
411
|
// once, reset the coalescer, remove the old sampler (generation
|
|
357
412
|
// mismatch makes it inactive by construction), and dispose the binding.
|
|
413
|
+
// The mirror reset bails out when already inactive so cleanup never
|
|
414
|
+
// schedules redundant renders (GS-INPUT-04).
|
|
358
415
|
bumpLayoutEpoch();
|
|
359
|
-
setSamplerState({
|
|
416
|
+
setSamplerState(previous => previous.active ? {
|
|
360
417
|
generation: -1,
|
|
361
418
|
active: false
|
|
362
|
-
});
|
|
419
|
+
} : previous);
|
|
363
420
|
if (game.status !== 'disposed') {
|
|
364
421
|
binding.cancel();
|
|
365
422
|
}
|
|
@@ -377,7 +434,8 @@ export function GamePointerInput({
|
|
|
377
434
|
instrumentation: instrumentation,
|
|
378
435
|
layoutEpoch: layoutEpoch,
|
|
379
436
|
forwardSeq: forwardSeq,
|
|
380
|
-
generation: generation
|
|
437
|
+
generation: generation,
|
|
438
|
+
camera: cameraShared
|
|
381
439
|
}) : null
|
|
382
440
|
})
|
|
383
441
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useContext","useEffect","useMemo","useRef","useState","StyleSheet","View","GestureDetector","GestureStateManager","useManualGesture","useFrameCallback","useSharedValue","scheduleOnRN","GameViewportContext","canBeginPrimaryPointer","cancelOnActiveFinalize","deactivateAfterUp","reduceSamplerMirrorState","samplerMirrorFromBatch","isBeginAllowed","createPointerCoalescerState","reducePointerCoalescer","PointerBinding","jsx","_jsx","nextBindingGeneration","advanceSharedCoalescer","sharedState","input","transition","value","state","events","TrailingFlushSampler","coalescerState","forwardEventOnJS","instrumentation","layoutEpoch","forwardSeq","generation","instrumentationRef","current","onSamplerChanged","batch","kind","nowMs","Date","now","forwarded","onForwarded","pointerId","seq","atMs","GamePointerInput","game","action","viewportContext","Error","viewportShared","viewport","maxMoveIntervalMs","getRenderFrame","stepMs","viewportBinding","binding","resolved","layoutEpochRef","bumpLayoutEpoch","samplerState","setSamplerState","active","reportSamplerState","next","previous","packet","onDispatchResult","accepted","dispatch","handleTouchesDown","event","touch","changedTouches","undefined","onRawTouch","id","numberOfTouches","x","y","fail","handlerTag","nextActive","activate","handleTouchesMove","handleTouchesUp","mirror","deactivate","handleTouchesCancel","handleFinalize","gestureConfig","shouldCancelWhenOutside","onTouchesDown","onTouchesMove","onTouchesUp","onTouchesCancel","onFinalize","gesture","unsubscribeLayout","subscribe","status","cancel","dispose","children","style","absoluteFill"],"sourceRoot":"../../../src","sources":["react/GamePointerInput.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACrF,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACEC,eAAe,EACfC,mBAAmB,EACnBC,gBAAgB,QAEX,8BAA8B;AACrC,SAASC,gBAAgB,EAAEC,cAAc,QAA0B,yBAAyB;AAC5F,SAASC,YAAY,QAAQ,uBAAuB;AAIpD,SAASC,mBAAmB,QAAQ,eAAY;AAChD,SACEC,sBAAsB,EACtBC,sBAAsB,EACtBC,iBAAiB,EACjBC,wBAAwB,EACxBC,sBAAsB,QAEjB,uBAAoB;AAE3B,SAASC,cAAc,QAAQ,yBAAsB;AACrD,SACEC,2BAA2B,EAC3BC,sBAAsB,QAIjB,uBAAoB;AAC3B,SAASC,cAAc,QAA4B,qBAAkB;;AAErE;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAKA;AACA,IAAIC,qBAAqB,GAAG,CAAC;;AAK7B;;AAUA,SAASC,sBAAsBA,CAC7BC,WAA+C,EAC/CC,KAA4B,EACM;EAClC,SAAS;;EACT,MAAMC,UAAU,GAAGR,sBAAsB,CAACM,WAAW,CAACG,KAAK,EAAEF,KAAK,CAAC;EACnED,WAAW,CAACG,KAAK,GAAGD,UAAU,CAACE,KAAK;EACpC,OAAOF,UAAU,CAACG,MAAM;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,oBAAoBA,CAAC;EAC5BC,cAAc;EACdC,gBAAgB;EAChBC,eAAe;EACfC,WAAW;EACXC,UAAU;EACVC;AAQF,CAAC,EAAE;EACD;EACA;EACA;EACA,MAAMC,kBAAkB,GAAGrC,MAAM,CAACiC,eAAe,CAAC;EAClDnC,SAAS,CAAC,MAAM;IACduC,kBAAkB,CAACC,OAAO,EAAEC,gBAAgB,GAAG,IAAI,CAAC;IACpD,OAAO,MAAM;MACXF,kBAAkB,CAACC,OAAO,EAAEC,gBAAgB,GAAG,KAAK,CAAC;IACvD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENhC,gBAAgB,CAAC,MAAM;IACrB,SAAS;;IACT,MAAMiC,KAAK,GAAGjB,sBAAsB,CAACQ,cAAc,EAAE;MACnDU,IAAI,EAAE,OAAO;MACbC,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;MAC7BP,eAAe,EAAEa,WAAW,GAC1BD,SAAS,CAACJ,IAAI,EACd,WAAW,IAAII,SAAS,GAAGA,SAAS,CAACE,SAAS,GAAG,CAAC,CAAC,EACnDJ,IAAI,CAACC,GAAG,CAAC,CACX,CAAC;MACDT,UAAU,CAACR,KAAK,IAAI,CAAC;MACrBlB,YAAY,CAACuB,gBAAgB,EAAE;QAC7B,GAAGa,SAAS;QACZT,UAAU;QACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;QAC9BqB,GAAG,EAAEb,UAAU,CAACR,KAAK;QACrBsB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC;MACjB,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EACF,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,gBAAgBA,CAAoD;EAClFC,IAAI;EACJC,MAAM;EACNnB;AACsC,CAAC,EAAE;EACzC,MAAMoB,eAAe,GAAGxD,UAAU,CAACa,mBAAmB,CAAC;EAEvD,IAAI2C,eAAe,KAAK,IAAI,EAAE;IAC5B,MAAM,IAAIC,KAAK,CAAC,qDAAqD,CAAC;EACxE;EACA,MAAMC,cAAc,GAAGF,eAAe,CAACG,QAAQ;EAC/C,MAAMC,iBAAiB,GAAGN,IAAI,CAACO,cAAc,CAAC,CAAC,CAACC,MAAM;EACtD,MAAM5B,cAAc,GAAGvB,cAAc,CAAwB,MAC3DS,2BAA2B,CAACwC,iBAAiB,CAC/C,CAAC;EACD,MAAMG,eAAe,GAAGP,eAAe,CAACQ,OAAO;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA,MAAMA,OAAO,GAAG9D,OAAO,CACrB,MAAM,IAAIoB,cAAc,CAACiC,MAAM,EAAED,IAAI,CAAC1B,KAAK,EAAE,MAAMmC,eAAe,CAACE,QAAQ,EAAExC,qBAAqB,EAAE,CAAC,EACrG,CAAC8B,MAAM,EAAED,IAAI,EAAES,eAAe,CAChC,CAAC;EACD,MAAMxB,UAAU,GAAGyB,OAAO,CAACzB,UAAU;EACrC;EACA;EACA;EACA,MAAM2B,cAAc,GAAG/D,MAAM,CAAC,CAAC,CAAC;EAChC,MAAMkC,WAAW,GAAG1B,cAAc,CAAC,CAAC,CAAC;EACrC,MAAMwD,eAAe,GAAGpE,WAAW,CAAC,MAAM;IACxCmE,cAAc,CAACzB,OAAO,IAAI,CAAC;IAC3BJ,WAAW,CAACP,KAAK,GAAGoC,cAAc,CAACzB,OAAO;EAC5C,CAAC,EAAE,CAACJ,WAAW,CAAC,CAAC;EACjB;EACA;EACA,MAAMC,UAAU,GAAG3B,cAAc,CAAC,CAAC,CAAC;;EAEpC;EACA;EACA;EACA;EACA,MAAM,CAACyD,YAAY,EAAEC,eAAe,CAAC,GAAGjE,QAAQ,CAAqB;IACnEmC,UAAU,EAAE,CAAC,CAAC;IACd+B,MAAM,EAAE;EACV,CAAC,CAAC;EACF,MAAMC,kBAAkB,GAAGxE,WAAW,CACnCyE,IAAwB,IAAK;IAC5BH,eAAe,CAAEI,QAAQ,IACvBxD,wBAAwB,CAACsB,UAAU,EAAEkC,QAAQ,EAAED,IAAI,CACrD,CAAC;EACH,CAAC,EACD,CAACjC,UAAU,CACb,CAAC;;EAED;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA,MAAMJ,gBAAgB,GAAGpC,WAAW,CACjC2E,MAAqB,IAAK;IACzB;IACA;IACA,IAAIA,MAAM,CAACrC,WAAW,KAAK6B,cAAc,CAACzB,OAAO,EAAE;MACjDL,eAAe,EAAEuC,gBAAgB,GAAGD,MAAM,CAACvB,GAAG,EAAEuB,MAAM,CAACtB,IAAI,EAAE,KAAK,CAAC;MACnE;IACF;IACA,MAAMwB,QAAQ,GAAGZ,OAAO,CAACa,QAAQ,CAACH,MAAM,CAAC;IACzCtC,eAAe,EAAEuC,gBAAgB,GAAGD,MAAM,CAACvB,GAAG,EAAEuB,MAAM,CAACtB,IAAI,EAAEwB,QAAQ,CAAC;EACxE,CAAC,EACD,CAACZ,OAAO,EAAE5B,eAAe,CAC3B,CAAC;EAED,MAAM0C,iBAAiB,GAAG/E,WAAW,CAClCgF,KAAK,IAAK;IACT,SAAS;;IACT,MAAMC,KAAK,GAAGD,KAAK,CAACE,cAAc,CAAC,CAAC,CAAC;IACrC,IAAID,KAAK,KAAKE,SAAS,EAAE;MACvB;IACF;IACA9C,eAAe,EAAE+C,UAAU,GAAG,MAAM,EAAEH,KAAK,CAACI,EAAE,EAAEtC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;IAC3D;IACA;IACA;IACA,IAAI,CAACjC,sBAAsB,CAACiE,KAAK,CAACM,eAAe,CAAC,EAAE;MAClD;IACF;IACA;IACA;IACA,IAAI,CAAClE,cAAc,CAACuC,cAAc,CAAC5B,KAAK,EAAEkD,KAAK,CAACM,CAAC,EAAEN,KAAK,CAACO,CAAC,CAAC,EAAE;MAC3D/E,mBAAmB,CAACgF,IAAI,CAACT,KAAK,CAACU,UAAU,CAAC;MAC1C;IACF;IACA,MAAM9C,KAAK,GAAGjB,sBAAsB,CAACQ,cAAc,EAAE;MACnDU,IAAI,EAAE,MAAM;MACZM,SAAS,EAAE8B,KAAK,CAACI,EAAE;MACnBE,CAAC,EAAEN,KAAK,CAACM,CAAC;MACVC,CAAC,EAAEP,KAAK,CAACO,CAAC;MACV1C,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;MAC7BP,eAAe,EAAEa,WAAW,GAC1BD,SAAS,CAACJ,IAAI,EACd,WAAW,IAAII,SAAS,GAAGA,SAAS,CAACE,SAAS,GAAG,CAAC,CAAC,EACnDJ,IAAI,CAACC,GAAG,CAAC,CACX,CAAC;MACDT,UAAU,CAACR,KAAK,IAAI,CAAC;MACrBlB,YAAY,CAACuB,gBAAgB,EAAE;QAC7B,GAAGa,SAAS;QACZT,UAAU;QACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;QAC9BqB,GAAG,EAAEb,UAAU,CAACR,KAAK;QACrBsB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC;MACjB,CAAC,CAAC;IACJ;IACA,MAAM2C,UAAU,GAAGxE,sBAAsB,CAACyB,KAAK,CAAC;IAChD,IAAI+C,UAAU,KAAKR,SAAS,EAAE;MAC5BtE,YAAY,CAAC2D,kBAAkB,EAAE;QAAEhC,UAAU;QAAE+B,MAAM,EAAEoB;MAAW,CAAC,CAAC;IACtE;IACAlF,mBAAmB,CAACmF,QAAQ,CAACZ,KAAK,CAACU,UAAU,CAAC;EAChD,CAAC,EACD,CAACvD,cAAc,EAAEC,gBAAgB,EAAEI,UAAU,EAAEH,eAAe,EAAEC,WAAW,EAAEkC,kBAAkB,EAAEb,cAAc,CACjH,CAAC;EAED,MAAMkC,iBAAiB,GAAG7F,WAAW,CAClCgF,KAAK,IAAK;IACT,SAAS;;IACT,KAAK,MAAMC,KAAK,IAAID,KAAK,CAACE,cAAc,EAAE;MACxC7C,eAAe,EAAE+C,UAAU,GAAG,MAAM,EAAEH,KAAK,CAACI,EAAE,EAAEtC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MAC3D,MAAMJ,KAAK,GAAGjB,sBAAsB,CAACQ,cAAc,EAAE;QACnDU,IAAI,EAAE,MAAM;QACZM,SAAS,EAAE8B,KAAK,CAACI,EAAE;QACnBE,CAAC,EAAEN,KAAK,CAACM,CAAC;QACVC,CAAC,EAAEP,KAAK,CAACO,CAAC;QACV1C,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;MAClB,CAAC,CAAC;MACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;QAC7BP,eAAe,EAAEa,WAAW,GAC1BD,SAAS,CAACJ,IAAI,EACd,WAAW,IAAII,SAAS,GAAGA,SAAS,CAACE,SAAS,GAAG,CAAC,CAAC,EACnDJ,IAAI,CAACC,GAAG,CAAC,CACX,CAAC;QACDT,UAAU,CAACR,KAAK,IAAI,CAAC;QACvBlB,YAAY,CAACuB,gBAAgB,EAAE;UAC7B,GAAGa,SAAS;UACZT,UAAU;UACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;UAC9BqB,GAAG,EAAEb,UAAU,CAACR,KAAK;UACrBsB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC;QACjB,CAAC,CAAC;MACF;IACF;EACF,CAAC,EACD,CAACb,cAAc,EAAEC,gBAAgB,EAAEI,UAAU,EAAEH,eAAe,EAAEC,WAAW,CAC7E,CAAC;EAED,MAAMwD,eAAe,GAAG9F,WAAW,CAChCgF,KAAK,IAAK;IACT,SAAS;;IACT,IAAIW,UAA+B;IACnC,KAAK,MAAMV,KAAK,IAAID,KAAK,CAACE,cAAc,EAAE;MACxC7C,eAAe,EAAE+C,UAAU,GAAG,IAAI,EAAEH,KAAK,CAACI,EAAE,EAAEtC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MACzD,MAAMJ,KAAK,GAAGjB,sBAAsB,CAACQ,cAAc,EAAE;QACnDU,IAAI,EAAE,IAAI;QACVM,SAAS,EAAE8B,KAAK,CAACI,EAAE;QACnBE,CAAC,EAAEN,KAAK,CAACM,CAAC;QACVC,CAAC,EAAEP,KAAK,CAACO,CAAC;QACV1C,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;MAClB,CAAC,CAAC;MACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;QAC7BP,eAAe,EAAEa,WAAW,GAC1BD,SAAS,CAACJ,IAAI,EACd,WAAW,IAAII,SAAS,GAAGA,SAAS,CAACE,SAAS,GAAG,CAAC,CAAC,EACnDJ,IAAI,CAACC,GAAG,CAAC,CACX,CAAC;QACDT,UAAU,CAACR,KAAK,IAAI,CAAC;QACvBlB,YAAY,CAACuB,gBAAgB,EAAE;UAC7B,GAAGa,SAAS;UACZT,UAAU;UACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;UAC9BqB,GAAG,EAAEb,UAAU,CAACR,KAAK;UACrBsB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC;QACjB,CAAC,CAAC;MACF;MACA,MAAM+C,MAAM,GAAG5E,sBAAsB,CAACyB,KAAK,CAAC;MAC5C,IAAImD,MAAM,KAAKZ,SAAS,EAAE;QACxBQ,UAAU,GAAGI,MAAM;MACrB;IACF;IACA,IAAIJ,UAAU,KAAKR,SAAS,EAAE;MAC5BtE,YAAY,CAAC2D,kBAAkB,EAAE;QAAEhC,UAAU;QAAE+B,MAAM,EAAEoB;MAAW,CAAC,CAAC;IACtE;IACA,IAAI1E,iBAAiB,CAAC+D,KAAK,CAACM,eAAe,CAAC,EAAE;MAC5C7E,mBAAmB,CAACuF,UAAU,CAAChB,KAAK,CAACU,UAAU,CAAC;IAClD;EACF,CAAC,EACD,CAACvD,cAAc,EAAEC,gBAAgB,EAAEI,UAAU,EAAEH,eAAe,EAAEC,WAAW,EAAEkC,kBAAkB,CACjG,CAAC;EAED,MAAMyB,mBAAmB,GAAGjG,WAAW,CACrC,MAAM;IACJ,SAAS;;IACTqC,eAAe,EAAE+C,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAErC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;IACvD,MAAMJ,KAAK,GAAGjB,sBAAsB,CAACQ,cAAc,EAAE;MACnDU,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;MAC7BP,eAAe,EAAEa,WAAW,GAAGD,SAAS,CAACJ,IAAI,EAAE,CAAC,CAAC,EAAEE,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MAC9DT,UAAU,CAACR,KAAK,IAAI,CAAC;MACrBlB,YAAY,CAACuB,gBAAgB,EAAE;QAC7B,GAAGa,SAAS;QACZT,UAAU;QACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;QAC9BqB,GAAG,EAAEb,UAAU,CAACR,KAAK;QACrBsB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC;MACjB,CAAC,CAAC;IACJ;IACA,MAAM2C,UAAU,GAAGxE,sBAAsB,CAACyB,KAAK,CAAC;IAChD,IAAI+C,UAAU,KAAKR,SAAS,EAAE;MAC5BtE,YAAY,CAAC2D,kBAAkB,EAAE;QAAEhC,UAAU;QAAE+B,MAAM,EAAEoB;MAAW,CAAC,CAAC;IACtE;EACF,CAAC,EACD,CAACxD,cAAc,EAAEC,gBAAgB,EAAEI,UAAU,EAAEH,eAAe,EAAEC,WAAW,EAAEkC,kBAAkB,CACjG,CAAC;EAED,MAAM0B,cAAc,GAAGlG,WAAW,CAChC,MAAM;IACJ,SAAS;;IACT,IAAI,CAACgB,sBAAsB,CAACmB,cAAc,CAACJ,KAAK,CAACwC,MAAM,EAAEpB,SAAS,CAAC,EAAE;MACnE;IACF;IACAd,eAAe,EAAE+C,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAErC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;IACvD,MAAMJ,KAAK,GAAGjB,sBAAsB,CAACQ,cAAc,EAAE;MACnDU,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;MAC7BP,eAAe,EAAEa,WAAW,GAAGD,SAAS,CAACJ,IAAI,EAAE,CAAC,CAAC,EAAEE,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MAC9DT,UAAU,CAACR,KAAK,IAAI,CAAC;MACrBlB,YAAY,CAACuB,gBAAgB,EAAE;QAC7B,GAAGa,SAAS;QACZT,UAAU;QACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;QAC9BqB,GAAG,EAAEb,UAAU,CAACR,KAAK;QACrBsB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC;MACjB,CAAC,CAAC;IACJ;IACA,MAAM2C,UAAU,GAAGxE,sBAAsB,CAACyB,KAAK,CAAC;IAChD,IAAI+C,UAAU,KAAKR,SAAS,EAAE;MAC5BtE,YAAY,CAAC2D,kBAAkB,EAAE;QAAEhC,UAAU;QAAE+B,MAAM,EAAEoB;MAAW,CAAC,CAAC;IACtE;EACF,CAAC,EACD,CAACxD,cAAc,EAAEC,gBAAgB,EAAEI,UAAU,EAAEH,eAAe,EAAEC,WAAW,EAAEkC,kBAAkB,CACjG,CAAC;;EAED;EACA;EACA;EACA,MAAM2B,aAAa,GAAGhG,OAAO,CAC3B,OAAO;IACLiG,uBAAuB,EAAE,KAAK;IAC9BC,aAAa,EAAEtB,iBAAiB;IAChCuB,aAAa,EAAET,iBAAiB;IAChCU,WAAW,EAAET,eAAe;IAC5BU,eAAe,EAAEP,mBAAmB;IACpCQ,UAAU,EAAEP;EACd,CAAC,CAAC,EACF,CACEA,cAAc,EACdD,mBAAmB,EACnBlB,iBAAiB,EACjBc,iBAAiB,EACjBC,eAAe,CAEnB,CAAC;EACD,MAAMY,OAAO,GAAGhG,gBAAgB,CAACyF,aAAa,CAAC;EAE/CjG,SAAS,CAAC,MAAM;IACd;IACA;IACA;IACA;IACA;IACA,MAAMyG,iBAAiB,GAAG3C,eAAe,CAAC4C,SAAS,CAAC,MAAM;MACxDxC,eAAe,CAAC,CAAC;IACnB,CAAC,CAAC;IACF,OAAO,MAAM;MACXuC,iBAAiB,CAAC,CAAC;MACnB;MACA;MACA;MACA;MACAvC,eAAe,CAAC,CAAC;MACjBE,eAAe,CAAC;QAAE9B,UAAU,EAAE,CAAC,CAAC;QAAE+B,MAAM,EAAE;MAAM,CAAC,CAAC;MAClD,IAAIhB,IAAI,CAACsD,MAAM,KAAK,UAAU,EAAE;QAC9B5C,OAAO,CAAC6C,MAAM,CAAC,CAAC;MAClB;MACA3E,cAAc,CAACJ,KAAK,GAAGV,2BAA2B,CAACwC,iBAAiB,CAAC;MACrEI,OAAO,CAAC8C,OAAO,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EAAE,CACD9C,OAAO,EACPG,eAAe,EACfjC,cAAc,EACdoB,IAAI,EACJjB,WAAW,EACXuB,iBAAiB,EACjBG,eAAe,CAChB,CAAC;EAEF,oBACEvC,IAAA,CAACjB,eAAe;IAACkG,OAAO,EAAEA,OAAQ;IAAAM,QAAA,eAChCvF,IAAA,CAAClB,IAAI;MAAC0G,KAAK,EAAE3G,UAAU,CAAC4G,YAAa;MAAAF,QAAA,EAClC3C,YAAY,CAACE,MAAM,IAAIF,YAAY,CAAC7B,UAAU,KAAKA,UAAU,gBAC5Df,IAAA,CAACS,oBAAoB;QACnBC,cAAc,EAAEA,cAAe;QAC/BC,gBAAgB,EAAEA,gBAAiB;QACnCC,eAAe,EAAEA,eAAgB;QACjCC,WAAW,EAAEA,WAAY;QACzBC,UAAU,EAAEA,UAAW;QACvBC,UAAU,EAAEA;MAAW,CACxB,CAAC,GACA;IAAI,CACJ;EAAC,CACQ,CAAC;AAEtB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useContext","useEffect","useMemo","useRef","useState","StyleSheet","View","GestureDetector","GestureStateManager","useManualGesture","useFrameCallback","useSharedValue","scheduleOnRN","GameCameraContext","GameViewportContext","canBeginPrimaryPointer","cancelOnActiveFinalize","deactivateAfterUp","reduceSamplerMirrorState","samplerMirrorFromBatch","isBeginAllowed","createPointerCoalescerState","reducePointerCoalescer","packetCameraFor","PointerBinding","jsx","_jsx","nextBindingGeneration","advanceSharedCoalescer","sharedState","input","transition","value","state","events","TrailingFlushSampler","coalescerState","forwardEventOnJS","instrumentation","layoutEpoch","forwardSeq","generation","camera","instrumentationRef","current","onSamplerChanged","batch","kind","nowMs","Date","now","forwarded","onForwarded","pointerId","seq","atMs","GamePointerInput","game","action","viewportContext","Error","cameraContext","presentedCamera","presented","viewportShared","viewport","maxMoveIntervalMs","getRenderFrame","stepMs","viewportBinding","binding","resolved","cameraShared","layoutEpochRef","bumpLayoutEpoch","samplerState","setSamplerState","active","reportSamplerState","next","previous","status","subscription","addStatusListener","remove","packet","onDispatchResult","onDispatchRejected","accepted","dispatch","handleTouchesDown","event","touch","changedTouches","undefined","onRawTouch","id","numberOfTouches","x","y","fail","handlerTag","nextActive","activate","handleTouchesMove","stamp","captured","handleTouchesUp","mirror","deactivate","handleTouchesCancel","handleFinalize","gestureConfig","shouldCancelWhenOutside","onTouchesDown","onTouchesMove","onTouchesUp","onTouchesCancel","onFinalize","gesture","unsubscribeLayout","subscribe","cancel","dispose","children","style","absoluteFill"],"sourceRoot":"../../../src","sources":["react/GamePointerInput.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACrF,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACEC,eAAe,EACfC,mBAAmB,EACnBC,gBAAgB,QAEX,8BAA8B;AACrC,SAASC,gBAAgB,EAAEC,cAAc,QAA0B,yBAAyB;AAC5F,SAASC,YAAY,QAAQ,uBAAuB;AAKpD,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ,eAAY;AACnE,SACEC,sBAAsB,EACtBC,sBAAsB,EACtBC,iBAAiB,EACjBC,wBAAwB,EACxBC,sBAAsB,QAEjB,uBAAoB;AAE3B,SAASC,cAAc,QAAQ,yBAAsB;AACrD,SACEC,2BAA2B,EAC3BC,sBAAsB,QAIjB,uBAAoB;AAC3B,SAASC,eAAe,QAAqC,oBAAiB;AAC9E,SAASC,cAAc,QAA4B,qBAAkB;;AAErE;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAKA;AACA,IAAIC,qBAAqB,GAAG,CAAC;;AAK7B;;AAUA,SAASC,sBAAsBA,CAC7BC,WAA+C,EAC/CC,KAA4B,EACM;EAClC,SAAS;;EACT,MAAMC,UAAU,GAAGT,sBAAsB,CAACO,WAAW,CAACG,KAAK,EAAEF,KAAK,CAAC;EACnED,WAAW,CAACG,KAAK,GAAGD,UAAU,CAACE,KAAK;EACpC,OAAOF,UAAU,CAACG,MAAM;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,oBAAoBA,CAAC;EAC5BC,cAAc;EACdC,gBAAgB;EAChBC,eAAe;EACfC,WAAW;EACXC,UAAU;EACVC,UAAU;EACVC;AAUF,CAAC,EAAE;EACD;EACA;EACA;EACA,MAAMC,kBAAkB,GAAGxC,MAAM,CAACmC,eAAe,CAAC;EAClDrC,SAAS,CAAC,MAAM;IACd0C,kBAAkB,CAACC,OAAO,EAAEC,gBAAgB,GAAG,IAAI,CAAC;IACpD,OAAO,MAAM;MACXF,kBAAkB,CAACC,OAAO,EAAEC,gBAAgB,GAAG,KAAK,CAAC;IACvD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENnC,gBAAgB,CAAC,MAAM;IACrB,SAAS;;IACT,MAAMoC,KAAK,GAAGlB,sBAAsB,CAACQ,cAAc,EAAE;MACnDW,IAAI,EAAE,OAAO;MACbC,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;MAC7BR,eAAe,EAAEc,WAAW,GAC1BD,SAAS,CAACJ,IAAI,EACd,WAAW,IAAII,SAAS,GAAGA,SAAS,CAACE,SAAS,GAAG,CAAC,CAAC,EACnDJ,IAAI,CAACC,GAAG,CAAC,CACX,CAAC;MACDV,UAAU,CAACR,KAAK,IAAI,CAAC;MACrBpB,YAAY,CAACyB,gBAAgB,EAAE;QAC7B,GAAGc,SAAS;QACZV,UAAU;QACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;QAC9BsB,GAAG,EAAEd,UAAU,CAACR,KAAK;QACrBuB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC,CAAC;QAChB;QACA;QACA;QACAR,MAAM,EAAEnB,eAAe,CAAC4B,SAAS,EAAET,MAAM,EAAEV,KAAK;MAClD,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EACF,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASwB,gBAAgBA,CAAoD;EAClFC,IAAI;EACJC,MAAM;EACNpB;AACsC,CAAC,EAAE;EACzC,MAAMqB,eAAe,GAAG3D,UAAU,CAACc,mBAAmB,CAAC;EAEvD,IAAI6C,eAAe,KAAK,IAAI,EAAE;IAC5B,MAAM,IAAIC,KAAK,CAAC,qDAAqD,CAAC;EACxE;EACA;EACA;EACA;EACA,MAAMC,aAAa,GAAG7D,UAAU,CAACa,iBAAiB,CAAC;EACnD,MAAMiD,eAAe,GAAGD,aAAa,EAAEE,SAAS;EAChD,MAAMC,cAAc,GAAGL,eAAe,CAACM,QAAQ;EAC/C,MAAMC,iBAAiB,GAAGT,IAAI,CAACU,cAAc,CAAC,CAAC,CAACC,MAAM;EACtD,MAAMhC,cAAc,GAAGzB,cAAc,CAAwB,MAC3DU,2BAA2B,CAAC6C,iBAAiB,CAC/C,CAAC;EACD,MAAMG,eAAe,GAAGV,eAAe,CAACW,OAAO;EAC/C;EACA;EACA;EACA;EACA;EACA;EACA,MAAMA,OAAO,GAAGpE,OAAO,CACrB,MACE,IAAIsB,cAAc,CAChBkC,MAAM,EACND,IAAI,CAAC3B,KAAK,EACV,MAAMuC,eAAe,CAACE,QAAQ,EAC9B5C,qBAAqB,EACvB,CAAC,EACH,CAAC+B,MAAM,EAAED,IAAI,EAAEY,eAAe,CAChC,CAAC;EACD;EACA;EACA;EACA,MAAMG,YAAY,GAAGV,eAAe;EACpC,MAAMrB,UAAU,GAAG6B,OAAO,CAAC7B,UAAU;EACrC;EACA;EACA;EACA,MAAMgC,cAAc,GAAGtE,MAAM,CAAC,CAAC,CAAC;EAChC,MAAMoC,WAAW,GAAG5B,cAAc,CAAC,CAAC,CAAC;EACrC,MAAM+D,eAAe,GAAG3E,WAAW,CAAC,MAAM;IACxC0E,cAAc,CAAC7B,OAAO,IAAI,CAAC;IAC3BL,WAAW,CAACP,KAAK,GAAGyC,cAAc,CAAC7B,OAAO;EAC5C,CAAC,EAAE,CAACL,WAAW,CAAC,CAAC;EACjB;EACA;EACA,MAAMC,UAAU,GAAG7B,cAAc,CAAC,CAAC,CAAC;;EAEpC;EACA;EACA;EACA;EACA,MAAM,CAACgE,YAAY,EAAEC,eAAe,CAAC,GAAGxE,QAAQ,CAAqB;IACnEqC,UAAU,EAAE,CAAC,CAAC;IACdoC,MAAM,EAAE;EACV,CAAC,CAAC;EACF,MAAMC,kBAAkB,GAAG/E,WAAW,CACnCgF,IAAwB,IAAK;IAC5BH,eAAe,CAAEI,QAAQ,IACvB9D,wBAAwB,CAACuB,UAAU,EAAEuC,QAAQ,EAAED,IAAI,CACrD,CAAC;EACH,CAAC,EACD,CAACtC,UAAU,CACb,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAxC,SAAS,CAAC,MAAM;IACd,IAAIwD,IAAI,CAACwB,MAAM,KAAK,UAAU,EAAE;MAC9B;IACF;IACA,MAAMC,YAAY,GAAGzB,IAAI,CAAC0B,iBAAiB,CAAEF,MAAM,IAAK;MACtD,IAAIA,MAAM,KAAK,QAAQ,EAAE;QACvB7C,cAAc,CAACJ,KAAK,GAAGX,2BAA2B,CAAC6C,iBAAiB,CAAC;QACrEQ,eAAe,CAAC,CAAC;QACjBE,eAAe,CAAEI,QAAQ,IACvB9D,wBAAwB,CAACuB,UAAU,EAAEuC,QAAQ,EAAE;UAAEvC,UAAU;UAAEoC,MAAM,EAAE;QAAM,CAAC,CAC9E,CAAC;MACH;IACF,CAAC,CAAC;IACF,OAAO,MAAM;MACXK,YAAY,CAACE,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACV,eAAe,EAAEtC,cAAc,EAAEqB,IAAI,EAAEhB,UAAU,EAAEyB,iBAAiB,CAAC,CAAC;;EAExE;EACF;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA,MAAM7B,gBAAgB,GAAGtC,WAAW,CACjCsF,MAAqB,IAAK;IACzB;IACA;IACA,IAAIA,MAAM,CAAC9C,WAAW,KAAKkC,cAAc,CAAC7B,OAAO,EAAE;MACjDN,eAAe,EAAEgD,gBAAgB,GAAGD,MAAM,CAAC/B,GAAG,EAAE+B,MAAM,CAAC9B,IAAI,EAAE,KAAK,CAAC;MACnEjB,eAAe,EAAEiD,kBAAkB,GAAG,cAAc,EAAEF,MAAM,CAAC/B,GAAG,EAAE+B,MAAM,CAAC9B,IAAI,CAAC;MAC9E;IACF;IACA,MAAMiC,QAAQ,GAAGlB,OAAO,CAACmB,QAAQ,CAACJ,MAAM,CAAC;IACzC/C,eAAe,EAAEgD,gBAAgB,GAAGD,MAAM,CAAC/B,GAAG,EAAE+B,MAAM,CAAC9B,IAAI,EAAEiC,QAAQ,CAAC;IACtE,IAAI,CAACA,QAAQ,EAAE;MACblD,eAAe,EAAEiD,kBAAkB,GAAG,SAAS,EAAEF,MAAM,CAAC/B,GAAG,EAAE+B,MAAM,CAAC9B,IAAI,CAAC;IAC3E;EACF,CAAC,EACD,CAACe,OAAO,EAAEhC,eAAe,CAC3B,CAAC;EAED,MAAMoD,iBAAiB,GAAG3F,WAAW,CAClC4F,KAAK,IAAK;IACT,SAAS;;IACT,MAAMC,KAAK,GAAGD,KAAK,CAACE,cAAc,CAAC,CAAC,CAAC;IACrC,IAAID,KAAK,KAAKE,SAAS,EAAE;MACvB;IACF;IACAxD,eAAe,EAAEyD,UAAU,GAAG,MAAM,EAAEH,KAAK,CAACI,EAAE,EAAE/C,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;IAC3D;IACA;IACA;IACA,IAAI,CAACnC,sBAAsB,CAAC4E,KAAK,CAACM,eAAe,CAAC,EAAE;MAClD;IACF;IACA;IACA;IACA,IAAI,CAAC7E,cAAc,CAAC4C,cAAc,CAAChC,KAAK,EAAE4D,KAAK,CAACM,CAAC,EAAEN,KAAK,CAACO,CAAC,CAAC,EAAE;MAC3D3F,mBAAmB,CAAC4F,IAAI,CAACT,KAAK,CAACU,UAAU,CAAC;MAC1C;IACF;IACA,MAAMvD,KAAK,GAAGlB,sBAAsB,CAACQ,cAAc,EAAE;MACnDW,IAAI,EAAE,MAAM;MACZM,SAAS,EAAEuC,KAAK,CAACI,EAAE;MACnBE,CAAC,EAAEN,KAAK,CAACM,CAAC;MACVC,CAAC,EAAEP,KAAK,CAACO,CAAC;MACVnD,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;MAC7BR,eAAe,EAAEc,WAAW,GAC1BD,SAAS,CAACJ,IAAI,EACd,WAAW,IAAII,SAAS,GAAGA,SAAS,CAACE,SAAS,GAAG,CAAC,CAAC,EACnDJ,IAAI,CAACC,GAAG,CAAC,CACX,CAAC;MACDV,UAAU,CAACR,KAAK,IAAI,CAAC;MACrBpB,YAAY,CAACyB,gBAAgB,EAAE;QAC7B,GAAGc,SAAS;QACZV,UAAU;QACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;QAC9BsB,GAAG,EAAEd,UAAU,CAACR,KAAK;QACrBuB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC,CAAC;QAChBR,MAAM,EAAE8B,YAAY,EAAExC;MACxB,CAAC,CAAC;IACJ;IACA,MAAMsE,UAAU,GAAGnF,sBAAsB,CAAC2B,KAAK,CAAC;IAChD,IAAIwD,UAAU,KAAKR,SAAS,EAAE;MAC5BlF,YAAY,CAACkE,kBAAkB,EAAE;QAAErC,UAAU;QAAEoC,MAAM,EAAEyB;MAAW,CAAC,CAAC;IACtE;IACA9F,mBAAmB,CAAC+F,QAAQ,CAACZ,KAAK,CAACU,UAAU,CAAC;EAChD,CAAC,EACD,CAAC7B,YAAY,EAAEpC,cAAc,EAAEC,gBAAgB,EAAEI,UAAU,EAAEH,eAAe,EAAEC,WAAW,EAAEuC,kBAAkB,EAAEd,cAAc,CAC/H,CAAC;EAED,MAAMwC,iBAAiB,GAAGzG,WAAW,CAClC4F,KAAK,IAAK;IACT,SAAS;;IACT,KAAK,MAAMC,KAAK,IAAID,KAAK,CAACE,cAAc,EAAE;MACxCvD,eAAe,EAAEyD,UAAU,GAAG,MAAM,EAAEH,KAAK,CAACI,EAAE,EAAE/C,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MAC3D,MAAMJ,KAAK,GAAGlB,sBAAsB,CAACQ,cAAc,EAAE;QACnDW,IAAI,EAAE,MAAM;QACZM,SAAS,EAAEuC,KAAK,CAACI,EAAE;QACnBE,CAAC,EAAEN,KAAK,CAACM,CAAC;QACVC,CAAC,EAAEP,KAAK,CAACO,CAAC;QACVnD,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;QACjBuD,KAAK,EAAE;UAAEC,QAAQ,EAAE,IAAI;UAAE1E,KAAK,EAAEwC,YAAY,EAAExC;QAAM;MACtD,CAAC,CAAC;MACF,KAAK,MAAMmB,SAAS,IAAIL,KAAK,EAAE;QAC7BR,eAAe,EAAEc,WAAW,GAC1BD,SAAS,CAACJ,IAAI,EACd,WAAW,IAAII,SAAS,GAAGA,SAAS,CAACE,SAAS,GAAG,CAAC,CAAC,EACnDJ,IAAI,CAACC,GAAG,CAAC,CACX,CAAC;QACDV,UAAU,CAACR,KAAK,IAAI,CAAC;QACvBpB,YAAY,CAACyB,gBAAgB,EAAE;UAC7B,GAAGc,SAAS;UACZV,UAAU;UACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;UAC9BsB,GAAG,EAAEd,UAAU,CAACR,KAAK;UACrBuB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC,CAAC;UAChBR,MAAM,EAAEnB,eAAe,CAAC4B,SAAS,EAAEqB,YAAY,EAAExC,KAAK;QACxD,CAAC,CAAC;MACF;IACF;EACF,CAAC,EACD,CAACwC,YAAY,EAAEpC,cAAc,EAAEC,gBAAgB,EAAEI,UAAU,EAAEH,eAAe,EAAEC,WAAW,CAC3F,CAAC;EAED,MAAMoE,eAAe,GAAG5G,WAAW,CAChC4F,KAAK,IAAK;IACT,SAAS;;IACT,IAAIW,UAA+B;IACnC,KAAK,MAAMV,KAAK,IAAID,KAAK,CAACE,cAAc,EAAE;MACxCvD,eAAe,EAAEyD,UAAU,GAAG,IAAI,EAAEH,KAAK,CAACI,EAAE,EAAE/C,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MACzD,MAAMJ,KAAK,GAAGlB,sBAAsB,CAACQ,cAAc,EAAE;QACnDW,IAAI,EAAE,IAAI;QACVM,SAAS,EAAEuC,KAAK,CAACI,EAAE;QACnBE,CAAC,EAAEN,KAAK,CAACM,CAAC;QACVC,CAAC,EAAEP,KAAK,CAACO,CAAC;QACVnD,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;MAClB,CAAC,CAAC;MACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;QAC7BR,eAAe,EAAEc,WAAW,GAC1BD,SAAS,CAACJ,IAAI,EACd,WAAW,IAAII,SAAS,GAAGA,SAAS,CAACE,SAAS,GAAG,CAAC,CAAC,EACnDJ,IAAI,CAACC,GAAG,CAAC,CACX,CAAC;QACDV,UAAU,CAACR,KAAK,IAAI,CAAC;QACvBpB,YAAY,CAACyB,gBAAgB,EAAE;UAC7B,GAAGc,SAAS;UACZV,UAAU;UACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;UAC9BsB,GAAG,EAAEd,UAAU,CAACR,KAAK;UACrBuB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC,CAAC;UAChBR,MAAM,EAAEnB,eAAe,CAAC4B,SAAS,EAAEqB,YAAY,EAAExC,KAAK;QACxD,CAAC,CAAC;MACF;MACA,MAAM4E,MAAM,GAAGzF,sBAAsB,CAAC2B,KAAK,CAAC;MAC5C,IAAI8D,MAAM,KAAKd,SAAS,EAAE;QACxBQ,UAAU,GAAGM,MAAM;MACrB;IACF;IACA,IAAIN,UAAU,KAAKR,SAAS,EAAE;MAC5BlF,YAAY,CAACkE,kBAAkB,EAAE;QAAErC,UAAU;QAAEoC,MAAM,EAAEyB;MAAW,CAAC,CAAC;IACtE;IACA,IAAIrF,iBAAiB,CAAC0E,KAAK,CAACM,eAAe,CAAC,EAAE;MAC5CzF,mBAAmB,CAACqG,UAAU,CAAClB,KAAK,CAACU,UAAU,CAAC;IAClD;EACF,CAAC,EACD,CAAC7B,YAAY,EAAEpC,cAAc,EAAEC,gBAAgB,EAAEI,UAAU,EAAEH,eAAe,EAAEC,WAAW,EAAEuC,kBAAkB,CAC/G,CAAC;EAED,MAAMgC,mBAAmB,GAAG/G,WAAW,CACrC,MAAM;IACJ,SAAS;;IACTuC,eAAe,EAAEyD,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE9C,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;IACvD,MAAMJ,KAAK,GAAGlB,sBAAsB,CAACQ,cAAc,EAAE;MACnDW,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;MAC7BR,eAAe,EAAEc,WAAW,GAAGD,SAAS,CAACJ,IAAI,EAAE,CAAC,CAAC,EAAEE,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MAC9DV,UAAU,CAACR,KAAK,IAAI,CAAC;MACrBpB,YAAY,CAACyB,gBAAgB,EAAE;QAC7B,GAAGc,SAAS;QACZV,UAAU;QACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;QAC9BsB,GAAG,EAAEd,UAAU,CAACR,KAAK;QACrBuB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC,CAAC;QAChBR,MAAM,EAAE8B,YAAY,EAAExC;MACxB,CAAC,CAAC;IACJ;IACA,MAAMsE,UAAU,GAAGnF,sBAAsB,CAAC2B,KAAK,CAAC;IAChD,IAAIwD,UAAU,KAAKR,SAAS,EAAE;MAC5BlF,YAAY,CAACkE,kBAAkB,EAAE;QAAErC,UAAU;QAAEoC,MAAM,EAAEyB;MAAW,CAAC,CAAC;IACtE;EACF,CAAC,EACD,CAAC9B,YAAY,EAAEpC,cAAc,EAAEC,gBAAgB,EAAEI,UAAU,EAAEH,eAAe,EAAEC,WAAW,EAAEuC,kBAAkB,CAC/G,CAAC;EAED,MAAMiC,cAAc,GAAGhH,WAAW,CAChC,MAAM;IACJ,SAAS;;IACT,IAAI,CAACiB,sBAAsB,CAACoB,cAAc,CAACJ,KAAK,CAAC6C,MAAM,EAAExB,SAAS,CAAC,EAAE;MACnE;IACF;IACAf,eAAe,EAAEyD,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE9C,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;IACvD,MAAMJ,KAAK,GAAGlB,sBAAsB,CAACQ,cAAc,EAAE;MACnDW,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC;IAClB,CAAC,CAAC;IACF,KAAK,MAAMC,SAAS,IAAIL,KAAK,EAAE;MAC7BR,eAAe,EAAEc,WAAW,GAAGD,SAAS,CAACJ,IAAI,EAAE,CAAC,CAAC,EAAEE,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;MAC9DV,UAAU,CAACR,KAAK,IAAI,CAAC;MACrBpB,YAAY,CAACyB,gBAAgB,EAAE;QAC7B,GAAGc,SAAS;QACZV,UAAU;QACVF,WAAW,EAAEA,WAAW,CAACP,KAAK;QAC9BsB,GAAG,EAAEd,UAAU,CAACR,KAAK;QACrBuB,IAAI,EAAEN,IAAI,CAACC,GAAG,CAAC,CAAC;QAChBR,MAAM,EAAE8B,YAAY,EAAExC;MACxB,CAAC,CAAC;IACJ;IACA,MAAMsE,UAAU,GAAGnF,sBAAsB,CAAC2B,KAAK,CAAC;IAChD,IAAIwD,UAAU,KAAKR,SAAS,EAAE;MAC5BlF,YAAY,CAACkE,kBAAkB,EAAE;QAAErC,UAAU;QAAEoC,MAAM,EAAEyB;MAAW,CAAC,CAAC;IACtE;EACF,CAAC,EACD,CAAClE,cAAc,EAAEC,gBAAgB,EAAEI,UAAU,EAAEH,eAAe,EAAEC,WAAW,EAAEuC,kBAAkB,CACjG,CAAC;;EAED;EACA;EACA;EACA,MAAMkC,aAAa,GAAG9G,OAAO,CAC3B,OAAO;IACL+G,uBAAuB,EAAE,KAAK;IAC9BC,aAAa,EAAExB,iBAAiB;IAChCyB,aAAa,EAAEX,iBAAiB;IAChCY,WAAW,EAAET,eAAe;IAC5BU,eAAe,EAAEP,mBAAmB;IACpCQ,UAAU,EAAEP;EACd,CAAC,CAAC,EACF,CACEA,cAAc,EACdD,mBAAmB,EACnBpB,iBAAiB,EACjBc,iBAAiB,EACjBG,eAAe,CAEnB,CAAC;EACD,MAAMY,OAAO,GAAG9G,gBAAgB,CAACuG,aAAa,CAAC;EAE/C/G,SAAS,CAAC,MAAM;IACd;IACA;IACA;IACA;IACA;IACA,MAAMuH,iBAAiB,GAAGnD,eAAe,CAACoD,SAAS,CAAC,MAAM;MACxD/C,eAAe,CAAC,CAAC;IACnB,CAAC,CAAC;IACF,OAAO,MAAM;MACX8C,iBAAiB,CAAC,CAAC;MACnB;MACA;MACA;MACA;MACA;MACA;MACA9C,eAAe,CAAC,CAAC;MACjBE,eAAe,CAAEI,QAAQ,IACvBA,QAAQ,CAACH,MAAM,GAAG;QAAEpC,UAAU,EAAE,CAAC,CAAC;QAAEoC,MAAM,EAAE;MAAM,CAAC,GAAGG,QACxD,CAAC;MACD,IAAIvB,IAAI,CAACwB,MAAM,KAAK,UAAU,EAAE;QAC9BX,OAAO,CAACoD,MAAM,CAAC,CAAC;MAClB;MACAtF,cAAc,CAACJ,KAAK,GAAGX,2BAA2B,CAAC6C,iBAAiB,CAAC;MACrEI,OAAO,CAACqD,OAAO,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EAAE,CACDrD,OAAO,EACPI,eAAe,EACftC,cAAc,EACdqB,IAAI,EACJlB,WAAW,EACX2B,iBAAiB,EACjBG,eAAe,CAChB,CAAC;EAEF,oBACE3C,IAAA,CAACnB,eAAe;IAACgH,OAAO,EAAEA,OAAQ;IAAAK,QAAA,eAChClG,IAAA,CAACpB,IAAI;MAACuH,KAAK,EAAExH,UAAU,CAACyH,YAAa;MAAAF,QAAA,EAClCjD,YAAY,CAACE,MAAM,IAAIF,YAAY,CAAClC,UAAU,KAAKA,UAAU,gBAC5Df,IAAA,CAACS,oBAAoB;QACnBC,cAAc,EAAEA,cAAe;QAC/BC,gBAAgB,EAAEA,gBAAiB;QACnCC,eAAe,EAAEA,eAAgB;QACjCC,WAAW,EAAEA,WAAY;QACzBC,UAAU,EAAEA,UAAW;QACvBC,UAAU,EAAEA,UAAW;QACvBC,MAAM,EAAE8B;MAAa,CACtB,CAAC,GACA;IAAI,CACJ;EAAC,CACQ,CAAC;AAEtB","ignoreList":[]}
|
|
@@ -6,8 +6,11 @@ import { AppState, StyleSheet, View } from 'react-native';
|
|
|
6
6
|
import { useFrameCallback, useSharedValue } from 'react-native-reanimated';
|
|
7
7
|
import { scheduleOnRN } from 'react-native-worklets';
|
|
8
8
|
import { advanceAlpha } from "./alphaClock.js";
|
|
9
|
+
import { usePresentedCameraBinding } from "./camera2d/usePresentedCameraBinding.js";
|
|
9
10
|
import { bindAppLifecycle } from "./bindAppLifecycle.js";
|
|
10
11
|
import { bindGameSession } from "./bindGameSession.js";
|
|
12
|
+
import { createCleanupList } from "./cleanupList.js";
|
|
13
|
+
import { createGameLifecycleSource, GameLifecycleProvider } from "./lifecycleSource.js";
|
|
11
14
|
import { bindingForViewport } from "./viewportBinding.js";
|
|
12
15
|
|
|
13
16
|
/** Stable imperative values supplied to a Skia renderer component. */
|
|
@@ -25,6 +28,16 @@ import { bindingForViewport } from "./viewportBinding.js";
|
|
|
25
28
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
26
29
|
export const GameViewportContext = /*#__PURE__*/createContext(null);
|
|
27
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Context supplying the presented camera to pointer input children.
|
|
33
|
+
*
|
|
34
|
+
* The shared value is owned by `GameView` (fed by the per-session
|
|
35
|
+
* presentation), so renderer and pointer adapter observe the same camera
|
|
36
|
+
* generation. `undefined` when the game has no camera.
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
export const GameCameraContext = /*#__PURE__*/createContext(null);
|
|
40
|
+
|
|
28
41
|
/**
|
|
29
42
|
* Mount a headless GameSession into a Skia canvas.
|
|
30
43
|
*
|
|
@@ -51,12 +64,19 @@ function GamePresentation({
|
|
|
51
64
|
assets,
|
|
52
65
|
renderer,
|
|
53
66
|
viewportValue,
|
|
54
|
-
instrumentationRef
|
|
67
|
+
instrumentationRef,
|
|
68
|
+
instrumentation,
|
|
69
|
+
cameraDefinition,
|
|
70
|
+
presentedCamera
|
|
55
71
|
}) {
|
|
56
72
|
const Renderer = renderer;
|
|
57
73
|
const frame = useSharedValue(() => game.getRenderFrame());
|
|
58
74
|
const alpha = useSharedValue(0);
|
|
59
|
-
const
|
|
75
|
+
const cameraBinding = usePresentedCameraBinding(cameraDefinition, presentedCamera);
|
|
76
|
+
// T10.6: the presentation gate mirrors CORE status, not callback-local
|
|
77
|
+
// state — a direct session.pause() freezes presentation too. Idle holds
|
|
78
|
+
// until the binding starts the session.
|
|
79
|
+
const running = useSharedValue(game.status === 'running');
|
|
60
80
|
// Binding epoch: bumped per (re)subscription so a replacement session whose
|
|
61
81
|
// revision restarts at zero is still accepted by the UI clock.
|
|
62
82
|
const epoch = useSharedValue(0);
|
|
@@ -66,35 +86,67 @@ function GamePresentation({
|
|
|
66
86
|
// report the FIRST UI frame that saw a new commit.
|
|
67
87
|
const observedRevision = useSharedValue(-1);
|
|
68
88
|
const observedEpoch = useSharedValue(-1);
|
|
89
|
+
// GS-REACT-01: mirror whether the UI-observation diagnostic is enabled so
|
|
90
|
+
// the frame callback branches BEFORE timestamp reads and RN scheduling.
|
|
91
|
+
// Updated alongside the ref (same effect), never read during render.
|
|
92
|
+
const instrumentationEnabled = useSharedValue(instrumentation?.onUiRevisionObserved !== undefined);
|
|
93
|
+
|
|
94
|
+
// GS-REACT-01: the ref and the UI-side enabled mirror update together so
|
|
95
|
+
// replacing instrumentation never restarts the session and the frame
|
|
96
|
+
// callback can branch before any timestamp read or RN scheduling.
|
|
69
97
|
useEffect(() => {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
98
|
+
instrumentationRef.current = instrumentation;
|
|
99
|
+
instrumentationEnabled.value = instrumentation?.onUiRevisionObserved !== undefined;
|
|
100
|
+
}, [instrumentation, instrumentationEnabled, instrumentationRef]);
|
|
101
|
+
useEffect(() => {
|
|
102
|
+
// GS-REACT-02: the mount wiring is one transaction. Every acquired
|
|
103
|
+
// subscription registers its release as it completes, so a failing
|
|
104
|
+
// stage unwinds everything before it; unmount releases all stages in
|
|
105
|
+
// reverse order without stopping at the first failure.
|
|
106
|
+
const cleanups = createCleanupList();
|
|
107
|
+
try {
|
|
108
|
+
epoch.value += 1;
|
|
109
|
+
// RF6: the frame is seeded at mount from this session; the keyed remount
|
|
110
|
+
// guarantees the renderer below never reads the previous session's frame.
|
|
111
|
+
frame.value = game.getRenderFrame();
|
|
112
|
+
// T10.6: subscribe to core status BEFORE the mount-time start, so the
|
|
113
|
+
// idle -> running transition cannot be missed and every lifecycle change
|
|
114
|
+
// (manual pause, app background, error path) drives the same mirror.
|
|
115
|
+
running.value = game.status === 'running';
|
|
116
|
+
const statusSubscription = game.addStatusListener(status => {
|
|
117
|
+
running.value = status === 'running';
|
|
118
|
+
});
|
|
119
|
+
cleanups.add(() => statusSubscription.remove());
|
|
120
|
+
const cleanupBinding = bindGameSession(game, nextFrame => {
|
|
121
|
+
frame.value = nextFrame;
|
|
122
|
+
cameraBinding.commit(nextFrame);
|
|
123
|
+
instrumentationRef.current?.onPresentCommit?.(nextFrame.revision, Date.now());
|
|
124
|
+
});
|
|
125
|
+
cleanups.add(cleanupBinding);
|
|
126
|
+
const cleanupLifecycle = bindAppLifecycle(AppState, {
|
|
127
|
+
getStatus: () => game.status,
|
|
128
|
+
pause: () => {
|
|
129
|
+
if (game.status !== 'disposed') {
|
|
130
|
+
game.pause();
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
resume: () => {
|
|
134
|
+
if (game.status !== 'disposed') {
|
|
135
|
+
game.start();
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
addStatusListener: listener => game.addStatusListener(listener)
|
|
139
|
+
});
|
|
140
|
+
cleanups.add(cleanupLifecycle);
|
|
141
|
+
cleanups.add(() => cameraBinding.dispose());
|
|
142
|
+
} catch (error) {
|
|
143
|
+
cleanups.releaseAll();
|
|
144
|
+
throw error;
|
|
145
|
+
}
|
|
93
146
|
return () => {
|
|
94
|
-
|
|
95
|
-
cleanupBinding();
|
|
147
|
+
cleanups.releaseAll();
|
|
96
148
|
};
|
|
97
|
-
}, [epoch, frame, game, running]);
|
|
149
|
+
}, [cameraBinding, epoch, frame, game, running]);
|
|
98
150
|
|
|
99
151
|
// F1: the first UI frame that sees a new commit revision is reported back
|
|
100
152
|
// to the RN runtime through scheduleOnRN — never by calling the JS hook
|
|
@@ -115,7 +167,12 @@ function GamePresentation({
|
|
|
115
167
|
if (observedEpoch.value !== epoch.value || observedRevision.value !== envelope.revision) {
|
|
116
168
|
observedEpoch.value = epoch.value;
|
|
117
169
|
observedRevision.value = envelope.revision;
|
|
118
|
-
|
|
170
|
+
// GS-REACT-01: without an enabled observer there is no timestamp
|
|
171
|
+
// read and no RN scheduling — the disabled path performs no timing
|
|
172
|
+
// reads, packet creation, or cross-runtime calls.
|
|
173
|
+
if (instrumentationEnabled.value) {
|
|
174
|
+
scheduleOnRN(reportUiObserved, envelope.revision, Date.now());
|
|
175
|
+
}
|
|
119
176
|
}
|
|
120
177
|
const previousState = {
|
|
121
178
|
epoch: clockEpoch.value,
|
|
@@ -130,11 +187,15 @@ function GamePresentation({
|
|
|
130
187
|
clockEpoch.value = nextState.epoch;
|
|
131
188
|
clockRevision.value = nextState.revision;
|
|
132
189
|
alpha.value = nextState.alpha;
|
|
190
|
+
cameraBinding.present(alpha.value);
|
|
133
191
|
});
|
|
134
192
|
return /*#__PURE__*/_jsx(Renderer, {
|
|
135
193
|
frame: frame,
|
|
136
194
|
alpha: alpha,
|
|
137
195
|
viewport: viewportValue,
|
|
196
|
+
...(cameraDefinition === undefined ? {} : {
|
|
197
|
+
camera: presentedCamera
|
|
198
|
+
}),
|
|
138
199
|
...(assets === undefined ? {} : {
|
|
139
200
|
assets
|
|
140
201
|
})
|
|
@@ -163,9 +224,14 @@ export function GameView({
|
|
|
163
224
|
renderer: Renderer,
|
|
164
225
|
children,
|
|
165
226
|
style,
|
|
166
|
-
instrumentation
|
|
227
|
+
instrumentation,
|
|
228
|
+
camera2D
|
|
167
229
|
}) {
|
|
168
230
|
const instrumentationRef = useRef(instrumentation);
|
|
231
|
+
// T12.3: GameView owns the presented camera shared value so renderer and
|
|
232
|
+
// pointer adapter observe the same generation. Camera movement writes
|
|
233
|
+
// only shared values; React never re-renders for it.
|
|
234
|
+
const presentedCamera = useSharedValue(undefined);
|
|
169
235
|
const bindingRef = useRef(null);
|
|
170
236
|
bindingRef.current = bindingForViewport(game.viewport, bindingRef.current);
|
|
171
237
|
const binding = bindingRef.current;
|
|
@@ -174,9 +240,13 @@ export function GameView({
|
|
|
174
240
|
binding,
|
|
175
241
|
viewport: viewportValue
|
|
176
242
|
}), [binding, viewportValue]);
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}, [
|
|
243
|
+
const cameraContext = useMemo(() => ({
|
|
244
|
+
presented: camera2D === undefined ? undefined : presentedCamera
|
|
245
|
+
}), [camera2D, presentedCamera]);
|
|
246
|
+
// T20.3: one lifecycle source per session — replacement sessions replace
|
|
247
|
+
// the source, so consumers bound to the old generation never observe the
|
|
248
|
+
// new one (the presentation subtree is remounted per session, RF6).
|
|
249
|
+
const lifecycle = useMemo(() => createGameLifecycleSource(game), [game]);
|
|
180
250
|
useEffect(() => {
|
|
181
251
|
viewportValue.value = binding.resolved;
|
|
182
252
|
}, [binding, viewportValue]);
|
|
@@ -185,33 +255,42 @@ export function GameView({
|
|
|
185
255
|
}, [binding]);
|
|
186
256
|
return /*#__PURE__*/_jsx(GameViewportContext.Provider, {
|
|
187
257
|
value: viewportContext,
|
|
188
|
-
children: /*#__PURE__*/
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
258
|
+
children: /*#__PURE__*/_jsx(GameCameraContext.Provider, {
|
|
259
|
+
value: cameraContext,
|
|
260
|
+
children: /*#__PURE__*/_jsx(GameLifecycleProvider, {
|
|
261
|
+
value: lifecycle,
|
|
262
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
263
|
+
style: [styles.surface, style],
|
|
264
|
+
onLayout: event => {
|
|
265
|
+
const {
|
|
266
|
+
width,
|
|
267
|
+
height
|
|
268
|
+
} = event.nativeEvent.layout;
|
|
269
|
+
binding.setSurfaceSize({
|
|
270
|
+
width,
|
|
271
|
+
height
|
|
272
|
+
});
|
|
273
|
+
viewportValue.value = binding.resolved;
|
|
274
|
+
},
|
|
275
|
+
children: [/*#__PURE__*/_jsx(Canvas, {
|
|
276
|
+
style: StyleSheet.absoluteFill,
|
|
277
|
+
children: /*#__PURE__*/_jsx(GamePresentation, {
|
|
278
|
+
game: game,
|
|
279
|
+
assets: assets,
|
|
280
|
+
renderer: Renderer,
|
|
281
|
+
viewportValue: viewportValue,
|
|
282
|
+
instrumentationRef: instrumentationRef,
|
|
283
|
+
instrumentation: instrumentation,
|
|
284
|
+
cameraDefinition: camera2D,
|
|
285
|
+
presentedCamera: presentedCamera
|
|
286
|
+
}, presentationKey ?? sessionPresentationId(game))
|
|
287
|
+
}), children === undefined ? null : /*#__PURE__*/_jsx(View, {
|
|
288
|
+
pointerEvents: "box-none",
|
|
289
|
+
style: StyleSheet.absoluteFill,
|
|
290
|
+
children: children
|
|
291
|
+
})]
|
|
292
|
+
})
|
|
293
|
+
})
|
|
215
294
|
})
|
|
216
295
|
});
|
|
217
296
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Canvas","createContext","useCallback","useEffect","useMemo","useRef","AppState","StyleSheet","View","useFrameCallback","useSharedValue","scheduleOnRN","advanceAlpha","bindAppLifecycle","bindGameSession","bindingForViewport","jsx","_jsx","jsxs","_jsxs","GameViewportContext","GamePresentation","game","assets","renderer","viewportValue","instrumentationRef","Renderer","frame","getRenderFrame","alpha","running","epoch","clockEpoch","clockRevision","observedRevision","observedEpoch","value","cleanupBinding","nextFrame","
|
|
1
|
+
{"version":3,"names":["Canvas","createContext","useCallback","useEffect","useMemo","useRef","AppState","StyleSheet","View","useFrameCallback","useSharedValue","scheduleOnRN","advanceAlpha","usePresentedCameraBinding","bindAppLifecycle","bindGameSession","createCleanupList","createGameLifecycleSource","GameLifecycleProvider","bindingForViewport","jsx","_jsx","jsxs","_jsxs","GameViewportContext","GameCameraContext","GamePresentation","game","assets","renderer","viewportValue","instrumentationRef","instrumentation","cameraDefinition","presentedCamera","Renderer","frame","getRenderFrame","alpha","cameraBinding","running","status","epoch","clockEpoch","clockRevision","observedRevision","observedEpoch","instrumentationEnabled","onUiRevisionObserved","undefined","current","value","cleanups","statusSubscription","addStatusListener","add","remove","cleanupBinding","nextFrame","commit","onPresentCommit","revision","Date","now","cleanupLifecycle","getStatus","pause","resume","start","listener","dispose","error","releaseAll","reportUiObserved","atMs","frameInfo","envelope","previousState","nextState","stepMs","timeSincePreviousFrame","present","viewport","camera","sessionPresentationIds","WeakMap","nextSessionPresentationId","sessionPresentationId","id","get","set","GameView","presentationKey","children","style","camera2D","bindingRef","binding","viewportContext","cameraContext","presented","lifecycle","resolved","Provider","styles","surface","onLayout","event","width","height","nativeEvent","layout","setSurfaceSize","absoluteFill","pointerEvents","create","overflow"],"sourceRoot":"../../../src","sources":["react/GameView.tsx"],"mappings":"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","ignoreList":[]}
|