move.gl 0.0.1 → 0.0.2

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 (463) hide show
  1. package/README.md +185 -11
  2. package/dist/LICENSE +21 -0
  3. package/dist/README.md +212 -0
  4. package/dist/css/move.gl.css +43859 -0
  5. package/dist/css/move.gl.min.css +19 -0
  6. package/dist/js/index.cjs +1171 -0
  7. package/dist/js/index.cjs.map +1 -0
  8. package/dist/js/index.d.cts +184 -0
  9. package/dist/js/index.d.ts +184 -0
  10. package/dist/js/index.mjs +1135 -0
  11. package/dist/js/index.mjs.map +1 -0
  12. package/dist/package.json +68 -0
  13. package/{scss → dist/scss}/classes/_animations.scss +33 -14
  14. package/dist/scss/classes/_controls.scss +314 -0
  15. package/dist/scss/classes/_effects.scss +283 -0
  16. package/dist/scss/classes/_index.scss +28 -0
  17. package/dist/scss/classes/_loaders.scss +779 -0
  18. package/dist/scss/classes/_transforms.scss +138 -0
  19. package/dist/scss/classes/_transitions.scss +264 -0
  20. package/{scss → dist/scss}/dev/_deprecation.scss +6 -3
  21. package/{scss → dist/scss}/dev/_modules.scss +5 -6
  22. package/dist/scss/docs.scss +2344 -0
  23. package/dist/scss/docs.scss.bak +3133 -0
  24. package/dist/scss/functions/_index.scss +22 -0
  25. package/dist/scss/functions/scenes/_bubble.scss +32 -0
  26. package/dist/scss/functions/scenes/_index.scss +21 -0
  27. package/dist/scss/index.scss +17 -0
  28. package/dist/scss/maps/_controls.scss +85 -0
  29. package/dist/scss/maps/_index.scss +22 -0
  30. package/{scss → dist/scss}/mixins/_accessibility.scss +24 -3
  31. package/{scss → dist/scss}/mixins/_boot.scss +4 -4
  32. package/dist/scss/mixins/_index.scss +41 -0
  33. package/dist/scss/mixins/_screensaver.scss +228 -0
  34. package/dist/scss/mixins/_shape.scss +315 -0
  35. package/dist/scss/mixins/animations/_base.scss +403 -0
  36. package/dist/scss/mixins/animations/_beat.scss +137 -0
  37. package/{scss → dist/scss}/mixins/animations/_blink.scss +60 -52
  38. package/dist/scss/mixins/animations/_bounce.scss +306 -0
  39. package/{scss → dist/scss}/mixins/animations/_elastic.scss +26 -22
  40. package/dist/scss/mixins/animations/_fade.scss +393 -0
  41. package/{scss → dist/scss}/mixins/animations/_flash.scss +53 -61
  42. package/dist/scss/mixins/animations/_flip.scss +251 -0
  43. package/{scss → dist/scss}/mixins/animations/_float.scss +47 -32
  44. package/{scss → dist/scss}/mixins/animations/_glow.scss +69 -58
  45. package/dist/scss/mixins/animations/_heartbeat.scss +195 -0
  46. package/dist/scss/mixins/animations/_hinge.scss +118 -0
  47. package/dist/scss/mixins/animations/_index.scss +97 -0
  48. package/dist/scss/mixins/animations/_jello.scss +123 -0
  49. package/dist/scss/mixins/animations/_jiggle.scss +162 -0
  50. package/dist/scss/mixins/animations/_lightspeed.scss +135 -0
  51. package/{scss → dist/scss}/mixins/animations/_nod.scss +57 -65
  52. package/dist/scss/mixins/animations/_pop.scss +153 -0
  53. package/dist/scss/mixins/animations/_pulse.scss +275 -0
  54. package/{scss → dist/scss}/mixins/animations/_ripple.scss +47 -55
  55. package/dist/scss/mixins/animations/_roll.scss +217 -0
  56. package/dist/scss/mixins/animations/_rotate.scss +728 -0
  57. package/dist/scss/mixins/animations/_rubber.scss +115 -0
  58. package/dist/scss/mixins/animations/_scale.scss +382 -0
  59. package/dist/scss/mixins/animations/_shake.scss +233 -0
  60. package/dist/scss/mixins/animations/_slide.scss +501 -0
  61. package/dist/scss/mixins/animations/_spin.scss +322 -0
  62. package/{scss → dist/scss}/mixins/animations/_sway.scss +32 -49
  63. package/{scss → dist/scss}/mixins/animations/_swing.scss +47 -49
  64. package/{scss → dist/scss}/mixins/animations/_tada.scss +44 -42
  65. package/{scss → dist/scss}/mixins/animations/_twist.scss +40 -55
  66. package/{scss → dist/scss}/mixins/animations/_wave.scss +36 -53
  67. package/dist/scss/mixins/animations/_wobble.scss +283 -0
  68. package/dist/scss/mixins/animations/_zoom.scss +394 -0
  69. package/{scss/mixins/mouse → dist/scss/mixins/controls}/_cursor.scss +60 -39
  70. package/dist/scss/mixins/controls/_hover.scss +625 -0
  71. package/dist/scss/mixins/controls/_index.scss +30 -0
  72. package/dist/scss/mixins/controls/_keyboard.scss +300 -0
  73. package/{scss/mixins/mouse → dist/scss/mixins/controls}/_pointer.scss +81 -72
  74. package/dist/scss/mixins/controls/_scroll.scss +460 -0
  75. package/{scss/mixins/scroll → dist/scss/mixins/controls}/_scrollbar.scss +50 -16
  76. package/dist/scss/mixins/controls/_selection.scss +208 -0
  77. package/dist/scss/mixins/controls/_touch.scss +401 -0
  78. package/dist/scss/mixins/effects/_blend.scss +128 -0
  79. package/dist/scss/mixins/effects/_filter.scss +470 -0
  80. package/dist/scss/mixins/effects/_focus.scss +83 -0
  81. package/dist/scss/mixins/effects/_gradient.scss +130 -0
  82. package/dist/scss/mixins/effects/_index.scss +28 -0
  83. package/dist/scss/mixins/effects/_mask.scss +76 -0
  84. package/dist/scss/mixins/effects/_opacity.scss +376 -0
  85. package/dist/scss/mixins/effects/_shadow.scss +429 -0
  86. package/dist/scss/mixins/keyframes/_base.scss +199 -0
  87. package/dist/scss/mixins/keyframes/_index.scss +24 -0
  88. package/dist/scss/mixins/keyframes/animations/_beat.scss +280 -0
  89. package/dist/scss/mixins/keyframes/animations/_blink.scss +82 -0
  90. package/dist/scss/mixins/keyframes/animations/_bounce.scss +292 -0
  91. package/dist/scss/mixins/keyframes/animations/_fade.scss +311 -0
  92. package/dist/scss/mixins/keyframes/animations/_flash.scss +165 -0
  93. package/dist/scss/mixins/keyframes/animations/_flip.scss +266 -0
  94. package/{scss/mixins → dist/scss/mixins/keyframes}/animations/_index.scss +19 -10
  95. package/dist/scss/mixins/keyframes/animations/_jiggle.scss +85 -0
  96. package/dist/scss/mixins/keyframes/animations/_lightspeed.scss +73 -0
  97. package/dist/scss/mixins/keyframes/animations/_nod.scss +79 -0
  98. package/dist/scss/mixins/keyframes/animations/_pop.scss +78 -0
  99. package/dist/scss/mixins/keyframes/animations/_pulse.scss +225 -0
  100. package/dist/scss/mixins/keyframes/animations/_ripple.scss +94 -0
  101. package/dist/scss/mixins/keyframes/animations/_roll.scss +124 -0
  102. package/dist/scss/mixins/keyframes/animations/_rotate.scss +360 -0
  103. package/dist/scss/mixins/keyframes/animations/_rubber.scss +81 -0
  104. package/dist/scss/mixins/keyframes/animations/_scale.scss +308 -0
  105. package/dist/scss/mixins/keyframes/animations/_shake.scss +270 -0
  106. package/dist/scss/mixins/keyframes/animations/_slide.scss +345 -0
  107. package/dist/scss/mixins/keyframes/animations/_spin.scss +270 -0
  108. package/dist/scss/mixins/keyframes/animations/_sway.scss +83 -0
  109. package/dist/scss/mixins/keyframes/animations/_twist.scss +89 -0
  110. package/dist/scss/mixins/keyframes/animations/_wave.scss +90 -0
  111. package/dist/scss/mixins/keyframes/animations/_wobble.scss +293 -0
  112. package/dist/scss/mixins/keyframes/animations/_zoom.scss +345 -0
  113. package/dist/scss/mixins/loaders/_bars.scss +128 -0
  114. package/dist/scss/mixins/loaders/_base.scss +39 -0
  115. package/dist/scss/mixins/loaders/_bubble.scss +395 -0
  116. package/dist/scss/mixins/loaders/_circle.scss +456 -0
  117. package/dist/scss/mixins/loaders/_dots.scss +248 -0
  118. package/dist/scss/mixins/loaders/_graph.scss +542 -0
  119. package/dist/scss/mixins/loaders/_index.scss +77 -0
  120. package/dist/scss/mixins/loaders/_line.scss +471 -0
  121. package/dist/scss/mixins/loaders/_objects.scss +563 -0
  122. package/dist/scss/mixins/loaders/_progress.scss +477 -0
  123. package/dist/scss/mixins/loaders/_rect.scss +480 -0
  124. package/dist/scss/mixins/loaders/_rings.scss +377 -0
  125. package/dist/scss/mixins/loaders/_skeleton.scss +461 -0
  126. package/dist/scss/mixins/loaders/_special.scss +611 -0
  127. package/dist/scss/mixins/loaders/_spinner.scss +175 -0
  128. package/dist/scss/mixins/loaders/_text.scss +446 -0
  129. package/{scss → dist/scss}/mixins/transforms/_flip.scss +16 -18
  130. package/dist/scss/mixins/transforms/_index.scss +28 -0
  131. package/dist/scss/mixins/transforms/_matrix.scss +18 -0
  132. package/{scss → dist/scss}/mixins/transforms/_perspective.scss +18 -1
  133. package/{scss → dist/scss}/mixins/transforms/_rotate.scss +9 -14
  134. package/{scss → dist/scss}/mixins/transforms/_scale.scss +16 -1
  135. package/{scss → dist/scss}/mixins/transforms/_skew.scss +16 -2
  136. package/{scss → dist/scss}/mixins/transforms/_translate.scss +16 -2
  137. package/dist/scss/mixins/transitions/_index.scss +22 -0
  138. package/dist/scss/mixins/transitions/_transition.scss +43 -0
  139. package/dist/scss/variables/_animations.scss +300 -0
  140. package/dist/scss/variables/_controls.scss +178 -0
  141. package/dist/scss/variables/_effects.scss +87 -0
  142. package/dist/scss/variables/_index.scss +27 -0
  143. package/dist/scss/variables/_keyframes.scss +28 -0
  144. package/dist/scss/variables/_loaders.scss +75 -0
  145. package/dist/scss/variables/_transforms.scss +85 -0
  146. package/dist/scss/variables/_transitions.scss +80 -0
  147. package/dist/ts/Draggable.ts +143 -0
  148. package/dist/ts/Gesture.ts +226 -0
  149. package/dist/ts/Keyboard.ts +195 -0
  150. package/dist/ts/LoaderManager.ts +662 -0
  151. package/dist/ts/Screensaver.ts +192 -0
  152. package/dist/ts/VideoOverlay.ts +205 -0
  153. package/dist/ts/demo.ts +1108 -0
  154. package/dist/ts/index.ts +58 -0
  155. package/package.json +90 -53
  156. package/src/html/_base.html +138 -0
  157. package/src/html/base.html +147 -0
  158. package/src/html/core-concepts.html +282 -0
  159. package/src/html/demo_base.html +171 -0
  160. package/src/html/demo_draggable.html +250 -0
  161. package/src/html/demo_gesture.html +264 -0
  162. package/src/html/demo_keyboard.html +224 -0
  163. package/src/html/demo_screensaver.html +258 -0
  164. package/src/html/demo_video_overlay.html +291 -0
  165. package/src/html/getting-started.html +242 -0
  166. package/src/html/index.html +400 -0
  167. package/src/html/keyboard.html +14 -0
  168. package/src/html/partials/_demo_links.html +21 -0
  169. package/src/html/partials/_footer.html +18 -0
  170. package/src/html/partials/_head.html +21 -0
  171. package/src/html/partials/_nav.html +84 -0
  172. package/src/html/partials/_theme_toggle.html +11 -0
  173. package/src/html/screensaver.html +20 -0
  174. package/src/html/test_animations.html +813 -0
  175. package/src/html/test_attention.html +281 -0
  176. package/src/html/test_bounce.html +201 -0
  177. package/src/html/test_effects.html +1348 -0
  178. package/src/html/test_fade.html +213 -0
  179. package/src/html/test_flip.html +208 -0
  180. package/src/html/test_keyframes.html +415 -0
  181. package/src/html/test_loaders.html +1489 -0
  182. package/src/html/test_mouse.html +516 -0
  183. package/src/html/test_overview.html +1444 -0
  184. package/src/html/test_pulse.html +212 -0
  185. package/src/html/test_scale.html +204 -0
  186. package/src/html/test_shake.html +232 -0
  187. package/src/html/test_slide.html +212 -0
  188. package/src/html/test_special.html +257 -0
  189. package/src/html/test_spin.html +216 -0
  190. package/src/html/test_transforms.html +332 -0
  191. package/src/html/test_transitions.html +245 -0
  192. package/src/html/test_zoom.html +188 -0
  193. package/src/html/video_overlay.html +27 -0
  194. package/src/jinja/_base.html.jinja +50 -0
  195. package/src/jinja/base.html.jinja +48 -0
  196. package/src/jinja/core-concepts.html.jinja +148 -0
  197. package/src/jinja/demo_draggable.html.jinja +114 -0
  198. package/src/jinja/demo_gesture.html.jinja +128 -0
  199. package/src/jinja/demo_keyboard.html.jinja +88 -0
  200. package/src/jinja/demo_screensaver.html.jinja +122 -0
  201. package/src/jinja/demo_video_overlay.html.jinja +155 -0
  202. package/src/jinja/getting-started.html.jinja +108 -0
  203. package/src/jinja/index.html.jinja +268 -0
  204. package/src/jinja/index.json +5 -0
  205. package/src/jinja/move.gl.css +7741 -0
  206. package/src/jinja/partials/_code_block.html.jinja +17 -0
  207. package/src/jinja/partials/_demo_links.html.jinja +41 -0
  208. package/src/jinja/partials/_feature_card.html.jinja +20 -0
  209. package/src/jinja/partials/_footer.html.jinja +22 -0
  210. package/src/jinja/partials/_head.html.jinja +27 -0
  211. package/src/jinja/partials/_nav.html.jinja +79 -0
  212. package/src/jinja/partials/_theme_toggle.html.jinja +15 -0
  213. package/src/jinja/test_animations.html.jinja +679 -0
  214. package/src/jinja/test_attention.html.jinja +147 -0
  215. package/src/jinja/test_bounce.html.jinja +67 -0
  216. package/src/jinja/test_effects.html.jinja +1218 -0
  217. package/src/jinja/test_fade.html.jinja +79 -0
  218. package/src/jinja/test_flip.html.jinja +74 -0
  219. package/src/jinja/test_keyframes.html.jinja +281 -0
  220. package/src/jinja/test_loaders.html.jinja +1358 -0
  221. package/src/jinja/test_mouse.html.jinja +382 -0
  222. package/src/jinja/test_overview.html.jinja +1313 -0
  223. package/src/jinja/test_pulse.html.jinja +78 -0
  224. package/src/jinja/test_scale.html.jinja +70 -0
  225. package/src/jinja/test_shake.html.jinja +98 -0
  226. package/src/jinja/test_slide.html.jinja +78 -0
  227. package/src/jinja/test_special.html.jinja +123 -0
  228. package/src/jinja/test_spin.html.jinja +82 -0
  229. package/src/jinja/test_transforms.html.jinja +198 -0
  230. package/src/jinja/test_transitions.html.jinja +111 -0
  231. package/src/jinja/test_zoom.html.jinja +54 -0
  232. package/src/scss/classes/_animations.scss +595 -0
  233. package/src/scss/classes/_controls.scss +314 -0
  234. package/src/scss/classes/_effects.scss +283 -0
  235. package/src/scss/classes/_index.scss +28 -0
  236. package/src/scss/classes/_loaders.scss +779 -0
  237. package/src/scss/classes/_transforms.scss +138 -0
  238. package/src/scss/classes/_transitions.scss +264 -0
  239. package/src/scss/dev/_banner.scss +36 -0
  240. package/src/scss/dev/_debug.scss +18 -0
  241. package/src/scss/dev/_deprecation.scss +13 -0
  242. package/src/scss/dev/_index.scss +8 -0
  243. package/src/scss/dev/_modules.scss +23 -0
  244. package/src/scss/docs.scss +2344 -0
  245. package/src/scss/docs.scss.bak +3133 -0
  246. package/src/scss/functions/_index.scss +22 -0
  247. package/src/scss/functions/scenes/_bubble.scss +32 -0
  248. package/src/scss/functions/scenes/_index.scss +21 -0
  249. package/src/scss/index.scss +17 -0
  250. package/src/scss/maps/_controls.scss +85 -0
  251. package/src/scss/maps/_index.scss +22 -0
  252. package/src/scss/mixins/_accessibility.scss +91 -0
  253. package/src/scss/mixins/_boot.scss +51 -0
  254. package/src/scss/mixins/_index.scss +41 -0
  255. package/src/scss/mixins/_screensaver.scss +228 -0
  256. package/src/scss/mixins/_shape.scss +315 -0
  257. package/src/scss/mixins/animations/_base.scss +403 -0
  258. package/src/scss/mixins/animations/_beat.scss +137 -0
  259. package/src/scss/mixins/animations/_blink.scss +159 -0
  260. package/src/scss/mixins/animations/_bounce.scss +306 -0
  261. package/src/scss/mixins/animations/_elastic.scss +69 -0
  262. package/src/scss/mixins/animations/_fade.scss +393 -0
  263. package/src/scss/mixins/animations/_flash.scss +169 -0
  264. package/src/scss/mixins/animations/_flip.scss +251 -0
  265. package/src/scss/mixins/animations/_float.scss +141 -0
  266. package/src/scss/mixins/animations/_glow.scss +190 -0
  267. package/src/scss/mixins/animations/_heartbeat.scss +195 -0
  268. package/src/scss/mixins/animations/_hinge.scss +118 -0
  269. package/src/scss/mixins/animations/_index.scss +97 -0
  270. package/src/scss/mixins/animations/_jello.scss +123 -0
  271. package/src/scss/mixins/animations/_jiggle.scss +162 -0
  272. package/src/scss/mixins/animations/_lightspeed.scss +135 -0
  273. package/src/scss/mixins/animations/_nod.scss +153 -0
  274. package/src/scss/mixins/animations/_pop.scss +153 -0
  275. package/src/scss/mixins/animations/_pulse.scss +275 -0
  276. package/src/scss/mixins/animations/_ripple.scss +161 -0
  277. package/src/scss/mixins/animations/_roll.scss +217 -0
  278. package/src/scss/mixins/animations/_rotate.scss +728 -0
  279. package/src/scss/mixins/animations/_rubber.scss +115 -0
  280. package/src/scss/mixins/animations/_scale.scss +382 -0
  281. package/src/scss/mixins/animations/_shake.scss +233 -0
  282. package/src/scss/mixins/animations/_slide.scss +501 -0
  283. package/src/scss/mixins/animations/_spin.scss +322 -0
  284. package/src/scss/mixins/animations/_sway.scss +150 -0
  285. package/src/scss/mixins/animations/_swing.scss +245 -0
  286. package/src/scss/mixins/animations/_tada.scss +235 -0
  287. package/src/scss/mixins/animations/_twist.scss +162 -0
  288. package/src/scss/mixins/animations/_wave.scss +149 -0
  289. package/src/scss/mixins/animations/_wobble.scss +283 -0
  290. package/src/scss/mixins/animations/_zoom.scss +394 -0
  291. package/src/scss/mixins/controls/_cursor.scss +203 -0
  292. package/src/scss/mixins/controls/_hover.scss +625 -0
  293. package/src/scss/mixins/controls/_index.scss +30 -0
  294. package/src/scss/mixins/controls/_keyboard.scss +300 -0
  295. package/src/scss/mixins/controls/_pointer.scss +267 -0
  296. package/src/scss/mixins/controls/_scroll.scss +460 -0
  297. package/src/scss/mixins/controls/_scrollbar.scss +283 -0
  298. package/src/scss/mixins/controls/_selection.scss +208 -0
  299. package/src/scss/mixins/controls/_touch.scss +401 -0
  300. package/src/scss/mixins/effects/_blend.scss +128 -0
  301. package/src/scss/mixins/effects/_filter.scss +470 -0
  302. package/src/scss/mixins/effects/_focus.scss +83 -0
  303. package/src/scss/mixins/effects/_gradient.scss +130 -0
  304. package/src/scss/mixins/effects/_index.scss +28 -0
  305. package/src/scss/mixins/effects/_mask.scss +76 -0
  306. package/src/scss/mixins/effects/_opacity.scss +376 -0
  307. package/src/scss/mixins/effects/_shadow.scss +429 -0
  308. package/src/scss/mixins/keyframes/_base.scss +199 -0
  309. package/src/scss/mixins/keyframes/_index.scss +24 -0
  310. package/src/scss/mixins/keyframes/animations/_beat.scss +280 -0
  311. package/src/scss/mixins/keyframes/animations/_blink.scss +82 -0
  312. package/src/scss/mixins/keyframes/animations/_bounce.scss +292 -0
  313. package/src/scss/mixins/keyframes/animations/_fade.scss +311 -0
  314. package/src/scss/mixins/keyframes/animations/_flash.scss +165 -0
  315. package/src/scss/mixins/keyframes/animations/_flip.scss +266 -0
  316. package/src/scss/mixins/keyframes/animations/_index.scss +46 -0
  317. package/src/scss/mixins/keyframes/animations/_jiggle.scss +85 -0
  318. package/src/scss/mixins/keyframes/animations/_lightspeed.scss +73 -0
  319. package/src/scss/mixins/keyframes/animations/_nod.scss +79 -0
  320. package/src/scss/mixins/keyframes/animations/_pop.scss +78 -0
  321. package/src/scss/mixins/keyframes/animations/_pulse.scss +225 -0
  322. package/src/scss/mixins/keyframes/animations/_ripple.scss +94 -0
  323. package/src/scss/mixins/keyframes/animations/_roll.scss +124 -0
  324. package/src/scss/mixins/keyframes/animations/_rotate.scss +360 -0
  325. package/src/scss/mixins/keyframes/animations/_rubber.scss +81 -0
  326. package/src/scss/mixins/keyframes/animations/_scale.scss +308 -0
  327. package/src/scss/mixins/keyframes/animations/_shake.scss +270 -0
  328. package/src/scss/mixins/keyframes/animations/_slide.scss +345 -0
  329. package/src/scss/mixins/keyframes/animations/_spin.scss +270 -0
  330. package/src/scss/mixins/keyframes/animations/_sway.scss +83 -0
  331. package/src/scss/mixins/keyframes/animations/_twist.scss +89 -0
  332. package/src/scss/mixins/keyframes/animations/_wave.scss +90 -0
  333. package/src/scss/mixins/keyframes/animations/_wobble.scss +293 -0
  334. package/src/scss/mixins/keyframes/animations/_zoom.scss +345 -0
  335. package/src/scss/mixins/loaders/_bars.scss +128 -0
  336. package/src/scss/mixins/loaders/_base.scss +39 -0
  337. package/src/scss/mixins/loaders/_bubble.scss +395 -0
  338. package/src/scss/mixins/loaders/_circle.scss +456 -0
  339. package/src/scss/mixins/loaders/_dots.scss +248 -0
  340. package/src/scss/mixins/loaders/_graph.scss +542 -0
  341. package/src/scss/mixins/loaders/_index.scss +77 -0
  342. package/src/scss/mixins/loaders/_line.scss +471 -0
  343. package/src/scss/mixins/loaders/_objects.scss +563 -0
  344. package/src/scss/mixins/loaders/_progress.scss +477 -0
  345. package/src/scss/mixins/loaders/_rect.scss +480 -0
  346. package/src/scss/mixins/loaders/_rings.scss +377 -0
  347. package/src/scss/mixins/loaders/_skeleton.scss +461 -0
  348. package/src/scss/mixins/loaders/_special.scss +611 -0
  349. package/src/scss/mixins/loaders/_spinner.scss +175 -0
  350. package/src/scss/mixins/loaders/_text.scss +446 -0
  351. package/src/scss/mixins/transforms/_flip.scss +74 -0
  352. package/src/scss/mixins/transforms/_index.scss +28 -0
  353. package/src/scss/mixins/transforms/_matrix.scss +18 -0
  354. package/src/scss/mixins/transforms/_perspective.scss +28 -0
  355. package/src/scss/mixins/transforms/_rotate.scss +96 -0
  356. package/src/scss/mixins/transforms/_scale.scss +26 -0
  357. package/src/scss/mixins/transforms/_skew.scss +27 -0
  358. package/src/scss/mixins/transforms/_translate.scss +27 -0
  359. package/src/scss/mixins/transitions/_index.scss +22 -0
  360. package/src/scss/mixins/transitions/_transition.scss +43 -0
  361. package/src/scss/variables/_animations.scss +300 -0
  362. package/src/scss/variables/_controls.scss +178 -0
  363. package/src/scss/variables/_effects.scss +87 -0
  364. package/src/scss/variables/_index.scss +27 -0
  365. package/src/scss/variables/_keyframes.scss +28 -0
  366. package/src/scss/variables/_loaders.scss +75 -0
  367. package/src/scss/variables/_transforms.scss +85 -0
  368. package/src/scss/variables/_transitions.scss +80 -0
  369. package/src/ts/Draggable.ts +143 -0
  370. package/src/ts/Gesture.ts +226 -0
  371. package/src/ts/Keyboard.ts +195 -0
  372. package/src/ts/LoaderManager.ts +662 -0
  373. package/src/ts/Screensaver.ts +192 -0
  374. package/src/ts/VideoOverlay.ts +205 -0
  375. package/src/ts/demo.ts +1108 -0
  376. package/src/ts/index.ts +58 -0
  377. package/css/move.gl.css +0 -2
  378. package/css/move.gl.min.css +0 -2
  379. package/scss/classes/_transforms.scss +0 -124
  380. package/scss/classes/keyboard.scss +0 -18
  381. package/scss/classes/screensaver.scss +0 -15
  382. package/scss/effects/_filter.scss +0 -176
  383. package/scss/effects/_index.scss +0 -23
  384. package/scss/effects/_opacity.scss +0 -62
  385. package/scss/effects/_shadow.scss +0 -175
  386. package/scss/functions/scenes/_bubble.scss +0 -19
  387. package/scss/functions/scenes/_index.scss +0 -20
  388. package/scss/index.scss +0 -0
  389. package/scss/keyframes/_beat.scss +0 -26
  390. package/scss/keyframes/_index.scss +0 -0
  391. package/scss/maps/_index.scss +0 -0
  392. package/scss/maps/_mouse.scss +0 -96
  393. package/scss/mixins/_hover.scss +0 -51
  394. package/scss/mixins/_index.scss +0 -0
  395. package/scss/mixins/_selection.scss +0 -321
  396. package/scss/mixins/_shape.scss +0 -44
  397. package/scss/mixins/_touch.scss +0 -95
  398. package/scss/mixins/animations/--hover.scss +0 -107
  399. package/scss/mixins/animations/_base.scss +0 -337
  400. package/scss/mixins/animations/_beat.scss +0 -119
  401. package/scss/mixins/animations/_bounce.scss +0 -192
  402. package/scss/mixins/animations/_fade.scss +0 -154
  403. package/scss/mixins/animations/_flip.scss +0 -72
  404. package/scss/mixins/animations/_heartbeat.scss +0 -175
  405. package/scss/mixins/animations/_hinge.scss +0 -119
  406. package/scss/mixins/animations/_jello.scss +0 -129
  407. package/scss/mixins/animations/_jiggle.scss +0 -163
  408. package/scss/mixins/animations/_lightspeed.scss +0 -130
  409. package/scss/mixins/animations/_pop.scss +0 -150
  410. package/scss/mixins/animations/_pulse.scss +0 -213
  411. package/scss/mixins/animations/_roll.scss +0 -261
  412. package/scss/mixins/animations/_rotate.scss +0 -428
  413. package/scss/mixins/animations/_rubber.scss +0 -116
  414. package/scss/mixins/animations/_scale.scss +0 -113
  415. package/scss/mixins/animations/_shake.scss +0 -182
  416. package/scss/mixins/animations/_slide.scss +0 -294
  417. package/scss/mixins/animations/_spin.scss +0 -219
  418. package/scss/mixins/animations/_wobble.scss +0 -254
  419. package/scss/mixins/animations/_zoom.scss +0 -166
  420. package/scss/mixins/effects/_filter.scss +0 -148
  421. package/scss/mixins/effects/_index.scss +0 -0
  422. package/scss/mixins/effects/_shadow.scss +0 -21
  423. package/scss/mixins/loaders/_index.scss +0 -0
  424. package/scss/mixins/loaders/_progress.scss +0 -174
  425. package/scss/mixins/loaders/_spinner.scss +0 -101
  426. package/scss/mixins/loaders/circle_01.scss +0 -22
  427. package/scss/mixins/loaders/circle_02.scss +0 -19
  428. package/scss/mixins/loaders/circle_03.scss +0 -29
  429. package/scss/mixins/loaders/circle_inner_01.scss +0 -33
  430. package/scss/mixins/loaders/circle_inner_02.scss +0 -33
  431. package/scss/mixins/loaders/circle_inner_03.scss +0 -34
  432. package/scss/mixins/mouse/_index.scss +0 -0
  433. package/scss/mixins/scroll/_index.scss +0 -0
  434. package/scss/mixins/scroll/_scroll.scss +0 -104
  435. package/scss/mixins/transforms/_index.scss +0 -23
  436. package/scss/mixins/transforms/_matrix.scss +0 -1
  437. package/scss/mixins/transitions/_index.scss +0 -0
  438. package/scss/mixins/transitions/_transition.scss +0 -13
  439. package/scss/variables/_animation.scss +0 -91
  440. package/scss/variables/_index.scss +0 -0
  441. package/ts/ARContent.ts +0 -27
  442. package/ts/ARInteraction.ts +0 -34
  443. package/ts/AdaptiveUI.ts +0 -25
  444. package/ts/ContentStreaming.ts +0 -20
  445. package/ts/Draggable.ts +0 -71
  446. package/ts/DynamicEnvironment.ts +0 -60
  447. package/ts/Gesture.ts +0 -168
  448. package/ts/ImmersiveAudio.ts +0 -40
  449. package/ts/InteractiveCanvas.ts +0 -177
  450. package/ts/InteractiveVideo.ts +0 -29
  451. package/ts/Keyboard.ts +0 -162
  452. package/ts/RealTimeCollaboration.ts +0 -25
  453. package/ts/Screensaver.ts +0 -140
  454. package/ts/SpatialNavigation.ts +0 -38
  455. package/ts/UserProfile.ts +0 -27
  456. package/ts/VRExperience.ts +0 -58
  457. package/ts/VideoOverlay.ts +0 -116
  458. package/ts/index.ts +0 -0
  459. /package/{scss → dist/scss}/dev/_banner.scss +0 -0
  460. /package/{scss → dist/scss}/dev/_debug.scss +0 -0
  461. /package/{scss → dist/scss}/dev/_index.scss +0 -0
  462. /package/{scss/classes/_index.scss → src/html/partials/_code_block.html} +0 -0
  463. /package/{scss/functions/_index.scss → src/html/partials/_feature_card.html} +0 -0
@@ -1,91 +0,0 @@
1
-
2
- // ============================================================================
3
- // StyleScape | Animations | Base
4
- // ============================================================================
5
-
6
- @use "../dev" as *;
7
-
8
-
9
- // Default Variables
10
- // ----------------------------------------------------------------------------
11
-
12
- $animate_base_duration: 1s !default;
13
- $animate_base_duration_fast: 0.5s !default;
14
- $animate_base_duration_slow: 2s !default;
15
-
16
- $animate_base_delay: 0s !default;
17
- $animate_base_timing_function: ease-in-out !default;
18
- $animate_base_iteration_count: infinite !default;
19
- $animate_base_direction: normal !default;
20
- $animate_base_color_start: #ffffff !default;
21
- $animate_base_color_end: #000000 !default;
22
- $animate_base_color_glow_01: $N2405 !default;
23
- $animate_base_color_glow_02: $N3005 !default;
24
- $animate_base_color_glow_03: $N3605 !default;
25
-
26
-
27
- // ============================================================================
28
-
29
- $transition_duration_00: 0.5s;
30
- $transition_duration_01: 1.0s;
31
- $transition_duration_02: 1.5s;
32
- $transition_duration_03: 2.0s;
33
-
34
-
35
-
36
- $slideshow-time: 6s;
37
-
38
-
39
-
40
- // ============================================================================
41
-
42
- /// Default animation durations
43
- $animate-base-duration: 0.5s !default;
44
- $animate-base-duration-slow: 1s !default;
45
- $animate-base-duration-fast: 0.25s !default;
46
-
47
- /// Default timing functions
48
- $animate-base-timing-function: ease-in-out !default;
49
- $animate-base-timing-function-fade: cubic-bezier(.4, 0, .6, 1) !default;
50
-
51
- /// Default iteration counts
52
- $animate-base-iteration-count: infinite !default;
53
-
54
- /// Default scale values
55
- $animate-scale-base: 1 !default;
56
- $animate-scale-beat: 1.25 !default;
57
- $animate-scale-beat-fade: 1.125 !default;
58
- $animate-scale-beat-double-small: 0.8 !default;
59
- $animate-scale-beat-double-large: 1.5 !default;
60
-
61
- /// Default opacity values
62
- $animate-opacity-fade: 0.4 !default;
63
-
64
- /// Default angles
65
- $animate-angle-twist: 10deg !default;
66
- $animate-angle-gentle: 5deg !default;
67
- $animate-angle-rapid: 15deg !default;
68
-
69
-
70
-
71
-
72
-
73
-
74
- /// Animation Durations
75
- $animate-base-duration: 0.5s !default;
76
- $animate-base-duration-slow: 1s !default;
77
- $animate-base-duration-fast: 0.25s !default;
78
-
79
- /// Timing Functions
80
- $animate-base-timing-function: step-end !default;
81
- $animate-timing-function-rapid: steps(2, end) !default;
82
- $animate-timing-function-soft: ease-in-out !default;
83
- $animate-timing-function-alternate: linear !default;
84
-
85
- /// Iteration Count
86
- $animate-base-iteration-count: infinite !default;
87
-
88
- /// Opacity Levels
89
- $animate-opacity-start: 1 !default;
90
- $animate-opacity-blink: 0 !default;
91
- $animate-opacity-soft-blink: 0.3 !default;
File without changes
package/ts/ARContent.ts DELETED
@@ -1,27 +0,0 @@
1
- /**
2
- * @title Augmented Reality Content Manager
3
- * @notice Manages the lifecycle and interaction of AR content in web applications.
4
- * @dev Supports dynamic content updates, positioning, and user interaction in an augmented reality context.
5
- */
6
- class ARContentManager {
7
- private scene: any; // Placeholder for an AR framework scene object, like AR.js or similar.
8
-
9
- constructor(scene: any) {
10
- this.scene = scene;
11
- }
12
-
13
- public addContent(modelUrl: string, lat: number, lon: number) {
14
- console.log(`Adding AR content at [${lat}, ${lon}] from ${modelUrl}`);
15
- // Here you'd add the model to the scene at the specified geolocation.
16
- }
17
-
18
- public updateContent(modelId: string, properties: any) {
19
- console.log(`Updating content ${modelId} with properties`, properties);
20
- // Update properties like scale, rotation, or interactive elements.
21
- }
22
-
23
- public removeContent(modelId: string) {
24
- console.log(`Removing content ${modelId}`);
25
- // Remove a model from the scene.
26
- }
27
- }
@@ -1,34 +0,0 @@
1
- /**
2
- * @title AR Interaction Handler
3
- * @notice Manages Augmented Reality overlays and interactions using the WebXR Device API.
4
- * @dev Provides functionalities to place and interact with virtual objects in the real world through the user's camera.
5
- */
6
- class ARInteractionHandler {
7
- private xrSession: XRSession | null = null;
8
-
9
- constructor() {
10
- this.checkARSupport();
11
- }
12
-
13
- private async checkARSupport() {
14
- if (navigator.xr && await navigator.xr.isSessionSupported('immersive-ar')) {
15
- console.log("AR is supported.");
16
- this.initAR();
17
- } else {
18
- console.error("AR is not supported on this device.");
19
- }
20
- }
21
-
22
- private async initAR() {
23
- this.xrSession = await navigator.xr.requestSession('immersive-ar');
24
- this.setupARSession();
25
- }
26
-
27
- private setupARSession() {
28
- // Initialize and configure AR session settings
29
- }
30
-
31
- public addARObjectAt(x: number, y: number, z: number, object: HTMLElement) {
32
- // Translate screen coordinates to real-world coordinates and add an object there
33
- }
34
- }
package/ts/AdaptiveUI.ts DELETED
@@ -1,25 +0,0 @@
1
- /**
2
- * @title Adaptive UI Elements Handler
3
- * @notice Dynamically adjusts UI components based on user interactions and environmental contexts.
4
- * @dev Utilizes event listeners and media queries to adapt the UI for different user needs and device capabilities.
5
- */
6
- class AdaptiveUIHandler {
7
- constructor() {
8
- this.setupResponsiveListeners();
9
- }
10
-
11
- private setupResponsiveListeners() {
12
- window.addEventListener('resize', this.adjustLayout);
13
- window.addEventListener('orientationchange', this.adjustLayout);
14
- }
15
-
16
- private adjustLayout = () => {
17
- if (window.innerWidth < 600) {
18
- console.log("Switching to mobile layout");
19
- // Adjust UI for mobile layout.
20
- } else {
21
- console.log("Switching to desktop layout");
22
- // Adjust UI for desktop layout.
23
- }
24
- }
25
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * @title Dynamic Content Streaming Handler
3
- * @notice Manages the streaming and dynamic loading of content into web applications, optimizing for network and rendering performance.
4
- * @dev Utilizes service workers and caching strategies to manage content delivery and updates.
5
- */
6
- class ContentStreamingHandler {
7
- constructor(private baseUrl: string) {}
8
-
9
- public async streamContent(contentPath: string) {
10
- const response = await fetch(`${this.baseUrl}/${contentPath}`);
11
- if (!response.ok) {
12
- throw new Error('Failed to load content: ' + response.statusText);
13
- }
14
- return response.blob(); // Return the raw data for further processing or direct display
15
- }
16
-
17
- public updateContentCache(contentId: string, data: Blob) {
18
- // Use IndexedDB or local storage to cache content for offline use or quicker loading
19
- }
20
- }
package/ts/Draggable.ts DELETED
@@ -1,71 +0,0 @@
1
- // Copyright 2024 Scape Agency BV
2
-
3
-
4
- // Draggable Element Class
5
- // Creating draggable elements on the screen can enhance interactivity, especially for applications that involve organizing or direct manipulation of elements, such as dashboards or graphic editors.
6
-
7
-
8
- /**
9
- * @title Draggable Element Handler
10
- * @notice Provides functionality to make an element draggable within the confines of its parent container.
11
- * @dev Supports both mouse and touch interactions, ensuring usability across different devices.
12
- */
13
- class Draggable {
14
- private element: HTMLElement;
15
- private isDragging: boolean = false;
16
- private startX: number;
17
- private startY: number;
18
- private boundRect: DOMRect;
19
-
20
- constructor(elementId: string) {
21
- this.element = document.getElementById(elementId) as HTMLElement;
22
- this.boundRect = this.element.parentElement!.getBoundingClientRect();
23
- this.attachEventListeners();
24
- }
25
-
26
- private attachEventListeners() {
27
- this.element.addEventListener('mousedown', this.startDrag);
28
- this.element.addEventListener('touchstart', this.startDrag, { passive: false });
29
-
30
- document.addEventListener('mouseup', this.stopDrag);
31
- document.addEventListener('touchend', this.stopDrag);
32
-
33
- document.addEventListener('mousemove', this.drag);
34
- document.addEventListener('touchmove', this.drag, { passive: false });
35
- }
36
-
37
- private startDrag = (event: MouseEvent | TouchEvent) => {
38
- if (event instanceof TouchEvent) {
39
- event = event.touches[0];
40
- }
41
- this.isDragging = true;
42
- this.startX = event.clientX - this.element.offsetLeft;
43
- this.startY = event.clientY - this.element.offsetTop;
44
- event.preventDefault();
45
- };
46
-
47
- private drag = (event: MouseEvent | TouchEvent) => {
48
- if (!this.isDragging) return;
49
- if (event instanceof TouchEvent) {
50
- event = event.touches[0];
51
- }
52
-
53
- let x = event.clientX - this.startX;
54
- let y = event.clientY - this.startY;
55
-
56
- // Constrain the movement within the bounds of the element's parent
57
- x = Math.max(this.boundRect.left, Math.min(x, this.boundRect.right - this.element.offsetWidth));
58
- y = Math.max(this.boundRect.top, Math.min(y, this.boundRect.bottom - this.element.offsetHeight));
59
-
60
- this.element.style.left = `${x}px`;
61
- this.element.style.top = `${y}px`;
62
- };
63
-
64
- private stopDrag = () => {
65
- if (this.isDragging) {
66
- this.isDragging = false;
67
- }
68
- };
69
- }
70
-
71
- new Draggable('draggableElement');
@@ -1,60 +0,0 @@
1
- /**
2
- * @title Dynamic Environment Handler
3
- * @notice Controls dynamic changes in the virtual environment to enhance immersion.
4
- * @dev Manages environmental effects like lighting, weather, and background changes.
5
- */
6
- class DynamicEnvironmentHandler {
7
- private environmentSettings: any;
8
-
9
- constructor(private scene: any) {
10
- this.environmentSettings = {
11
- lighting: 'daylight',
12
- weather: 'clear'
13
- };
14
- }
15
-
16
- public changeLighting(type: string) {
17
- // Change lighting type in the scene
18
- this.environmentSettings.lighting = type;
19
- }
20
-
21
- public changeWeather(type: string) {
22
- // Implement weather changes such as rain, snow, or fog
23
- this.environmentSettings.weather = type;
24
- }
25
-
26
- public updateEnvironment() {
27
- // Apply the changes to the scene based on current settings
28
- }
29
- }
30
-
31
-
32
-
33
-
34
- /**
35
- * @title Environmental Effects Handler
36
- * @notice Manages and applies dynamic environmental effects within immersive web applications.
37
- * @dev Provides an API to change environmental conditions programmatically.
38
- */
39
- class EnvironmentalEffectsHandler {
40
- private scene: any; // This would be your 3D scene object from a library like Three.js
41
-
42
- constructor(scene: any) {
43
- this.scene = scene;
44
- }
45
-
46
- public changeWeather(weatherType: string) {
47
- console.log(`Changing weather to ${weatherType}`);
48
- // Implementation depends on how weather effects are visualized. This could involve changing textures, particle systems, etc.
49
- }
50
-
51
- public toggleDayNight(isNight: boolean) {
52
- console.log(`Setting environment to ${isNight ? "night" : "day"}`);
53
- // Adjust lighting, skybox, and other environmental factors to reflect day or night
54
- }
55
-
56
- public triggerLightning() {
57
- console.log("Triggering lightning effect");
58
- // Activate a lightning effect with visuals and sound
59
- }
60
- }
package/ts/Gesture.ts DELETED
@@ -1,168 +0,0 @@
1
- // Copyright 2024 Scape Agency BV
2
-
3
-
4
- // Touch Gesture Handler Class
5
- // A class for handling touch gestures can interpret user input like swipes, taps, and pinch actions, which are common in mobile and modern web applications.
6
-
7
-
8
- /**
9
- * @title Touch Gesture Handler Class
10
- * @notice Manages touch interactions on a specified element, interpreting various gestures like taps, swipes, and pinches.
11
- * @dev This class attaches touch event listeners to an element and interprets common gestures by analyzing touch points.
12
- */
13
- class TouchGestureHandler {
14
- private element: HTMLElement;
15
- private startTouches: TouchList | null = null;
16
- private isSwiping = false;
17
- private isPinching = false;
18
-
19
- constructor(elementId: string) {
20
- this.element = document.getElementById(elementId) as HTMLElement;
21
- this.addTouchListeners();
22
- }
23
-
24
- private addTouchListeners() {
25
- this.element.addEventListener('touchstart', this.handleTouchStart, false);
26
- this.element.addEventListener('touchmove', this.handleTouchMove, false);
27
- this.element.addEventListener('touchend', this.handleTouchEnd, false);
28
- }
29
-
30
- private handleTouchStart = (event: TouchEvent) => {
31
- if (event.touches.length === 1) {
32
- this.startTouches = event.touches;
33
- console.log("Tap started or potential swipe:", event.touches);
34
- } else if (event.touches.length > 1) {
35
- this.startTouches = event.touches;
36
- console.log("Pinch started or potential rotation:", event.touches);
37
- this.isPinching = true;
38
- }
39
- };
40
-
41
- private handleTouchMove = (event: TouchEvent) => {
42
- if (event.touches.length === 1 && this.startTouches && !this.isPinching) {
43
- const dx = event.touches[0].clientX - this.startTouches[0].clientX;
44
- const dy = event.touches[0].clientY - this.startTouches[0].clientY;
45
- if (Math.abs(dx) > 10 || Math.abs(dy) > 10) {
46
- this.isSwiping = true;
47
- console.log(`Swipe detected: deltaX = ${dx}, deltaY = ${dy}`);
48
- }
49
- } else if (event.touches.length > 1 && this.isPinching) {
50
- const startDistance = this.getDistance(this.startTouches[0], this.startTouches[1]);
51
- const currentDistance = this.getDistance(event.touches[0], event.touches[1]);
52
- const scale = currentDistance / startDistance;
53
- console.log(`Pinch scaling factor: ${scale}`);
54
- }
55
- };
56
-
57
- private handleTouchEnd = (event: TouchEvent) => {
58
- if (this.isSwiping) {
59
- console.log("Swipe ended");
60
- this.isSwiping = false;
61
- } else if (this.isPinching) {
62
- console.log("Pinch ended");
63
- this.isPinching = false;
64
- } else {
65
- console.log("Tap confirmed");
66
- }
67
- this.startTouches = null;
68
- };
69
-
70
- /**
71
- * Calculates the distance between two touch points.
72
- * @param touch1 First touch point.
73
- * @param touch2 Second touch point.
74
- * @returns Distance in pixels.
75
- */
76
- private getDistance(touch1: Touch, touch2: Touch): number {
77
- const dx = touch2.clientX - touch1.clientX;
78
- const dy = touch2.clientY - touch1.clientY;
79
- return Math.sqrt(dx * dx + dy * dy);
80
- }
81
- }
82
-
83
- new TouchGestureHandler('touchElement');
84
-
85
-
86
-
87
-
88
-
89
-
90
-
91
- /**
92
- * @title Advanced Gesture Recognition Handler
93
- * @notice Handles complex gestures for interactive applications, enhancing user experience with intuitive controls.
94
- * @dev Utilizes pointer events to detect and interpret various gestures.
95
- */
96
- class AdvancedGestureRecognition {
97
- private element: HTMLElement;
98
- private ongoingTouches: Map<number, Touch> = new Map();
99
-
100
- constructor(elementId: string) {
101
- this.element = document.getElementById(elementId) as HTMLElement;
102
- this.attachEventListeners();
103
- }
104
-
105
- private attachEventListeners() {
106
- this.element.addEventListener('pointerdown', this.handleGestureStart, { passive: false });
107
- this.element.addEventListener('pointermove', this.handleGestureMove, { passive: false });
108
- this.element.addEventListener('pointerup', this.handleGestureEnd, { passive: false });
109
- }
110
-
111
- private handleGestureStart = (event: PointerEvent) => {
112
- this.ongoingTouches.set(event.pointerId, event);
113
- console.log("Gesture started:", event.pointerType);
114
- };
115
-
116
- private handleGestureMove = (event: PointerEvent) => {
117
- if (this.ongoingTouches.has(event.pointerId)) {
118
- const startEvent = this.ongoingTouches.get(event.pointerId)!;
119
- const dx = event.clientX - startEvent.clientX;
120
- const dy = event.clientY - startEvent.clientY;
121
- console.log(`Gesture moved: ${dx}px horizontal, ${dy}px vertical`);
122
- }
123
- };
124
-
125
- private handleGestureEnd = (event: PointerEvent) => {
126
- this.ongoingTouches.delete(event.pointerId);
127
- console.log("Gesture ended");
128
- };
129
- }
130
-
131
-
132
-
133
-
134
- /**
135
- * @title Advanced Interaction Controls
136
- * @notice Enhances user interactions within immersive environments with sophisticated input methods.
137
- * @dev Integrates gesture recognition, voice commands, and potentially eye tracking for advanced control.
138
- */
139
- class AdvancedInteractionControls {
140
- constructor() {
141
- this.initializeGestureControls();
142
- this.initializeVoiceCommands();
143
- }
144
-
145
- private initializeGestureControls() {
146
- console.log("Gesture controls initialized.");
147
- // Setup gesture recognition logic or integrate with a library like Hammer.js
148
- }
149
-
150
- private initializeVoiceCommands() {
151
- console.log("Voice command system initialized.");
152
- // Setup voice recognition using APIs like the Web Speech API
153
- }
154
-
155
- public onGestureRecognized(gesture: string) {
156
- console.log(`Gesture recognized: ${gesture}`);
157
- // Respond to specific gestures
158
- }
159
-
160
- public onVoiceCommand(command: string) {
161
- console.log(`Voice command received: ${command}`);
162
- // Execute actions based on voice commands
163
- }
164
- }
165
-
166
-
167
-
168
-
@@ -1,40 +0,0 @@
1
- /**
2
- * @title Immersive Audio Handler
3
- * @notice Provides control over spatial and immersive audio in web applications.
4
- */
5
- class ImmersiveAudioHandler {
6
- private audioContext: AudioContext;
7
- private listener: AudioListener;
8
- private soundSources: Map<string, AudioBufferSourceNode> = new Map();
9
-
10
- constructor() {
11
- this.audioContext = new AudioContext();
12
- this.listener = this.audioContext.listener;
13
- }
14
-
15
- public loadSound(url: string, id: string): Promise<void> {
16
- return fetch(url)
17
- .then(response => response.arrayBuffer())
18
- .then(buffer => this.audioContext.decodeAudioData(buffer))
19
- .then(decodedBuffer => {
20
- const source = this.audioContext.createBufferSource();
21
- source.buffer = decodedBuffer;
22
- source.connect(this.audioContext.destination);
23
- this.soundSources.set(id, source);
24
- });
25
- }
26
-
27
- public playSound(id: string) {
28
- const source = this.soundSources.get(id);
29
- if (source) {
30
- source.start();
31
- }
32
- }
33
-
34
- public stopSound(id: string) {
35
- const source = this.soundSources.get(id);
36
- if (source) {
37
- source.stop();
38
- }
39
- }
40
- }