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.
- package/README.md +185 -11
- package/dist/LICENSE +21 -0
- package/dist/README.md +212 -0
- package/dist/css/move.gl.css +43859 -0
- package/dist/css/move.gl.min.css +19 -0
- package/dist/js/index.cjs +1171 -0
- package/dist/js/index.cjs.map +1 -0
- package/dist/js/index.d.cts +184 -0
- package/dist/js/index.d.ts +184 -0
- package/dist/js/index.mjs +1135 -0
- package/dist/js/index.mjs.map +1 -0
- package/dist/package.json +68 -0
- package/{scss → dist/scss}/classes/_animations.scss +33 -14
- package/dist/scss/classes/_controls.scss +314 -0
- package/dist/scss/classes/_effects.scss +283 -0
- package/dist/scss/classes/_index.scss +28 -0
- package/dist/scss/classes/_loaders.scss +779 -0
- package/dist/scss/classes/_transforms.scss +138 -0
- package/dist/scss/classes/_transitions.scss +264 -0
- package/{scss → dist/scss}/dev/_deprecation.scss +6 -3
- package/{scss → dist/scss}/dev/_modules.scss +5 -6
- package/dist/scss/docs.scss +2344 -0
- package/dist/scss/docs.scss.bak +3133 -0
- package/dist/scss/functions/_index.scss +22 -0
- package/dist/scss/functions/scenes/_bubble.scss +32 -0
- package/dist/scss/functions/scenes/_index.scss +21 -0
- package/dist/scss/index.scss +17 -0
- package/dist/scss/maps/_controls.scss +85 -0
- package/dist/scss/maps/_index.scss +22 -0
- package/{scss → dist/scss}/mixins/_accessibility.scss +24 -3
- package/{scss → dist/scss}/mixins/_boot.scss +4 -4
- package/dist/scss/mixins/_index.scss +41 -0
- package/dist/scss/mixins/_screensaver.scss +228 -0
- package/dist/scss/mixins/_shape.scss +315 -0
- package/dist/scss/mixins/animations/_base.scss +403 -0
- package/dist/scss/mixins/animations/_beat.scss +137 -0
- package/{scss → dist/scss}/mixins/animations/_blink.scss +60 -52
- package/dist/scss/mixins/animations/_bounce.scss +306 -0
- package/{scss → dist/scss}/mixins/animations/_elastic.scss +26 -22
- package/dist/scss/mixins/animations/_fade.scss +393 -0
- package/{scss → dist/scss}/mixins/animations/_flash.scss +53 -61
- package/dist/scss/mixins/animations/_flip.scss +251 -0
- package/{scss → dist/scss}/mixins/animations/_float.scss +47 -32
- package/{scss → dist/scss}/mixins/animations/_glow.scss +69 -58
- package/dist/scss/mixins/animations/_heartbeat.scss +195 -0
- package/dist/scss/mixins/animations/_hinge.scss +118 -0
- package/dist/scss/mixins/animations/_index.scss +97 -0
- package/dist/scss/mixins/animations/_jello.scss +123 -0
- package/dist/scss/mixins/animations/_jiggle.scss +162 -0
- package/dist/scss/mixins/animations/_lightspeed.scss +135 -0
- package/{scss → dist/scss}/mixins/animations/_nod.scss +57 -65
- package/dist/scss/mixins/animations/_pop.scss +153 -0
- package/dist/scss/mixins/animations/_pulse.scss +275 -0
- package/{scss → dist/scss}/mixins/animations/_ripple.scss +47 -55
- package/dist/scss/mixins/animations/_roll.scss +217 -0
- package/dist/scss/mixins/animations/_rotate.scss +728 -0
- package/dist/scss/mixins/animations/_rubber.scss +115 -0
- package/dist/scss/mixins/animations/_scale.scss +382 -0
- package/dist/scss/mixins/animations/_shake.scss +233 -0
- package/dist/scss/mixins/animations/_slide.scss +501 -0
- package/dist/scss/mixins/animations/_spin.scss +322 -0
- package/{scss → dist/scss}/mixins/animations/_sway.scss +32 -49
- package/{scss → dist/scss}/mixins/animations/_swing.scss +47 -49
- package/{scss → dist/scss}/mixins/animations/_tada.scss +44 -42
- package/{scss → dist/scss}/mixins/animations/_twist.scss +40 -55
- package/{scss → dist/scss}/mixins/animations/_wave.scss +36 -53
- package/dist/scss/mixins/animations/_wobble.scss +283 -0
- package/dist/scss/mixins/animations/_zoom.scss +394 -0
- package/{scss/mixins/mouse → dist/scss/mixins/controls}/_cursor.scss +60 -39
- package/dist/scss/mixins/controls/_hover.scss +625 -0
- package/dist/scss/mixins/controls/_index.scss +30 -0
- package/dist/scss/mixins/controls/_keyboard.scss +300 -0
- package/{scss/mixins/mouse → dist/scss/mixins/controls}/_pointer.scss +81 -72
- package/dist/scss/mixins/controls/_scroll.scss +460 -0
- package/{scss/mixins/scroll → dist/scss/mixins/controls}/_scrollbar.scss +50 -16
- package/dist/scss/mixins/controls/_selection.scss +208 -0
- package/dist/scss/mixins/controls/_touch.scss +401 -0
- package/dist/scss/mixins/effects/_blend.scss +128 -0
- package/dist/scss/mixins/effects/_filter.scss +470 -0
- package/dist/scss/mixins/effects/_focus.scss +83 -0
- package/dist/scss/mixins/effects/_gradient.scss +130 -0
- package/dist/scss/mixins/effects/_index.scss +28 -0
- package/dist/scss/mixins/effects/_mask.scss +76 -0
- package/dist/scss/mixins/effects/_opacity.scss +376 -0
- package/dist/scss/mixins/effects/_shadow.scss +429 -0
- package/dist/scss/mixins/keyframes/_base.scss +199 -0
- package/dist/scss/mixins/keyframes/_index.scss +24 -0
- package/dist/scss/mixins/keyframes/animations/_beat.scss +280 -0
- package/dist/scss/mixins/keyframes/animations/_blink.scss +82 -0
- package/dist/scss/mixins/keyframes/animations/_bounce.scss +292 -0
- package/dist/scss/mixins/keyframes/animations/_fade.scss +311 -0
- package/dist/scss/mixins/keyframes/animations/_flash.scss +165 -0
- package/dist/scss/mixins/keyframes/animations/_flip.scss +266 -0
- package/{scss/mixins → dist/scss/mixins/keyframes}/animations/_index.scss +19 -10
- package/dist/scss/mixins/keyframes/animations/_jiggle.scss +85 -0
- package/dist/scss/mixins/keyframes/animations/_lightspeed.scss +73 -0
- package/dist/scss/mixins/keyframes/animations/_nod.scss +79 -0
- package/dist/scss/mixins/keyframes/animations/_pop.scss +78 -0
- package/dist/scss/mixins/keyframes/animations/_pulse.scss +225 -0
- package/dist/scss/mixins/keyframes/animations/_ripple.scss +94 -0
- package/dist/scss/mixins/keyframes/animations/_roll.scss +124 -0
- package/dist/scss/mixins/keyframes/animations/_rotate.scss +360 -0
- package/dist/scss/mixins/keyframes/animations/_rubber.scss +81 -0
- package/dist/scss/mixins/keyframes/animations/_scale.scss +308 -0
- package/dist/scss/mixins/keyframes/animations/_shake.scss +270 -0
- package/dist/scss/mixins/keyframes/animations/_slide.scss +345 -0
- package/dist/scss/mixins/keyframes/animations/_spin.scss +270 -0
- package/dist/scss/mixins/keyframes/animations/_sway.scss +83 -0
- package/dist/scss/mixins/keyframes/animations/_twist.scss +89 -0
- package/dist/scss/mixins/keyframes/animations/_wave.scss +90 -0
- package/dist/scss/mixins/keyframes/animations/_wobble.scss +293 -0
- package/dist/scss/mixins/keyframes/animations/_zoom.scss +345 -0
- package/dist/scss/mixins/loaders/_bars.scss +128 -0
- package/dist/scss/mixins/loaders/_base.scss +39 -0
- package/dist/scss/mixins/loaders/_bubble.scss +395 -0
- package/dist/scss/mixins/loaders/_circle.scss +456 -0
- package/dist/scss/mixins/loaders/_dots.scss +248 -0
- package/dist/scss/mixins/loaders/_graph.scss +542 -0
- package/dist/scss/mixins/loaders/_index.scss +77 -0
- package/dist/scss/mixins/loaders/_line.scss +471 -0
- package/dist/scss/mixins/loaders/_objects.scss +563 -0
- package/dist/scss/mixins/loaders/_progress.scss +477 -0
- package/dist/scss/mixins/loaders/_rect.scss +480 -0
- package/dist/scss/mixins/loaders/_rings.scss +377 -0
- package/dist/scss/mixins/loaders/_skeleton.scss +461 -0
- package/dist/scss/mixins/loaders/_special.scss +611 -0
- package/dist/scss/mixins/loaders/_spinner.scss +175 -0
- package/dist/scss/mixins/loaders/_text.scss +446 -0
- package/{scss → dist/scss}/mixins/transforms/_flip.scss +16 -18
- package/dist/scss/mixins/transforms/_index.scss +28 -0
- package/dist/scss/mixins/transforms/_matrix.scss +18 -0
- package/{scss → dist/scss}/mixins/transforms/_perspective.scss +18 -1
- package/{scss → dist/scss}/mixins/transforms/_rotate.scss +9 -14
- package/{scss → dist/scss}/mixins/transforms/_scale.scss +16 -1
- package/{scss → dist/scss}/mixins/transforms/_skew.scss +16 -2
- package/{scss → dist/scss}/mixins/transforms/_translate.scss +16 -2
- package/dist/scss/mixins/transitions/_index.scss +22 -0
- package/dist/scss/mixins/transitions/_transition.scss +43 -0
- package/dist/scss/variables/_animations.scss +300 -0
- package/dist/scss/variables/_controls.scss +178 -0
- package/dist/scss/variables/_effects.scss +87 -0
- package/dist/scss/variables/_index.scss +27 -0
- package/dist/scss/variables/_keyframes.scss +28 -0
- package/dist/scss/variables/_loaders.scss +75 -0
- package/dist/scss/variables/_transforms.scss +85 -0
- package/dist/scss/variables/_transitions.scss +80 -0
- package/dist/ts/Draggable.ts +143 -0
- package/dist/ts/Gesture.ts +226 -0
- package/dist/ts/Keyboard.ts +195 -0
- package/dist/ts/LoaderManager.ts +662 -0
- package/dist/ts/Screensaver.ts +192 -0
- package/dist/ts/VideoOverlay.ts +205 -0
- package/dist/ts/demo.ts +1108 -0
- package/dist/ts/index.ts +58 -0
- package/package.json +90 -53
- package/src/html/_base.html +138 -0
- package/src/html/base.html +147 -0
- package/src/html/core-concepts.html +282 -0
- package/src/html/demo_base.html +171 -0
- package/src/html/demo_draggable.html +250 -0
- package/src/html/demo_gesture.html +264 -0
- package/src/html/demo_keyboard.html +224 -0
- package/src/html/demo_screensaver.html +258 -0
- package/src/html/demo_video_overlay.html +291 -0
- package/src/html/getting-started.html +242 -0
- package/src/html/index.html +400 -0
- package/src/html/keyboard.html +14 -0
- package/src/html/partials/_demo_links.html +21 -0
- package/src/html/partials/_footer.html +18 -0
- package/src/html/partials/_head.html +21 -0
- package/src/html/partials/_nav.html +84 -0
- package/src/html/partials/_theme_toggle.html +11 -0
- package/src/html/screensaver.html +20 -0
- package/src/html/test_animations.html +813 -0
- package/src/html/test_attention.html +281 -0
- package/src/html/test_bounce.html +201 -0
- package/src/html/test_effects.html +1348 -0
- package/src/html/test_fade.html +213 -0
- package/src/html/test_flip.html +208 -0
- package/src/html/test_keyframes.html +415 -0
- package/src/html/test_loaders.html +1489 -0
- package/src/html/test_mouse.html +516 -0
- package/src/html/test_overview.html +1444 -0
- package/src/html/test_pulse.html +212 -0
- package/src/html/test_scale.html +204 -0
- package/src/html/test_shake.html +232 -0
- package/src/html/test_slide.html +212 -0
- package/src/html/test_special.html +257 -0
- package/src/html/test_spin.html +216 -0
- package/src/html/test_transforms.html +332 -0
- package/src/html/test_transitions.html +245 -0
- package/src/html/test_zoom.html +188 -0
- package/src/html/video_overlay.html +27 -0
- package/src/jinja/_base.html.jinja +50 -0
- package/src/jinja/base.html.jinja +48 -0
- package/src/jinja/core-concepts.html.jinja +148 -0
- package/src/jinja/demo_draggable.html.jinja +114 -0
- package/src/jinja/demo_gesture.html.jinja +128 -0
- package/src/jinja/demo_keyboard.html.jinja +88 -0
- package/src/jinja/demo_screensaver.html.jinja +122 -0
- package/src/jinja/demo_video_overlay.html.jinja +155 -0
- package/src/jinja/getting-started.html.jinja +108 -0
- package/src/jinja/index.html.jinja +268 -0
- package/src/jinja/index.json +5 -0
- package/src/jinja/move.gl.css +7741 -0
- package/src/jinja/partials/_code_block.html.jinja +17 -0
- package/src/jinja/partials/_demo_links.html.jinja +41 -0
- package/src/jinja/partials/_feature_card.html.jinja +20 -0
- package/src/jinja/partials/_footer.html.jinja +22 -0
- package/src/jinja/partials/_head.html.jinja +27 -0
- package/src/jinja/partials/_nav.html.jinja +79 -0
- package/src/jinja/partials/_theme_toggle.html.jinja +15 -0
- package/src/jinja/test_animations.html.jinja +679 -0
- package/src/jinja/test_attention.html.jinja +147 -0
- package/src/jinja/test_bounce.html.jinja +67 -0
- package/src/jinja/test_effects.html.jinja +1218 -0
- package/src/jinja/test_fade.html.jinja +79 -0
- package/src/jinja/test_flip.html.jinja +74 -0
- package/src/jinja/test_keyframes.html.jinja +281 -0
- package/src/jinja/test_loaders.html.jinja +1358 -0
- package/src/jinja/test_mouse.html.jinja +382 -0
- package/src/jinja/test_overview.html.jinja +1313 -0
- package/src/jinja/test_pulse.html.jinja +78 -0
- package/src/jinja/test_scale.html.jinja +70 -0
- package/src/jinja/test_shake.html.jinja +98 -0
- package/src/jinja/test_slide.html.jinja +78 -0
- package/src/jinja/test_special.html.jinja +123 -0
- package/src/jinja/test_spin.html.jinja +82 -0
- package/src/jinja/test_transforms.html.jinja +198 -0
- package/src/jinja/test_transitions.html.jinja +111 -0
- package/src/jinja/test_zoom.html.jinja +54 -0
- package/src/scss/classes/_animations.scss +595 -0
- package/src/scss/classes/_controls.scss +314 -0
- package/src/scss/classes/_effects.scss +283 -0
- package/src/scss/classes/_index.scss +28 -0
- package/src/scss/classes/_loaders.scss +779 -0
- package/src/scss/classes/_transforms.scss +138 -0
- package/src/scss/classes/_transitions.scss +264 -0
- package/src/scss/dev/_banner.scss +36 -0
- package/src/scss/dev/_debug.scss +18 -0
- package/src/scss/dev/_deprecation.scss +13 -0
- package/src/scss/dev/_index.scss +8 -0
- package/src/scss/dev/_modules.scss +23 -0
- package/src/scss/docs.scss +2344 -0
- package/src/scss/docs.scss.bak +3133 -0
- package/src/scss/functions/_index.scss +22 -0
- package/src/scss/functions/scenes/_bubble.scss +32 -0
- package/src/scss/functions/scenes/_index.scss +21 -0
- package/src/scss/index.scss +17 -0
- package/src/scss/maps/_controls.scss +85 -0
- package/src/scss/maps/_index.scss +22 -0
- package/src/scss/mixins/_accessibility.scss +91 -0
- package/src/scss/mixins/_boot.scss +51 -0
- package/src/scss/mixins/_index.scss +41 -0
- package/src/scss/mixins/_screensaver.scss +228 -0
- package/src/scss/mixins/_shape.scss +315 -0
- package/src/scss/mixins/animations/_base.scss +403 -0
- package/src/scss/mixins/animations/_beat.scss +137 -0
- package/src/scss/mixins/animations/_blink.scss +159 -0
- package/src/scss/mixins/animations/_bounce.scss +306 -0
- package/src/scss/mixins/animations/_elastic.scss +69 -0
- package/src/scss/mixins/animations/_fade.scss +393 -0
- package/src/scss/mixins/animations/_flash.scss +169 -0
- package/src/scss/mixins/animations/_flip.scss +251 -0
- package/src/scss/mixins/animations/_float.scss +141 -0
- package/src/scss/mixins/animations/_glow.scss +190 -0
- package/src/scss/mixins/animations/_heartbeat.scss +195 -0
- package/src/scss/mixins/animations/_hinge.scss +118 -0
- package/src/scss/mixins/animations/_index.scss +97 -0
- package/src/scss/mixins/animations/_jello.scss +123 -0
- package/src/scss/mixins/animations/_jiggle.scss +162 -0
- package/src/scss/mixins/animations/_lightspeed.scss +135 -0
- package/src/scss/mixins/animations/_nod.scss +153 -0
- package/src/scss/mixins/animations/_pop.scss +153 -0
- package/src/scss/mixins/animations/_pulse.scss +275 -0
- package/src/scss/mixins/animations/_ripple.scss +161 -0
- package/src/scss/mixins/animations/_roll.scss +217 -0
- package/src/scss/mixins/animations/_rotate.scss +728 -0
- package/src/scss/mixins/animations/_rubber.scss +115 -0
- package/src/scss/mixins/animations/_scale.scss +382 -0
- package/src/scss/mixins/animations/_shake.scss +233 -0
- package/src/scss/mixins/animations/_slide.scss +501 -0
- package/src/scss/mixins/animations/_spin.scss +322 -0
- package/src/scss/mixins/animations/_sway.scss +150 -0
- package/src/scss/mixins/animations/_swing.scss +245 -0
- package/src/scss/mixins/animations/_tada.scss +235 -0
- package/src/scss/mixins/animations/_twist.scss +162 -0
- package/src/scss/mixins/animations/_wave.scss +149 -0
- package/src/scss/mixins/animations/_wobble.scss +283 -0
- package/src/scss/mixins/animations/_zoom.scss +394 -0
- package/src/scss/mixins/controls/_cursor.scss +203 -0
- package/src/scss/mixins/controls/_hover.scss +625 -0
- package/src/scss/mixins/controls/_index.scss +30 -0
- package/src/scss/mixins/controls/_keyboard.scss +300 -0
- package/src/scss/mixins/controls/_pointer.scss +267 -0
- package/src/scss/mixins/controls/_scroll.scss +460 -0
- package/src/scss/mixins/controls/_scrollbar.scss +283 -0
- package/src/scss/mixins/controls/_selection.scss +208 -0
- package/src/scss/mixins/controls/_touch.scss +401 -0
- package/src/scss/mixins/effects/_blend.scss +128 -0
- package/src/scss/mixins/effects/_filter.scss +470 -0
- package/src/scss/mixins/effects/_focus.scss +83 -0
- package/src/scss/mixins/effects/_gradient.scss +130 -0
- package/src/scss/mixins/effects/_index.scss +28 -0
- package/src/scss/mixins/effects/_mask.scss +76 -0
- package/src/scss/mixins/effects/_opacity.scss +376 -0
- package/src/scss/mixins/effects/_shadow.scss +429 -0
- package/src/scss/mixins/keyframes/_base.scss +199 -0
- package/src/scss/mixins/keyframes/_index.scss +24 -0
- package/src/scss/mixins/keyframes/animations/_beat.scss +280 -0
- package/src/scss/mixins/keyframes/animations/_blink.scss +82 -0
- package/src/scss/mixins/keyframes/animations/_bounce.scss +292 -0
- package/src/scss/mixins/keyframes/animations/_fade.scss +311 -0
- package/src/scss/mixins/keyframes/animations/_flash.scss +165 -0
- package/src/scss/mixins/keyframes/animations/_flip.scss +266 -0
- package/src/scss/mixins/keyframes/animations/_index.scss +46 -0
- package/src/scss/mixins/keyframes/animations/_jiggle.scss +85 -0
- package/src/scss/mixins/keyframes/animations/_lightspeed.scss +73 -0
- package/src/scss/mixins/keyframes/animations/_nod.scss +79 -0
- package/src/scss/mixins/keyframes/animations/_pop.scss +78 -0
- package/src/scss/mixins/keyframes/animations/_pulse.scss +225 -0
- package/src/scss/mixins/keyframes/animations/_ripple.scss +94 -0
- package/src/scss/mixins/keyframes/animations/_roll.scss +124 -0
- package/src/scss/mixins/keyframes/animations/_rotate.scss +360 -0
- package/src/scss/mixins/keyframes/animations/_rubber.scss +81 -0
- package/src/scss/mixins/keyframes/animations/_scale.scss +308 -0
- package/src/scss/mixins/keyframes/animations/_shake.scss +270 -0
- package/src/scss/mixins/keyframes/animations/_slide.scss +345 -0
- package/src/scss/mixins/keyframes/animations/_spin.scss +270 -0
- package/src/scss/mixins/keyframes/animations/_sway.scss +83 -0
- package/src/scss/mixins/keyframes/animations/_twist.scss +89 -0
- package/src/scss/mixins/keyframes/animations/_wave.scss +90 -0
- package/src/scss/mixins/keyframes/animations/_wobble.scss +293 -0
- package/src/scss/mixins/keyframes/animations/_zoom.scss +345 -0
- package/src/scss/mixins/loaders/_bars.scss +128 -0
- package/src/scss/mixins/loaders/_base.scss +39 -0
- package/src/scss/mixins/loaders/_bubble.scss +395 -0
- package/src/scss/mixins/loaders/_circle.scss +456 -0
- package/src/scss/mixins/loaders/_dots.scss +248 -0
- package/src/scss/mixins/loaders/_graph.scss +542 -0
- package/src/scss/mixins/loaders/_index.scss +77 -0
- package/src/scss/mixins/loaders/_line.scss +471 -0
- package/src/scss/mixins/loaders/_objects.scss +563 -0
- package/src/scss/mixins/loaders/_progress.scss +477 -0
- package/src/scss/mixins/loaders/_rect.scss +480 -0
- package/src/scss/mixins/loaders/_rings.scss +377 -0
- package/src/scss/mixins/loaders/_skeleton.scss +461 -0
- package/src/scss/mixins/loaders/_special.scss +611 -0
- package/src/scss/mixins/loaders/_spinner.scss +175 -0
- package/src/scss/mixins/loaders/_text.scss +446 -0
- package/src/scss/mixins/transforms/_flip.scss +74 -0
- package/src/scss/mixins/transforms/_index.scss +28 -0
- package/src/scss/mixins/transforms/_matrix.scss +18 -0
- package/src/scss/mixins/transforms/_perspective.scss +28 -0
- package/src/scss/mixins/transforms/_rotate.scss +96 -0
- package/src/scss/mixins/transforms/_scale.scss +26 -0
- package/src/scss/mixins/transforms/_skew.scss +27 -0
- package/src/scss/mixins/transforms/_translate.scss +27 -0
- package/src/scss/mixins/transitions/_index.scss +22 -0
- package/src/scss/mixins/transitions/_transition.scss +43 -0
- package/src/scss/variables/_animations.scss +300 -0
- package/src/scss/variables/_controls.scss +178 -0
- package/src/scss/variables/_effects.scss +87 -0
- package/src/scss/variables/_index.scss +27 -0
- package/src/scss/variables/_keyframes.scss +28 -0
- package/src/scss/variables/_loaders.scss +75 -0
- package/src/scss/variables/_transforms.scss +85 -0
- package/src/scss/variables/_transitions.scss +80 -0
- package/src/ts/Draggable.ts +143 -0
- package/src/ts/Gesture.ts +226 -0
- package/src/ts/Keyboard.ts +195 -0
- package/src/ts/LoaderManager.ts +662 -0
- package/src/ts/Screensaver.ts +192 -0
- package/src/ts/VideoOverlay.ts +205 -0
- package/src/ts/demo.ts +1108 -0
- package/src/ts/index.ts +58 -0
- package/css/move.gl.css +0 -2
- package/css/move.gl.min.css +0 -2
- package/scss/classes/_transforms.scss +0 -124
- package/scss/classes/keyboard.scss +0 -18
- package/scss/classes/screensaver.scss +0 -15
- package/scss/effects/_filter.scss +0 -176
- package/scss/effects/_index.scss +0 -23
- package/scss/effects/_opacity.scss +0 -62
- package/scss/effects/_shadow.scss +0 -175
- package/scss/functions/scenes/_bubble.scss +0 -19
- package/scss/functions/scenes/_index.scss +0 -20
- package/scss/index.scss +0 -0
- package/scss/keyframes/_beat.scss +0 -26
- package/scss/keyframes/_index.scss +0 -0
- package/scss/maps/_index.scss +0 -0
- package/scss/maps/_mouse.scss +0 -96
- package/scss/mixins/_hover.scss +0 -51
- package/scss/mixins/_index.scss +0 -0
- package/scss/mixins/_selection.scss +0 -321
- package/scss/mixins/_shape.scss +0 -44
- package/scss/mixins/_touch.scss +0 -95
- package/scss/mixins/animations/--hover.scss +0 -107
- package/scss/mixins/animations/_base.scss +0 -337
- package/scss/mixins/animations/_beat.scss +0 -119
- package/scss/mixins/animations/_bounce.scss +0 -192
- package/scss/mixins/animations/_fade.scss +0 -154
- package/scss/mixins/animations/_flip.scss +0 -72
- package/scss/mixins/animations/_heartbeat.scss +0 -175
- package/scss/mixins/animations/_hinge.scss +0 -119
- package/scss/mixins/animations/_jello.scss +0 -129
- package/scss/mixins/animations/_jiggle.scss +0 -163
- package/scss/mixins/animations/_lightspeed.scss +0 -130
- package/scss/mixins/animations/_pop.scss +0 -150
- package/scss/mixins/animations/_pulse.scss +0 -213
- package/scss/mixins/animations/_roll.scss +0 -261
- package/scss/mixins/animations/_rotate.scss +0 -428
- package/scss/mixins/animations/_rubber.scss +0 -116
- package/scss/mixins/animations/_scale.scss +0 -113
- package/scss/mixins/animations/_shake.scss +0 -182
- package/scss/mixins/animations/_slide.scss +0 -294
- package/scss/mixins/animations/_spin.scss +0 -219
- package/scss/mixins/animations/_wobble.scss +0 -254
- package/scss/mixins/animations/_zoom.scss +0 -166
- package/scss/mixins/effects/_filter.scss +0 -148
- package/scss/mixins/effects/_index.scss +0 -0
- package/scss/mixins/effects/_shadow.scss +0 -21
- package/scss/mixins/loaders/_index.scss +0 -0
- package/scss/mixins/loaders/_progress.scss +0 -174
- package/scss/mixins/loaders/_spinner.scss +0 -101
- package/scss/mixins/loaders/circle_01.scss +0 -22
- package/scss/mixins/loaders/circle_02.scss +0 -19
- package/scss/mixins/loaders/circle_03.scss +0 -29
- package/scss/mixins/loaders/circle_inner_01.scss +0 -33
- package/scss/mixins/loaders/circle_inner_02.scss +0 -33
- package/scss/mixins/loaders/circle_inner_03.scss +0 -34
- package/scss/mixins/mouse/_index.scss +0 -0
- package/scss/mixins/scroll/_index.scss +0 -0
- package/scss/mixins/scroll/_scroll.scss +0 -104
- package/scss/mixins/transforms/_index.scss +0 -23
- package/scss/mixins/transforms/_matrix.scss +0 -1
- package/scss/mixins/transitions/_index.scss +0 -0
- package/scss/mixins/transitions/_transition.scss +0 -13
- package/scss/variables/_animation.scss +0 -91
- package/scss/variables/_index.scss +0 -0
- package/ts/ARContent.ts +0 -27
- package/ts/ARInteraction.ts +0 -34
- package/ts/AdaptiveUI.ts +0 -25
- package/ts/ContentStreaming.ts +0 -20
- package/ts/Draggable.ts +0 -71
- package/ts/DynamicEnvironment.ts +0 -60
- package/ts/Gesture.ts +0 -168
- package/ts/ImmersiveAudio.ts +0 -40
- package/ts/InteractiveCanvas.ts +0 -177
- package/ts/InteractiveVideo.ts +0 -29
- package/ts/Keyboard.ts +0 -162
- package/ts/RealTimeCollaboration.ts +0 -25
- package/ts/Screensaver.ts +0 -140
- package/ts/SpatialNavigation.ts +0 -38
- package/ts/UserProfile.ts +0 -27
- package/ts/VRExperience.ts +0 -58
- package/ts/VideoOverlay.ts +0 -116
- package/ts/index.ts +0 -0
- /package/{scss → dist/scss}/dev/_banner.scss +0 -0
- /package/{scss → dist/scss}/dev/_debug.scss +0 -0
- /package/{scss → dist/scss}/dev/_index.scss +0 -0
- /package/{scss/classes/_index.scss → src/html/partials/_code_block.html} +0 -0
- /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
|
-
}
|
package/ts/ARInteraction.ts
DELETED
|
@@ -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
|
-
}
|
package/ts/ContentStreaming.ts
DELETED
|
@@ -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');
|
package/ts/DynamicEnvironment.ts
DELETED
|
@@ -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
|
-
|
package/ts/ImmersiveAudio.ts
DELETED
|
@@ -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
|
-
}
|