rn-gamekit 0.1.0 → 0.2.0

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.
Files changed (601) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +95 -14
  3. package/lib/module/assets/defineAssets.js +28 -3
  4. package/lib/module/assets/defineAssets.js.map +1 -1
  5. package/lib/module/assets.js +11 -0
  6. package/lib/module/assets.js.map +1 -0
  7. package/lib/module/audio/createGameAudio.js +784 -0
  8. package/lib/module/audio/createGameAudio.js.map +1 -0
  9. package/lib/module/audio/errors.js +12 -0
  10. package/lib/module/audio/errors.js.map +1 -0
  11. package/lib/module/audio/index.js +5 -0
  12. package/lib/module/audio/index.js.map +1 -0
  13. package/lib/module/audio/resolver.js +37 -0
  14. package/lib/module/audio/resolver.js.map +1 -0
  15. package/lib/module/audio/types.js +4 -0
  16. package/lib/module/audio/types.js.map +1 -0
  17. package/lib/module/audio.js +9 -0
  18. package/lib/module/audio.js.map +1 -0
  19. package/lib/module/camera2d/bounds.js +59 -0
  20. package/lib/module/camera2d/bounds.js.map +1 -0
  21. package/lib/module/camera2d/extents.js +25 -0
  22. package/lib/module/camera2d/extents.js.map +1 -0
  23. package/lib/module/camera2d/follow.js +138 -0
  24. package/lib/module/camera2d/follow.js.map +1 -0
  25. package/lib/module/camera2d/index.js +20 -0
  26. package/lib/module/camera2d/index.js.map +1 -0
  27. package/lib/module/camera2d/interpolation.js +98 -0
  28. package/lib/module/camera2d/interpolation.js.map +1 -0
  29. package/lib/module/camera2d/shake.js +85 -0
  30. package/lib/module/camera2d/shake.js.map +1 -0
  31. package/lib/module/camera2d/transform.js +151 -0
  32. package/lib/module/camera2d/transform.js.map +1 -0
  33. package/lib/module/camera2d/types.js +4 -0
  34. package/lib/module/camera2d/types.js.map +1 -0
  35. package/lib/module/camera2d/validation.js +98 -0
  36. package/lib/module/camera2d/validation.js.map +1 -0
  37. package/lib/module/camera2d/visibility.js +138 -0
  38. package/lib/module/camera2d/visibility.js.map +1 -0
  39. package/lib/module/camera2d.js +9 -0
  40. package/lib/module/camera2d.js.map +1 -0
  41. package/lib/module/collision2d/colliders.js +266 -0
  42. package/lib/module/collision2d/colliders.js.map +1 -0
  43. package/lib/module/collision2d/debug.js +105 -0
  44. package/lib/module/collision2d/debug.js.map +1 -0
  45. package/lib/module/collision2d/filters.js +40 -0
  46. package/lib/module/collision2d/filters.js.map +1 -0
  47. package/lib/module/collision2d/index.js +12 -0
  48. package/lib/module/collision2d/index.js.map +1 -0
  49. package/lib/module/collision2d/intersections.js +67 -0
  50. package/lib/module/collision2d/intersections.js.map +1 -0
  51. package/lib/module/collision2d/manifolds.js +218 -0
  52. package/lib/module/collision2d/manifolds.js.map +1 -0
  53. package/lib/module/collision2d/segments.js +187 -0
  54. package/lib/module/collision2d/segments.js.map +1 -0
  55. package/lib/module/collision2d/spatialHash.js +167 -0
  56. package/lib/module/collision2d/spatialHash.js.map +1 -0
  57. package/lib/module/collision2d/sweeps.js +255 -0
  58. package/lib/module/collision2d/sweeps.js.map +1 -0
  59. package/lib/module/collision2d.js +9 -0
  60. package/lib/module/collision2d.js.map +1 -0
  61. package/lib/module/core/input/buttonPad.js +214 -0
  62. package/lib/module/core/input/buttonPad.js.map +1 -0
  63. package/lib/module/core/input/createInputBuffer.js +66 -14
  64. package/lib/module/core/input/createInputBuffer.js.map +1 -1
  65. package/lib/module/core/session/createGameSession.js +454 -50
  66. package/lib/module/core/session/createGameSession.js.map +1 -1
  67. package/lib/module/core/session/deepFreeze.js +92 -2
  68. package/lib/module/core/session/deepFreeze.js.map +1 -1
  69. package/lib/module/core/session/types.js +12 -0
  70. package/lib/module/core/session/types.js.map +1 -1
  71. package/lib/module/definition/defineGame.js +23 -0
  72. package/lib/module/definition/defineGame.js.map +1 -1
  73. package/lib/module/events/defineGameEvents.js +46 -0
  74. package/lib/module/events/defineGameEvents.js.map +1 -0
  75. package/lib/module/events/errors.js +16 -0
  76. package/lib/module/events/errors.js.map +1 -0
  77. package/lib/module/events/index.js +7 -0
  78. package/lib/module/events/index.js.map +1 -0
  79. package/lib/module/events/payload.js +219 -0
  80. package/lib/module/events/payload.js.map +1 -0
  81. package/lib/module/events/seed.js +33 -0
  82. package/lib/module/events/seed.js.map +1 -0
  83. package/lib/module/events/types.js +4 -0
  84. package/lib/module/events/types.js.map +1 -0
  85. package/lib/module/events.js +13 -0
  86. package/lib/module/events.js.map +1 -0
  87. package/lib/module/geometry/helpers.js +140 -0
  88. package/lib/module/geometry/helpers.js.map +1 -0
  89. package/lib/module/geometry/index.js +5 -0
  90. package/lib/module/geometry/index.js.map +1 -0
  91. package/lib/module/geometry/validation.js +104 -0
  92. package/lib/module/geometry/validation.js.map +1 -0
  93. package/lib/module/geometry.js +9 -0
  94. package/lib/module/geometry.js.map +1 -0
  95. package/lib/module/haptics/createGameHaptics.js +214 -0
  96. package/lib/module/haptics/createGameHaptics.js.map +1 -0
  97. package/lib/module/haptics/errors.js +12 -0
  98. package/lib/module/haptics/errors.js.map +1 -0
  99. package/lib/module/haptics/index.js +5 -0
  100. package/lib/module/haptics/index.js.map +1 -0
  101. package/lib/module/haptics/resolver.js +37 -0
  102. package/lib/module/haptics/resolver.js.map +1 -0
  103. package/lib/module/haptics/types.js +4 -0
  104. package/lib/module/haptics/types.js.map +1 -0
  105. package/lib/module/haptics.js +9 -0
  106. package/lib/module/haptics.js.map +1 -0
  107. package/lib/module/index.js +8 -1
  108. package/lib/module/index.js.map +1 -1
  109. package/lib/module/particles/createParticleSystem.js +481 -0
  110. package/lib/module/particles/createParticleSystem.js.map +1 -0
  111. package/lib/module/particles/defineParticleEffect.js +178 -0
  112. package/lib/module/particles/defineParticleEffect.js.map +1 -0
  113. package/lib/module/particles/errors.js +9 -0
  114. package/lib/module/particles/errors.js.map +1 -0
  115. package/lib/module/particles/index.js +8 -0
  116. package/lib/module/particles/index.js.map +1 -0
  117. package/lib/module/particles/sampling.js +121 -0
  118. package/lib/module/particles/sampling.js.map +1 -0
  119. package/lib/module/particles/types.js +4 -0
  120. package/lib/module/particles/types.js.map +1 -0
  121. package/lib/module/particles.js +4 -0
  122. package/lib/module/particles.js.map +1 -0
  123. package/lib/module/react/GameButtonPad.js +344 -0
  124. package/lib/module/react/GameButtonPad.js.map +1 -0
  125. package/lib/module/react/GamePointerInput.js +74 -16
  126. package/lib/module/react/GamePointerInput.js.map +1 -1
  127. package/lib/module/react/GameView.js +139 -60
  128. package/lib/module/react/GameView.js.map +1 -1
  129. package/lib/module/react/assets/createGameAssetStore.js +145 -95
  130. package/lib/module/react/assets/createGameAssetStore.js.map +1 -1
  131. package/lib/module/react/assets/useGameAssets.js +60 -35
  132. package/lib/module/react/assets/useGameAssets.js.map +1 -1
  133. package/lib/module/react/bindAppLifecycle.js +46 -17
  134. package/lib/module/react/bindAppLifecycle.js.map +1 -1
  135. package/lib/module/react/bindGameSession.js +13 -2
  136. package/lib/module/react/bindGameSession.js.map +1 -1
  137. package/lib/module/react/camera2d/GameLayer2D.js +50 -0
  138. package/lib/module/react/camera2d/GameLayer2D.js.map +1 -0
  139. package/lib/module/react/camera2d/defineGameCamera2D.js +30 -0
  140. package/lib/module/react/camera2d/defineGameCamera2D.js.map +1 -0
  141. package/lib/module/react/camera2d/usePresentedCameraBinding.js +177 -0
  142. package/lib/module/react/camera2d/usePresentedCameraBinding.js.map +1 -0
  143. package/lib/module/react/cleanupList.js +38 -0
  144. package/lib/module/react/cleanupList.js.map +1 -0
  145. package/lib/module/react/lifecycleSource.js +49 -0
  146. package/lib/module/react/lifecycleSource.js.map +1 -0
  147. package/lib/module/react/particles/ParticleView.js +308 -0
  148. package/lib/module/react/particles/ParticleView.js.map +1 -0
  149. package/lib/module/react/particles/culling.js +115 -0
  150. package/lib/module/react/particles/culling.js.map +1 -0
  151. package/lib/module/react/particles/index.js +7 -0
  152. package/lib/module/react/particles/index.js.map +1 -0
  153. package/lib/module/react/particles/spriteXForm.js +45 -0
  154. package/lib/module/react/particles/spriteXForm.js.map +1 -0
  155. package/lib/module/react/particles/useParticlePresentation.js +204 -0
  156. package/lib/module/react/particles/useParticlePresentation.js.map +1 -0
  157. package/lib/module/react/pointerBinding.js +55 -17
  158. package/lib/module/react/pointerBinding.js.map +1 -1
  159. package/lib/module/react/pointerCamera.js +28 -0
  160. package/lib/module/react/pointerCamera.js.map +1 -0
  161. package/lib/module/react/pointerCoalescer.js +16 -9
  162. package/lib/module/react/pointerCoalescer.js.map +1 -1
  163. package/lib/module/react/sprites/GameSprite.js +5 -17
  164. package/lib/module/react/sprites/GameSprite.js.map +1 -1
  165. package/lib/module/react/sprites/GameWorld2D.js +112 -9
  166. package/lib/module/react/sprites/GameWorld2D.js.map +1 -1
  167. package/lib/module/react/sprites/Sprite.js +48 -63
  168. package/lib/module/react/sprites/Sprite.js.map +1 -1
  169. package/lib/module/react/sprites/SpriteBatch.js +53 -28
  170. package/lib/module/react/sprites/SpriteBatch.js.map +1 -1
  171. package/lib/module/react/sprites/batchVisibility.js +58 -0
  172. package/lib/module/react/sprites/batchVisibility.js.map +1 -0
  173. package/lib/module/react/sprites/spriteSelection.js +103 -0
  174. package/lib/module/react/sprites/spriteSelection.js.map +1 -0
  175. package/lib/module/react/sprites/spriteTransform.js +46 -25
  176. package/lib/module/react/sprites/spriteTransform.js.map +1 -1
  177. package/lib/module/react/tilemap/TileMapLayer2D.js +217 -0
  178. package/lib/module/react/tilemap/TileMapLayer2D.js.map +1 -0
  179. package/lib/module/react/tilemap/tilePresentation.js +374 -0
  180. package/lib/module/react/tilemap/tilePresentation.js.map +1 -0
  181. package/lib/module/react/useGameSession.js +70 -0
  182. package/lib/module/react/useGameSession.js.map +1 -0
  183. package/lib/module/react/useGameSessionStatus.js +46 -0
  184. package/lib/module/react/useGameSessionStatus.js.map +1 -0
  185. package/lib/module/react/viewportBinding.js +5 -1
  186. package/lib/module/react/viewportBinding.js.map +1 -1
  187. package/lib/module/react.js +12 -1
  188. package/lib/module/react.js.map +1 -1
  189. package/lib/module/scene/defineScene.js +17 -0
  190. package/lib/module/scene/defineScene.js.map +1 -1
  191. package/lib/module/sprites/sampleSpriteClip.js +66 -6
  192. package/lib/module/sprites/sampleSpriteClip.js.map +1 -1
  193. package/lib/module/sprites/spriteAnimationState.js +10 -20
  194. package/lib/module/sprites/spriteAnimationState.js.map +1 -1
  195. package/lib/module/sprites.js +11 -0
  196. package/lib/module/sprites.js.map +1 -0
  197. package/lib/module/storage/adapters/asyncStorage.js +57 -0
  198. package/lib/module/storage/adapters/asyncStorage.js.map +1 -0
  199. package/lib/module/storage/adapters/memory.js +50 -0
  200. package/lib/module/storage/adapters/memory.js.map +1 -0
  201. package/lib/module/storage/errors.js +34 -0
  202. package/lib/module/storage/errors.js.map +1 -0
  203. package/lib/module/storage/index.js +11 -0
  204. package/lib/module/storage/index.js.map +1 -0
  205. package/lib/module/storage/schema.js +151 -0
  206. package/lib/module/storage/schema.js.map +1 -0
  207. package/lib/module/storage/serialization.js +249 -0
  208. package/lib/module/storage/serialization.js.map +1 -0
  209. package/lib/module/storage/store.js +387 -0
  210. package/lib/module/storage/store.js.map +1 -0
  211. package/lib/module/storage/types.js +16 -0
  212. package/lib/module/storage/types.js.map +1 -0
  213. package/lib/module/storage/validation.js +111 -0
  214. package/lib/module/storage/validation.js.map +1 -0
  215. package/lib/module/storage.js +4 -0
  216. package/lib/module/storage.js.map +1 -0
  217. package/lib/module/testing.js +4 -0
  218. package/lib/module/testing.js.map +1 -1
  219. package/lib/module/tilemap/chunkStats.js +27 -0
  220. package/lib/module/tilemap/chunkStats.js.map +1 -0
  221. package/lib/module/tilemap/definitions.js +308 -0
  222. package/lib/module/tilemap/definitions.js.map +1 -0
  223. package/lib/module/tilemap/errors.js +13 -0
  224. package/lib/module/tilemap/errors.js.map +1 -0
  225. package/lib/module/tilemap/index.js +10 -0
  226. package/lib/module/tilemap/index.js.map +1 -0
  227. package/lib/module/tilemap/movement.js +379 -0
  228. package/lib/module/tilemap/movement.js.map +1 -0
  229. package/lib/module/tilemap/queries.js +114 -0
  230. package/lib/module/tilemap/queries.js.map +1 -0
  231. package/lib/module/tilemap/tiledAdapter.js +141 -0
  232. package/lib/module/tilemap/tiledAdapter.js.map +1 -0
  233. package/lib/module/tilemap/types.js +4 -0
  234. package/lib/module/tilemap/types.js.map +1 -0
  235. package/lib/module/tilemap.js +4 -0
  236. package/lib/module/tilemap.js.map +1 -0
  237. package/lib/typescript/src/assets/defineAssets.d.ts +1 -1
  238. package/lib/typescript/src/assets/defineAssets.d.ts.map +1 -1
  239. package/lib/typescript/src/assets.d.ts +11 -0
  240. package/lib/typescript/src/assets.d.ts.map +1 -0
  241. package/lib/typescript/src/audio/createGameAudio.d.ts +5 -0
  242. package/lib/typescript/src/audio/createGameAudio.d.ts.map +1 -0
  243. package/lib/typescript/src/audio/errors.d.ts +6 -0
  244. package/lib/typescript/src/audio/errors.d.ts.map +1 -0
  245. package/lib/typescript/src/audio/index.d.ts +4 -0
  246. package/lib/typescript/src/audio/index.d.ts.map +1 -0
  247. package/lib/typescript/src/audio/resolver.d.ts +44 -0
  248. package/lib/typescript/src/audio/resolver.d.ts.map +1 -0
  249. package/lib/typescript/src/audio/types.d.ts +42 -0
  250. package/lib/typescript/src/audio/types.d.ts.map +1 -0
  251. package/lib/typescript/src/audio.d.ts +8 -0
  252. package/lib/typescript/src/audio.d.ts.map +1 -0
  253. package/lib/typescript/src/camera2d/bounds.d.ts +25 -0
  254. package/lib/typescript/src/camera2d/bounds.d.ts.map +1 -0
  255. package/lib/typescript/src/camera2d/extents.d.ts +17 -0
  256. package/lib/typescript/src/camera2d/extents.d.ts.map +1 -0
  257. package/lib/typescript/src/camera2d/follow.d.ts +24 -0
  258. package/lib/typescript/src/camera2d/follow.d.ts.map +1 -0
  259. package/lib/typescript/src/camera2d/index.d.ts +19 -0
  260. package/lib/typescript/src/camera2d/index.d.ts.map +1 -0
  261. package/lib/typescript/src/camera2d/interpolation.d.ts +17 -0
  262. package/lib/typescript/src/camera2d/interpolation.d.ts.map +1 -0
  263. package/lib/typescript/src/camera2d/shake.d.ts +20 -0
  264. package/lib/typescript/src/camera2d/shake.d.ts.map +1 -0
  265. package/lib/typescript/src/camera2d/transform.d.ts +44 -0
  266. package/lib/typescript/src/camera2d/transform.d.ts.map +1 -0
  267. package/lib/typescript/src/camera2d/types.d.ts +74 -0
  268. package/lib/typescript/src/camera2d/types.d.ts.map +1 -0
  269. package/lib/typescript/src/camera2d/validation.d.ts +30 -0
  270. package/lib/typescript/src/camera2d/validation.d.ts.map +1 -0
  271. package/lib/typescript/src/camera2d/visibility.d.ts +47 -0
  272. package/lib/typescript/src/camera2d/visibility.d.ts.map +1 -0
  273. package/lib/typescript/src/camera2d.d.ts +7 -0
  274. package/lib/typescript/src/camera2d.d.ts.map +1 -0
  275. package/lib/typescript/src/collision2d/colliders.d.ts +120 -0
  276. package/lib/typescript/src/collision2d/colliders.d.ts.map +1 -0
  277. package/lib/typescript/src/collision2d/debug.d.ts +67 -0
  278. package/lib/typescript/src/collision2d/debug.d.ts.map +1 -0
  279. package/lib/typescript/src/collision2d/filters.d.ts +28 -0
  280. package/lib/typescript/src/collision2d/filters.d.ts.map +1 -0
  281. package/lib/typescript/src/collision2d/index.d.ts +17 -0
  282. package/lib/typescript/src/collision2d/index.d.ts.map +1 -0
  283. package/lib/typescript/src/collision2d/intersections.d.ts +24 -0
  284. package/lib/typescript/src/collision2d/intersections.d.ts.map +1 -0
  285. package/lib/typescript/src/collision2d/manifolds.d.ts +39 -0
  286. package/lib/typescript/src/collision2d/manifolds.d.ts.map +1 -0
  287. package/lib/typescript/src/collision2d/segments.d.ts +24 -0
  288. package/lib/typescript/src/collision2d/segments.d.ts.map +1 -0
  289. package/lib/typescript/src/collision2d/spatialHash.d.ts +50 -0
  290. package/lib/typescript/src/collision2d/spatialHash.d.ts.map +1 -0
  291. package/lib/typescript/src/collision2d/sweeps.d.ts +60 -0
  292. package/lib/typescript/src/collision2d/sweeps.d.ts.map +1 -0
  293. package/lib/typescript/src/collision2d.d.ts +7 -0
  294. package/lib/typescript/src/collision2d.d.ts.map +1 -0
  295. package/lib/typescript/src/core/input/buttonPad.d.ts +59 -0
  296. package/lib/typescript/src/core/input/buttonPad.d.ts.map +1 -0
  297. package/lib/typescript/src/core/input/createInputBuffer.d.ts +1 -1
  298. package/lib/typescript/src/core/input/createInputBuffer.d.ts.map +1 -1
  299. package/lib/typescript/src/core/input/types.d.ts +7 -0
  300. package/lib/typescript/src/core/input/types.d.ts.map +1 -1
  301. package/lib/typescript/src/core/session/createGameSession.d.ts +4 -2
  302. package/lib/typescript/src/core/session/createGameSession.d.ts.map +1 -1
  303. package/lib/typescript/src/core/session/deepFreeze.d.ts +21 -1
  304. package/lib/typescript/src/core/session/deepFreeze.d.ts.map +1 -1
  305. package/lib/typescript/src/core/session/diagnostics.d.ts +2 -0
  306. package/lib/typescript/src/core/session/diagnostics.d.ts.map +1 -1
  307. package/lib/typescript/src/core/session/types.d.ts +69 -4
  308. package/lib/typescript/src/core/session/types.d.ts.map +1 -1
  309. package/lib/typescript/src/definition/defineGame.d.ts +12 -1
  310. package/lib/typescript/src/definition/defineGame.d.ts.map +1 -1
  311. package/lib/typescript/src/definition/types.d.ts +10 -1
  312. package/lib/typescript/src/definition/types.d.ts.map +1 -1
  313. package/lib/typescript/src/events/defineGameEvents.d.ts +26 -0
  314. package/lib/typescript/src/events/defineGameEvents.d.ts.map +1 -0
  315. package/lib/typescript/src/events/errors.d.ts +12 -0
  316. package/lib/typescript/src/events/errors.d.ts.map +1 -0
  317. package/lib/typescript/src/events/index.d.ts +6 -0
  318. package/lib/typescript/src/events/index.d.ts.map +1 -0
  319. package/lib/typescript/src/events/payload.d.ts +21 -0
  320. package/lib/typescript/src/events/payload.d.ts.map +1 -0
  321. package/lib/typescript/src/events/seed.d.ts +3 -0
  322. package/lib/typescript/src/events/seed.d.ts.map +1 -0
  323. package/lib/typescript/src/events/types.d.ts +42 -0
  324. package/lib/typescript/src/events/types.d.ts.map +1 -0
  325. package/lib/typescript/src/events.d.ts +12 -0
  326. package/lib/typescript/src/events.d.ts.map +1 -0
  327. package/lib/typescript/src/geometry/helpers.d.ts +35 -0
  328. package/lib/typescript/src/geometry/helpers.d.ts.map +1 -0
  329. package/lib/typescript/src/geometry/index.d.ts +4 -0
  330. package/lib/typescript/src/geometry/index.d.ts.map +1 -0
  331. package/lib/typescript/src/geometry/types.d.ts +49 -0
  332. package/lib/typescript/src/geometry/types.d.ts.map +1 -1
  333. package/lib/typescript/src/geometry/validation.d.ts +44 -0
  334. package/lib/typescript/src/geometry/validation.d.ts.map +1 -0
  335. package/lib/typescript/src/geometry.d.ts +7 -0
  336. package/lib/typescript/src/geometry.d.ts.map +1 -0
  337. package/lib/typescript/src/haptics/createGameHaptics.d.ts +3 -0
  338. package/lib/typescript/src/haptics/createGameHaptics.d.ts.map +1 -0
  339. package/lib/typescript/src/haptics/errors.d.ts +6 -0
  340. package/lib/typescript/src/haptics/errors.d.ts.map +1 -0
  341. package/lib/typescript/src/haptics/index.d.ts +4 -0
  342. package/lib/typescript/src/haptics/index.d.ts.map +1 -0
  343. package/lib/typescript/src/haptics/resolver.d.ts +22 -0
  344. package/lib/typescript/src/haptics/resolver.d.ts.map +1 -0
  345. package/lib/typescript/src/haptics/types.d.ts +37 -0
  346. package/lib/typescript/src/haptics/types.d.ts.map +1 -0
  347. package/lib/typescript/src/haptics.d.ts +8 -0
  348. package/lib/typescript/src/haptics.d.ts.map +1 -0
  349. package/lib/typescript/src/index.d.ts +10 -2
  350. package/lib/typescript/src/index.d.ts.map +1 -1
  351. package/lib/typescript/src/particles/createParticleSystem.d.ts +5 -0
  352. package/lib/typescript/src/particles/createParticleSystem.d.ts.map +1 -0
  353. package/lib/typescript/src/particles/defineParticleEffect.d.ts +3 -0
  354. package/lib/typescript/src/particles/defineParticleEffect.d.ts.map +1 -0
  355. package/lib/typescript/src/particles/errors.d.ts +5 -0
  356. package/lib/typescript/src/particles/errors.d.ts.map +1 -0
  357. package/lib/typescript/src/particles/index.d.ts +6 -0
  358. package/lib/typescript/src/particles/index.d.ts.map +1 -0
  359. package/lib/typescript/src/particles/sampling.d.ts +54 -0
  360. package/lib/typescript/src/particles/sampling.d.ts.map +1 -0
  361. package/lib/typescript/src/particles/types.d.ts +292 -0
  362. package/lib/typescript/src/particles/types.d.ts.map +1 -0
  363. package/lib/typescript/src/particles.d.ts +2 -0
  364. package/lib/typescript/src/particles.d.ts.map +1 -0
  365. package/lib/typescript/src/react/GameButtonPad.d.ts +84 -0
  366. package/lib/typescript/src/react/GameButtonPad.d.ts.map +1 -0
  367. package/lib/typescript/src/react/GamePointerInput.d.ts.map +1 -1
  368. package/lib/typescript/src/react/GameView.d.ts +27 -1
  369. package/lib/typescript/src/react/GameView.d.ts.map +1 -1
  370. package/lib/typescript/src/react/assets/createGameAssetStore.d.ts.map +1 -1
  371. package/lib/typescript/src/react/assets/useGameAssets.d.ts.map +1 -1
  372. package/lib/typescript/src/react/bindAppLifecycle.d.ts +7 -1
  373. package/lib/typescript/src/react/bindAppLifecycle.d.ts.map +1 -1
  374. package/lib/typescript/src/react/bindGameSession.d.ts.map +1 -1
  375. package/lib/typescript/src/react/camera2d/GameLayer2D.d.ts +24 -0
  376. package/lib/typescript/src/react/camera2d/GameLayer2D.d.ts.map +1 -0
  377. package/lib/typescript/src/react/camera2d/defineGameCamera2D.d.ts +44 -0
  378. package/lib/typescript/src/react/camera2d/defineGameCamera2D.d.ts.map +1 -0
  379. package/lib/typescript/src/react/camera2d/usePresentedCameraBinding.d.ts +22 -0
  380. package/lib/typescript/src/react/camera2d/usePresentedCameraBinding.d.ts.map +1 -0
  381. package/lib/typescript/src/react/cleanupList.d.ts +21 -0
  382. package/lib/typescript/src/react/cleanupList.d.ts.map +1 -0
  383. package/lib/typescript/src/react/instrumentation.d.ts +33 -3
  384. package/lib/typescript/src/react/instrumentation.d.ts.map +1 -1
  385. package/lib/typescript/src/react/lifecycleSource.d.ts +21 -0
  386. package/lib/typescript/src/react/lifecycleSource.d.ts.map +1 -0
  387. package/lib/typescript/src/react/particles/ParticleView.d.ts +65 -0
  388. package/lib/typescript/src/react/particles/ParticleView.d.ts.map +1 -0
  389. package/lib/typescript/src/react/particles/culling.d.ts +70 -0
  390. package/lib/typescript/src/react/particles/culling.d.ts.map +1 -0
  391. package/lib/typescript/src/react/particles/index.d.ts +7 -0
  392. package/lib/typescript/src/react/particles/index.d.ts.map +1 -0
  393. package/lib/typescript/src/react/particles/spriteXForm.d.ts +28 -0
  394. package/lib/typescript/src/react/particles/spriteXForm.d.ts.map +1 -0
  395. package/lib/typescript/src/react/particles/useParticlePresentation.d.ts +48 -0
  396. package/lib/typescript/src/react/particles/useParticlePresentation.d.ts.map +1 -0
  397. package/lib/typescript/src/react/pointerBinding.d.ts +38 -8
  398. package/lib/typescript/src/react/pointerBinding.d.ts.map +1 -1
  399. package/lib/typescript/src/react/pointerCamera.d.ts +20 -0
  400. package/lib/typescript/src/react/pointerCamera.d.ts.map +1 -0
  401. package/lib/typescript/src/react/pointerCoalescer.d.ts +17 -1
  402. package/lib/typescript/src/react/pointerCoalescer.d.ts.map +1 -1
  403. package/lib/typescript/src/react/sprites/GameSprite.d.ts +3 -10
  404. package/lib/typescript/src/react/sprites/GameSprite.d.ts.map +1 -1
  405. package/lib/typescript/src/react/sprites/GameWorld2D.d.ts +51 -6
  406. package/lib/typescript/src/react/sprites/GameWorld2D.d.ts.map +1 -1
  407. package/lib/typescript/src/react/sprites/Sprite.d.ts.map +1 -1
  408. package/lib/typescript/src/react/sprites/SpriteBatch.d.ts +22 -1
  409. package/lib/typescript/src/react/sprites/SpriteBatch.d.ts.map +1 -1
  410. package/lib/typescript/src/react/sprites/batchVisibility.d.ts +28 -0
  411. package/lib/typescript/src/react/sprites/batchVisibility.d.ts.map +1 -0
  412. package/lib/typescript/src/react/sprites/spriteSelection.d.ts +58 -0
  413. package/lib/typescript/src/react/sprites/spriteSelection.d.ts.map +1 -0
  414. package/lib/typescript/src/react/sprites/spriteTransform.d.ts +27 -12
  415. package/lib/typescript/src/react/sprites/spriteTransform.d.ts.map +1 -1
  416. package/lib/typescript/src/react/tilemap/TileMapLayer2D.d.ts +69 -0
  417. package/lib/typescript/src/react/tilemap/TileMapLayer2D.d.ts.map +1 -0
  418. package/lib/typescript/src/react/tilemap/tilePresentation.d.ts +217 -0
  419. package/lib/typescript/src/react/tilemap/tilePresentation.d.ts.map +1 -0
  420. package/lib/typescript/src/react/useGameSession.d.ts +48 -0
  421. package/lib/typescript/src/react/useGameSession.d.ts.map +1 -0
  422. package/lib/typescript/src/react/useGameSessionStatus.d.ts +23 -0
  423. package/lib/typescript/src/react/useGameSessionStatus.d.ts.map +1 -0
  424. package/lib/typescript/src/react/viewportBinding.d.ts +5 -1
  425. package/lib/typescript/src/react/viewportBinding.d.ts.map +1 -1
  426. package/lib/typescript/src/react.d.ts +18 -1
  427. package/lib/typescript/src/react.d.ts.map +1 -1
  428. package/lib/typescript/src/scene/defineScene.d.ts +22 -2
  429. package/lib/typescript/src/scene/defineScene.d.ts.map +1 -1
  430. package/lib/typescript/src/scene/types.d.ts +24 -4
  431. package/lib/typescript/src/scene/types.d.ts.map +1 -1
  432. package/lib/typescript/src/sprites/sampleSpriteClip.d.ts +26 -2
  433. package/lib/typescript/src/sprites/sampleSpriteClip.d.ts.map +1 -1
  434. package/lib/typescript/src/sprites/spriteAnimationState.d.ts +6 -7
  435. package/lib/typescript/src/sprites/spriteAnimationState.d.ts.map +1 -1
  436. package/lib/typescript/src/sprites.d.ts +10 -0
  437. package/lib/typescript/src/sprites.d.ts.map +1 -0
  438. package/lib/typescript/src/storage/adapters/asyncStorage.d.ts +18 -0
  439. package/lib/typescript/src/storage/adapters/asyncStorage.d.ts.map +1 -0
  440. package/lib/typescript/src/storage/adapters/memory.d.ts +16 -0
  441. package/lib/typescript/src/storage/adapters/memory.d.ts.map +1 -0
  442. package/lib/typescript/src/storage/errors.d.ts +37 -0
  443. package/lib/typescript/src/storage/errors.d.ts.map +1 -0
  444. package/lib/typescript/src/storage/index.d.ts +11 -0
  445. package/lib/typescript/src/storage/index.d.ts.map +1 -0
  446. package/lib/typescript/src/storage/schema.d.ts +22 -0
  447. package/lib/typescript/src/storage/schema.d.ts.map +1 -0
  448. package/lib/typescript/src/storage/serialization.d.ts +23 -0
  449. package/lib/typescript/src/storage/serialization.d.ts.map +1 -0
  450. package/lib/typescript/src/storage/store.d.ts +3 -0
  451. package/lib/typescript/src/storage/store.d.ts.map +1 -0
  452. package/lib/typescript/src/storage/types.d.ts +69 -0
  453. package/lib/typescript/src/storage/types.d.ts.map +1 -0
  454. package/lib/typescript/src/storage/validation.d.ts +24 -0
  455. package/lib/typescript/src/storage/validation.d.ts.map +1 -0
  456. package/lib/typescript/src/storage.d.ts +2 -0
  457. package/lib/typescript/src/storage.d.ts.map +1 -0
  458. package/lib/typescript/src/testing.d.ts +1 -0
  459. package/lib/typescript/src/testing.d.ts.map +1 -1
  460. package/lib/typescript/src/tilemap/chunkStats.d.ts +14 -0
  461. package/lib/typescript/src/tilemap/chunkStats.d.ts.map +1 -0
  462. package/lib/typescript/src/tilemap/definitions.d.ts +38 -0
  463. package/lib/typescript/src/tilemap/definitions.d.ts.map +1 -0
  464. package/lib/typescript/src/tilemap/errors.d.ts +7 -0
  465. package/lib/typescript/src/tilemap/errors.d.ts.map +1 -0
  466. package/lib/typescript/src/tilemap/index.d.ts +8 -0
  467. package/lib/typescript/src/tilemap/index.d.ts.map +1 -0
  468. package/lib/typescript/src/tilemap/movement.d.ts +52 -0
  469. package/lib/typescript/src/tilemap/movement.d.ts.map +1 -0
  470. package/lib/typescript/src/tilemap/queries.d.ts +21 -0
  471. package/lib/typescript/src/tilemap/queries.d.ts.map +1 -0
  472. package/lib/typescript/src/tilemap/tiledAdapter.d.ts +32 -0
  473. package/lib/typescript/src/tilemap/tiledAdapter.d.ts.map +1 -0
  474. package/lib/typescript/src/tilemap/types.d.ts +127 -0
  475. package/lib/typescript/src/tilemap/types.d.ts.map +1 -0
  476. package/lib/typescript/src/tilemap.d.ts +2 -0
  477. package/lib/typescript/src/tilemap.d.ts.map +1 -0
  478. package/package.json +94 -4
  479. package/src/assets/defineAssets.ts +31 -5
  480. package/src/assets.ts +27 -0
  481. package/src/audio/createGameAudio.ts +749 -0
  482. package/src/audio/errors.ts +12 -0
  483. package/src/audio/index.ts +9 -0
  484. package/src/audio/resolver.ts +74 -0
  485. package/src/audio/types.ts +47 -0
  486. package/src/audio.ts +13 -0
  487. package/src/camera2d/bounds.ts +69 -0
  488. package/src/camera2d/extents.ts +25 -0
  489. package/src/camera2d/follow.ts +165 -0
  490. package/src/camera2d/index.ts +29 -0
  491. package/src/camera2d/interpolation.ts +113 -0
  492. package/src/camera2d/shake.ts +90 -0
  493. package/src/camera2d/transform.ts +148 -0
  494. package/src/camera2d/types.ts +73 -0
  495. package/src/camera2d/validation.ts +126 -0
  496. package/src/camera2d/visibility.ts +181 -0
  497. package/src/camera2d.ts +6 -0
  498. package/src/collision2d/colliders.ts +292 -0
  499. package/src/collision2d/debug.ts +133 -0
  500. package/src/collision2d/filters.ts +48 -0
  501. package/src/collision2d/index.ts +74 -0
  502. package/src/collision2d/intersections.ts +82 -0
  503. package/src/collision2d/manifolds.ts +191 -0
  504. package/src/collision2d/segments.ts +176 -0
  505. package/src/collision2d/spatialHash.ts +211 -0
  506. package/src/collision2d/sweeps.ts +269 -0
  507. package/src/collision2d.ts +6 -0
  508. package/src/core/input/buttonPad.ts +235 -0
  509. package/src/core/input/createInputBuffer.ts +95 -14
  510. package/src/core/input/types.ts +7 -0
  511. package/src/core/session/createGameSession.ts +480 -53
  512. package/src/core/session/deepFreeze.ts +104 -3
  513. package/src/core/session/diagnostics.ts +2 -0
  514. package/src/core/session/types.ts +77 -4
  515. package/src/definition/defineGame.ts +61 -3
  516. package/src/definition/types.ts +10 -0
  517. package/src/events/defineGameEvents.ts +46 -0
  518. package/src/events/errors.ts +14 -0
  519. package/src/events/index.ts +14 -0
  520. package/src/events/payload.ts +234 -0
  521. package/src/events/seed.ts +33 -0
  522. package/src/events/types.ts +53 -0
  523. package/src/events.ts +20 -0
  524. package/src/geometry/helpers.ts +136 -0
  525. package/src/geometry/index.ts +14 -0
  526. package/src/geometry/types.ts +54 -0
  527. package/src/geometry/validation.ts +131 -0
  528. package/src/geometry.ts +6 -0
  529. package/src/haptics/createGameHaptics.ts +214 -0
  530. package/src/haptics/errors.ts +12 -0
  531. package/src/haptics/index.ts +3 -0
  532. package/src/haptics/resolver.ts +58 -0
  533. package/src/haptics/types.ts +48 -0
  534. package/src/haptics.ts +7 -0
  535. package/src/index.ts +37 -1
  536. package/src/particles/createParticleSystem.ts +505 -0
  537. package/src/particles/defineParticleEffect.ts +164 -0
  538. package/src/particles/errors.ts +6 -0
  539. package/src/particles/index.ts +5 -0
  540. package/src/particles/sampling.ts +141 -0
  541. package/src/particles/types.ts +327 -0
  542. package/src/particles.ts +1 -0
  543. package/src/react/GameButtonPad.tsx +436 -0
  544. package/src/react/GamePointerInput.tsx +73 -8
  545. package/src/react/GameView.tsx +160 -61
  546. package/src/react/assets/createGameAssetStore.ts +140 -107
  547. package/src/react/assets/useGameAssets.ts +63 -31
  548. package/src/react/bindAppLifecycle.ts +55 -19
  549. package/src/react/bindGameSession.ts +12 -2
  550. package/src/react/camera2d/GameLayer2D.tsx +43 -0
  551. package/src/react/camera2d/defineGameCamera2D.ts +59 -0
  552. package/src/react/camera2d/usePresentedCameraBinding.ts +185 -0
  553. package/src/react/cleanupList.ts +48 -0
  554. package/src/react/instrumentation.ts +31 -3
  555. package/src/react/lifecycleSource.ts +58 -0
  556. package/src/react/particles/ParticleView.tsx +358 -0
  557. package/src/react/particles/culling.ts +145 -0
  558. package/src/react/particles/index.ts +6 -0
  559. package/src/react/particles/spriteXForm.ts +72 -0
  560. package/src/react/particles/useParticlePresentation.ts +261 -0
  561. package/src/react/pointerBinding.ts +74 -16
  562. package/src/react/pointerCamera.ts +33 -0
  563. package/src/react/pointerCoalescer.ts +36 -10
  564. package/src/react/sprites/GameSprite.tsx +4 -33
  565. package/src/react/sprites/GameWorld2D.tsx +113 -7
  566. package/src/react/sprites/Sprite.tsx +51 -72
  567. package/src/react/sprites/SpriteBatch.tsx +74 -22
  568. package/src/react/sprites/batchVisibility.ts +76 -0
  569. package/src/react/sprites/spriteSelection.ts +133 -0
  570. package/src/react/sprites/spriteTransform.ts +46 -26
  571. package/src/react/tilemap/TileMapLayer2D.tsx +274 -0
  572. package/src/react/tilemap/tilePresentation.ts +491 -0
  573. package/src/react/useGameSession.ts +90 -0
  574. package/src/react/useGameSessionStatus.ts +53 -0
  575. package/src/react/viewportBinding.ts +5 -1
  576. package/src/react.ts +18 -1
  577. package/src/scene/defineScene.ts +47 -5
  578. package/src/scene/types.ts +37 -3
  579. package/src/sprites/sampleSpriteClip.ts +82 -14
  580. package/src/sprites/spriteAnimationState.ts +29 -25
  581. package/src/sprites.ts +22 -0
  582. package/src/storage/adapters/asyncStorage.ts +77 -0
  583. package/src/storage/adapters/memory.ts +58 -0
  584. package/src/storage/errors.ts +88 -0
  585. package/src/storage/index.ts +18 -0
  586. package/src/storage/schema.ts +147 -0
  587. package/src/storage/serialization.ts +248 -0
  588. package/src/storage/store.ts +380 -0
  589. package/src/storage/types.ts +76 -0
  590. package/src/storage/validation.ts +102 -0
  591. package/src/storage.ts +1 -0
  592. package/src/testing.ts +4 -0
  593. package/src/tilemap/chunkStats.ts +24 -0
  594. package/src/tilemap/definitions.ts +327 -0
  595. package/src/tilemap/errors.ts +11 -0
  596. package/src/tilemap/index.ts +10 -0
  597. package/src/tilemap/movement.ts +368 -0
  598. package/src/tilemap/queries.ts +136 -0
  599. package/src/tilemap/tiledAdapter.ts +165 -0
  600. package/src/tilemap/types.ts +119 -0
  601. package/src/tilemap.ts +1 -0
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+
3
+ import { createHapticsInstallationError, GameHapticsError } from "./errors.js";
4
+ import { loadPulsar } from "./resolver.js";
5
+ const PRESETS = ['impact', 'selection', 'success', 'warning', 'error', 'light', 'medium', 'heavy'];
6
+ function isValidPreset(preset) {
7
+ return PRESETS.includes(preset);
8
+ }
9
+ function mapToSystemPreset(preset) {
10
+ switch (preset) {
11
+ case 'impact':
12
+ return 'impactMedium';
13
+ case 'light':
14
+ return 'impactLight';
15
+ case 'medium':
16
+ return 'impactMedium';
17
+ case 'heavy':
18
+ return 'impactHeavy';
19
+ case 'selection':
20
+ return 'selection';
21
+ case 'success':
22
+ return 'notificationSuccess';
23
+ case 'warning':
24
+ return 'notificationWarning';
25
+ case 'error':
26
+ return 'notificationError';
27
+ default:
28
+ return preset;
29
+ }
30
+ }
31
+ export function createGameHaptics(options) {
32
+ let pulsar;
33
+ try {
34
+ pulsar = loadPulsar();
35
+ } catch {
36
+ throw createHapticsInstallationError();
37
+ }
38
+ if (!pulsar || !pulsar.Presets) {
39
+ throw createHapticsInstallationError();
40
+ }
41
+ const {
42
+ Presets
43
+ } = pulsar;
44
+
45
+ // Capability through the single public Settings adapter (GS-HAPTICS-02,
46
+ // verified against installed Pulsar 1.7.0): HapticSupport 0 is
47
+ // NO_SUPPORT, 1-3 are supported tiers; anything else fails closed.
48
+ function getSupportLevel() {
49
+ try {
50
+ const level = pulsar.Settings?.getHapticsSupportLevel?.();
51
+ if (typeof level === 'number' && Number.isFinite(level)) return level;
52
+ } catch {}
53
+ return null;
54
+ }
55
+ function isCapabilitySupported(_preset) {
56
+ const level = getSupportLevel();
57
+ if (level === null) return false;
58
+ const support = pulsar.HapticSupport;
59
+ if (support !== undefined) {
60
+ return level === support['LIMITED_SUPPORT'] || level === support['STANDARD_SUPPORT'] || level === support['ADVANCED_SUPPORT'];
61
+ }
62
+ return level === 1 || level === 2 || level === 3;
63
+ }
64
+ let muted = Boolean(options?.muted);
65
+ let disposed = false;
66
+ // GS-HAPTICS-01: manual and lifecycle pauses are independent gates —
67
+ // either alone suppresses, and neither overwrites the other. Detaching
68
+ // a lifecycle source clears only its own gate.
69
+ let manualPaused = false;
70
+ let lifecyclePaused = false;
71
+ let backgrounded = false;
72
+ // GS-HAPTICS-03: monotonic clock at the adapter seam (injectable for
73
+ // deterministic tests; defaults to wall time). The throttle is one
74
+ // GLOBAL 100ms budget shared by every preset: a selection pulse
75
+ // consumes the interval for a following success effect. Only successful
76
+ // dispatches consume budget — failures and rollbacks never suppress.
77
+ const now = options?.now ?? Date.now;
78
+ let lastPlayAt = Number.NEGATIVE_INFINITY;
79
+ // T20L-R3: exactly one active lifecycle source per haptics instance. The
80
+ // active detach is retained so replacement swaps sources, repeated detach
81
+ // is idempotent, and disposal detaches before everything else.
82
+ let lifecycleDetach = null;
83
+ const MIN_INTERVAL_MS = 100;
84
+
85
+ // AppState integration (best-effort)
86
+ let appStateSub = null;
87
+ try {
88
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
89
+ const RN = require('react-native');
90
+ const AppState = RN?.AppState;
91
+ if (AppState?.addEventListener) {
92
+ const isInactive = s => s === 'inactive' || s === 'background';
93
+ if (isInactive(AppState.currentState)) backgrounded = true;
94
+ appStateSub = AppState.addEventListener('change', next => {
95
+ if (isInactive(next)) backgrounded = true;else if (next === 'active') backgrounded = false;
96
+ });
97
+ }
98
+ } catch {}
99
+ const haptics = {
100
+ play(preset) {
101
+ if (disposed) return {
102
+ played: false,
103
+ reason: 'disposed'
104
+ };
105
+ if (manualPaused || lifecyclePaused) return {
106
+ played: false,
107
+ reason: 'paused'
108
+ };
109
+ if (backgrounded) return {
110
+ played: false,
111
+ reason: 'paused'
112
+ };
113
+ if (!isValidPreset(preset)) throw new GameHapticsError(`Unknown haptic preset "${String(preset)}"`);
114
+ if (muted) return {
115
+ played: false,
116
+ reason: 'muted'
117
+ };
118
+ if (!isCapabilitySupported(preset)) return {
119
+ played: false,
120
+ reason: 'unsupported'
121
+ };
122
+ const systemName = mapToSystemPreset(preset);
123
+ const fn = Presets.System[systemName] ?? Presets[preset];
124
+ if (typeof fn !== 'function') return {
125
+ played: false,
126
+ reason: 'unsupported'
127
+ };
128
+ const at = now();
129
+ const elapsed = at - lastPlayAt;
130
+ if (elapsed >= 0 && elapsed < MIN_INTERVAL_MS) return {
131
+ played: false,
132
+ reason: 'throttled'
133
+ };
134
+ try {
135
+ fn();
136
+ lastPlayAt = at;
137
+ // played means request dispatched, not confirmed physical playback — system may suppress
138
+ return {
139
+ played: true
140
+ };
141
+ } catch {
142
+ return {
143
+ played: false,
144
+ reason: 'error'
145
+ };
146
+ }
147
+ },
148
+ isSupported(_preset) {
149
+ if (disposed) return false;
150
+ if (!isValidPreset(_preset)) throw new GameHapticsError(`Unknown haptic preset "${String(_preset)}"`);
151
+ if (!isCapabilitySupported(_preset)) return false;
152
+ const systemName = mapToSystemPreset(_preset);
153
+ const fn = Presets.System[systemName] ?? Presets[_preset];
154
+ return typeof fn === 'function';
155
+ },
156
+ setMuted(next) {
157
+ if (disposed) throw new GameHapticsError('GameHaptics is disposed');
158
+ muted = Boolean(next);
159
+ },
160
+ isMuted() {
161
+ if (disposed) throw new GameHapticsError('GameHaptics is disposed');
162
+ return muted;
163
+ },
164
+ setPaused(next) {
165
+ if (disposed) throw new GameHapticsError('GameHaptics is disposed');
166
+ manualPaused = Boolean(next);
167
+ },
168
+ bindLifecycle(source) {
169
+ if (disposed) throw new GameHapticsError('GameHaptics is disposed');
170
+ // One active source: a replacement detaches the previous one first.
171
+ lifecycleDetach?.();
172
+ lifecycleDetach = null;
173
+ // Apply the current status immediately, then follow transitions.
174
+ // AppState backgrounding stays independent (separate flag).
175
+ lifecyclePaused = source.getStatus() !== 'running';
176
+ // GameLifecycleSource.subscribe returns a bare detach function (T20.3).
177
+ const sourceDetach = source.subscribe(status => {
178
+ lifecyclePaused = status !== 'running';
179
+ });
180
+ let detached = false;
181
+ const detach = () => {
182
+ if (detached) return;
183
+ detached = true;
184
+ sourceDetach();
185
+ // GS-HAPTICS-01: detach removes this source's ownership — its last
186
+ // status must not linger as a permanent gate. Manual pause is
187
+ // untouched.
188
+ lifecyclePaused = false;
189
+ if (lifecycleDetach === detach) lifecycleDetach = null;
190
+ };
191
+ lifecycleDetach = detach;
192
+ return detach;
193
+ },
194
+ dispose() {
195
+ if (disposed) return;
196
+ disposed = true;
197
+ // T20L-R3: detach the active lifecycle source BEFORE removing the
198
+ // AppState listener so the session retains no closure.
199
+ lifecycleDetach?.();
200
+ lifecycleDetach = null;
201
+ if (appStateSub) {
202
+ try {
203
+ appStateSub.remove();
204
+ } catch {}
205
+ appStateSub = null;
206
+ }
207
+ }
208
+ };
209
+ haptics._setBackgrounded = b => {
210
+ backgrounded = b;
211
+ };
212
+ return haptics;
213
+ }
214
+ //# sourceMappingURL=createGameHaptics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createHapticsInstallationError","GameHapticsError","loadPulsar","PRESETS","isValidPreset","preset","includes","mapToSystemPreset","createGameHaptics","options","pulsar","Presets","getSupportLevel","level","Settings","getHapticsSupportLevel","Number","isFinite","isCapabilitySupported","_preset","support","HapticSupport","undefined","muted","Boolean","disposed","manualPaused","lifecyclePaused","backgrounded","now","Date","lastPlayAt","NEGATIVE_INFINITY","lifecycleDetach","MIN_INTERVAL_MS","appStateSub","RN","require","AppState","addEventListener","isInactive","s","currentState","next","haptics","play","played","reason","String","systemName","fn","System","at","elapsed","isSupported","setMuted","isMuted","setPaused","bindLifecycle","source","getStatus","sourceDetach","subscribe","status","detached","detach","dispose","remove","_setBackgrounded","b"],"sourceRoot":"../../../src","sources":["haptics/createGameHaptics.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ export class GameHapticsError extends Error {
4
+ name = 'GameHapticsError';
5
+ constructor(message) {
6
+ super(message);
7
+ }
8
+ }
9
+ export function createHapticsInstallationError() {
10
+ return new GameHapticsError('react-native-pulsar is not installed. Run `npx expo install react-native-pulsar react-native-worklets` and rebuild with `npx expo prebuild` (or `expo run:ios` / `expo run:android`). See https://github.com/software-mansion/pulsar');
11
+ }
12
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GameHapticsError","Error","name","constructor","message","createHapticsInstallationError"],"sourceRoot":"../../../src","sources":["haptics/errors.ts"],"mappings":";;AAAA,OAAO,MAAMA,gBAAgB,SAASC,KAAK,CAAC;EACjCC,IAAI,GAAG,kBAAkB;EAClCC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;EAChB;AACF;AAEA,OAAO,SAASC,8BAA8BA,CAAA,EAAqB;EACjE,OAAO,IAAIL,gBAAgB,CACzB,sOACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export { createGameHaptics } from "./createGameHaptics.js";
4
+ export { GameHapticsError } from "./errors.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createGameHaptics","GameHapticsError"],"sourceRoot":"../../../src","sources":["haptics/index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,gBAAgB,QAAQ,aAAU","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Injectable resolver for the optional `react-native-pulsar` peer
5
+ * (GS-HAPTICS-02).
6
+ *
7
+ * The adapter surface is the package's PUBLIC entry — `Presets`,
8
+ * `Settings.getHapticsSupportLevel()`, and the `HapticSupport` enum —
9
+ * verified against installed react-native-pulsar 1.7.0. No TurboModule
10
+ * digging, no private root functions: capability queries go through the
11
+ * single Settings adapter, and a missing method fails closed downstream.
12
+ */
13
+
14
+ let loader = null;
15
+ export function __setPulsarLoader(fn) {
16
+ loader = fn;
17
+ }
18
+ export function loadPulsar() {
19
+ if (loader) {
20
+ return loader();
21
+ }
22
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
23
+ const mod = require('react-native-pulsar');
24
+ const Presets = mod.Presets ?? mod.Presets;
25
+ if (!Presets) {
26
+ throw new Error('Presets not found in react-native-pulsar — linking may have failed');
27
+ }
28
+ // Resolve public Settings + HapticSupport from the package root (not deep imports).
29
+ const Settings = mod.Settings ?? mod.default?.Settings ?? mod.Settings;
30
+ const HapticSupport = mod.HapticSupport ?? mod.default?.HapticSupport ?? mod.HapticSupport;
31
+ return {
32
+ Presets,
33
+ Settings: Settings,
34
+ HapticSupport
35
+ };
36
+ }
37
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["loader","__setPulsarLoader","fn","loadPulsar","mod","require","Presets","Error","Settings","default","HapticSupport"],"sourceRoot":"../../../src","sources":["haptics/resolver.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA,IAAIA,MAAmC,GAAG,IAAI;AAE9C,OAAO,SAASC,iBAAiBA,CAACC,EAA+B,EAAQ;EACvEF,MAAM,GAAGE,EAAE;AACb;AAEA,OAAO,SAASC,UAAUA,CAAA,EAAiB;EACzC,IAAIH,MAAM,EAAE;IACV,OAAOA,MAAM,CAAC,CAAC;EACjB;EACA;EACA,MAAMI,GAAG,GAAGC,OAAO,CAAC,qBAAqB,CAKxC;EACD,MAAMC,OAAO,GACVF,GAAG,CAAsDE,OAAO,IAChEF,GAAG,CAA6BE,OAAO;EAC1C,IAAI,CAACA,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,oEAAoE,CAAC;EACvF;EACA;EACA,MAAMC,QAAQ,GACXJ,GAAG,CAAwDI,QAAQ,IACnEJ,GAAG,CAAsEK,OAAO,EAAED,QAAQ,IAC1FJ,GAAG,CAA6BI,QAAQ;EAC3C,MAAME,aAAa,GAChBN,GAAG,CAA2DM,aAAa,IAC3EN,GAAG,CAAyEK,OAAO,EAAEC,aAAa,IAClGN,GAAG,CAA6BM,aAAa;EAChD,OAAO;IACLJ,OAAO;IACPE,QAAQ,EAAEA,QAAoC;IAC9CE;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["haptics/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Subpath entry for `rn-gamekit/haptics`.
5
+ * Importing `rn-gamekit` or `rn-gamekit/react` must not load this module.
6
+ */
7
+ export { createGameHaptics } from "./haptics/createGameHaptics.js";
8
+ export { GameHapticsError } from "./haptics/errors.js";
9
+ //# sourceMappingURL=haptics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createGameHaptics","GameHapticsError"],"sourceRoot":"../../src","sources":["haptics.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,SAASA,iBAAiB,QAAQ,gCAA6B;AAC/D,SAASC,gBAAgB,QAAQ,qBAAkB","ignoreList":[]}
@@ -1,12 +1,19 @@
1
1
  "use strict";
2
2
 
3
+ export { clampCameraBounds2D, createCamera2D, filterCameraVisible2D, followCamera2D, getCameraVisibleBounds2D, interpolateCamera2D, intersectsCameraView2D, logicalToWorld2D, sampleCameraShake2D, surfaceToWorld2D, worldToLogical2D, worldToSurface2D } from "./camera2d.js";
3
4
  export { createGameSession } from "./core/session/createGameSession.js";
5
+ export { GameEventError } from "./events/errors.js";
6
+ export { defineGameEvents, gameEvent } from "./events/defineGameEvents.js";
7
+ export { seedGameEvent } from "./events/seed.js";
4
8
  export { GameSessionDisposedError, GameSessionLifecycleError } from "./core/session/types.js";
5
9
  export { advanceSpriteAnimation, pauseSpriteAnimation, playSpriteAnimation, resetSpriteAnimation, resumeSpriteAnimation, setSpriteAnimationSpeed, startSpriteAnimation } from "./sprites/spriteAnimationState.js";
6
- export { sampleSpriteClipFrame, sampleSpriteClipFrameName, spriteClipDurationMs } from "./sprites/sampleSpriteClip.js";
10
+ export { sampleSpriteClipFrame, sampleSpriteClipFrameName, spriteClipDurationMs, spriteFrameNameForClip } from "./sprites/sampleSpriteClip.js";
7
11
  export { defineAssets, image, spriteSheet } from "./assets/defineAssets.js";
8
12
  export { GameAssetError } from "./assets/errors.js";
9
13
  export { defineGame } from "./definition/defineGame.js";
14
+ export { PAYLOAD_LIMITS } from "./events/payload.js";
15
+ export * from "./geometry.js";
16
+ export * from "./collision2d.js";
10
17
  export { defineScene } from "./scene/defineScene.js";
11
18
  export { containsSurfacePoint, resolveViewport2D, surfaceToWorld, worldToSurface } from "./viewport2d/index.js";
12
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createGameSession","GameSessionDisposedError","GameSessionLifecycleError","advanceSpriteAnimation","pauseSpriteAnimation","playSpriteAnimation","resetSpriteAnimation","resumeSpriteAnimation","setSpriteAnimationSpeed","startSpriteAnimation","sampleSpriteClipFrame","sampleSpriteClipFrameName","spriteClipDurationMs","defineAssets","image","spriteSheet","GameAssetError","defineGame","defineScene","containsSurfacePoint","resolveViewport2D","surfaceToWorld","worldToSurface"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,qCAAkC;AACpE,SAASC,wBAAwB,EAAEC,yBAAyB,QAAQ,yBAAsB;AAe1F,SACEC,sBAAsB,EACtBC,oBAAoB,EACpBC,mBAAmB,EACnBC,oBAAoB,EACpBC,qBAAqB,EACrBC,uBAAuB,EACvBC,oBAAoB,QACf,mCAAgC;AACvC,SACEC,qBAAqB,EACrBC,yBAAyB,EACzBC,oBAAoB,QACf,+BAA4B;AAEnC,SAASC,YAAY,EAAEC,KAAK,EAAEC,WAAW,QAAQ,0BAAuB;AACxE,SAASC,cAAc,QAAQ,oBAAiB;AAmBhD,SAASC,UAAU,QAAQ,4BAAyB;AAWpD,SAASC,WAAW,QAAQ,wBAAqB;AAQjD,SACEC,oBAAoB,EACpBC,iBAAiB,EACjBC,cAAc,EACdC,cAAc,QACT,uBAAc","ignoreList":[]}
1
+ {"version":3,"names":["clampCameraBounds2D","createCamera2D","filterCameraVisible2D","followCamera2D","getCameraVisibleBounds2D","interpolateCamera2D","intersectsCameraView2D","logicalToWorld2D","sampleCameraShake2D","surfaceToWorld2D","worldToLogical2D","worldToSurface2D","createGameSession","GameEventError","defineGameEvents","gameEvent","seedGameEvent","GameSessionDisposedError","GameSessionLifecycleError","advanceSpriteAnimation","pauseSpriteAnimation","playSpriteAnimation","resetSpriteAnimation","resumeSpriteAnimation","setSpriteAnimationSpeed","startSpriteAnimation","sampleSpriteClipFrame","sampleSpriteClipFrameName","spriteClipDurationMs","spriteFrameNameForClip","defineAssets","image","spriteSheet","GameAssetError","defineGame","PAYLOAD_LIMITS","defineScene","containsSurfacePoint","resolveViewport2D","surfaceToWorld","worldToSurface"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SACEA,mBAAmB,EACnBC,cAAc,EACdC,qBAAqB,EACrBC,cAAc,EACdC,wBAAwB,EACxBC,mBAAmB,EACnBC,sBAAsB,EACtBC,gBAAgB,EAChBC,mBAAmB,EACnBC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,QACX,eAAY;AAQnB,SAASC,iBAAiB,QAAQ,qCAAkC;AACpE,SAASC,cAAc,QAAQ,oBAAiB;AAChD,SAASC,gBAAgB,EAAEC,SAAS,QAAQ,8BAA2B;AACvE,SAASC,aAAa,QAAQ,kBAAe;AAU7C,SAASC,wBAAwB,EAAEC,yBAAyB,QAAQ,yBAAsB;AAe1F,SACEC,sBAAsB,EACtBC,oBAAoB,EACpBC,mBAAmB,EACnBC,oBAAoB,EACpBC,qBAAqB,EACrBC,uBAAuB,EACvBC,oBAAoB,QACf,mCAAgC;AACvC,SACEC,qBAAqB,EACrBC,yBAAyB,EACzBC,oBAAoB,EACpBC,sBAAsB,QACjB,+BAA4B;AAEnC,SAASC,YAAY,EAAEC,KAAK,EAAEC,WAAW,QAAQ,0BAAuB;AACxE,SAASC,cAAc,QAAQ,oBAAiB;AAmBhD,SAASC,UAAU,QAAQ,4BAAyB;AAUpD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,cAAc,eAAY;AAC1B,cAAc,kBAAe;AAC7B,SAASC,WAAW,QAAQ,wBAAqB;AAQjD,SACEC,oBAAoB,EACpBC,iBAAiB,EACjBC,cAAc,EACdC,cAAc,QACT,uBAAc","ignoreList":[]}