{"_id":"@alienkitty/space.js","_rev":"4-e15a4bdb8af46364e1c1273e43b3a227","time":{"created":"2023-02-28T18:29:39.324Z","0.1.0":"2023-02-25T19:02:23.142Z","modified":"2024-04-23T21:34:57.319Z","1.0.0":"2023-02-28T18:29:39.585Z","1.1.0":"2023-04-30T03:56:17.283Z","1.2.0":"2024-04-23T21:34:57.113Z"},"name":"@alienkitty/space.js","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@alienkitty/space.js","version":"1.0.0","description":"Future web UI","type":"module","exports":{".":"./src/index.js","./three":"./src/three.js","./src/*":"./src/*"},"sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/alienkitty/space.js.git"},"bugs":{"url":"https://github.com/alienkitty/space.js/issues"},"homepage":"https://space.js.org","author":{"name":"pschroen"},"license":"MIT","gitHead":"1c0e4df067a84ac20a34c8998dfb46c9319a7735","_id":"@alienkitty/space.js@1.0.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-iQxjaz5M2H45+SuVP+lnNU1V6ejRePLP788MI6ynQ2Tl5aU2sPQU2hOUxpP66iDncb5yyRr906ikzmIH1qREyw==","shasum":"4ccfaa678e695a41be8b83de315799a76be67b8d","tarball":"https://registry.npmjs.org/@alienkitty/space.js/-/space.js-1.0.0.tgz","fileCount":60,"unpackedSize":192288,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0XCpFif9AaAiqM6F+saqYjzb0UtXI39XZ1GDjcRBuGQIhAJKyGzwjIv9OIy8K4bJ6HwkLX+1wLrsod8irmnZvsPwj"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/kgTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPmg/9G1Mp8Co2JjZ2fPoHcfSeYHAPy9rA2OY1W+0LHNBoK72751vQ\r\n6bxh+5lqi4ZzY1h/LskLNDt0CFTzecC5htjDt3D6V6jUEkCCu7nB8bl3rI0R\r\nysLX96rVkvefpgpa5paKtowykt851BMisyjuXbIPNasZpTncSW1zkhxl/tSK\r\nl5FjbZJ4SCuZz42b8EUaJcmbYg+HD0sU27X9uRjvNM1ERSVM6o681nNZJuOc\r\nIGAojVPscUbi6fKyfEr41qj/zRl8koQVMEJtB84c7i7l5ON9zVQRMmYrueq1\r\nSuUUZwYAg6zMyCi2CMx+4JMV52jb+ykwBEyRuoj+yZ2IYn6plNz4yw1nI/4h\r\nclP+DffVC4udAXyPbQKRNm6OnJ9iJmlZFWilqI8kzIVb16KY/R+bxIMDym5c\r\n5eUMoN/7Vn2jtv+PUJgUGES/DFblC5Md0nhVj38RBmLrpFSeB05kxSpXE4bM\r\nXmkLHJK66rAUyl3Iy2iPajg04Qxq6ktGV1AenBzH68qUsI2UtHtSfUGc29N7\r\nFfAP6zdnXia944ImOxqwCHjn8gneaeAYdJxZ/gxiPcy3ZSOvXvprrdy4Gc4+\r\nTOe61DtvDlChyVhE7k2RHDArxW5wG8rJpg8apTWqy0oxl8gBsvUhkeWycwlU\r\ngyJl9ijEjKtF6D5X3B1CwTOLUeW4ZfVJrEU=\r\n=uIl9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"pschroen","email":"ps@ufotechnologies.com"},"directories":{},"maintainers":[{"name":"pschroen","email":"ps@ufotechnologies.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/space.js_1.0.0_1677608979410_0.42746193816586087"},"_hasShrinkwrap":false},"1.1.0":{"name":"@alienkitty/space.js","version":"1.1.0","description":"Future web UI","type":"module","exports":{".":"./src/index.js","./three":"./src/three.js","./src/*":"./src/*"},"sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/alienkitty/space.js.git"},"bugs":{"url":"https://github.com/alienkitty/space.js/issues"},"homepage":"https://space.js.org","author":{"name":"pschroen"},"license":"MIT","gitHead":"4cf2aa325ed11b81e28c6fe79e46fb373afff1d6","_id":"@alienkitty/space.js@1.1.0","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-A0ftoXzlqwWOFCjioqcJiZVKfZJdsqci/V7NP5oExkQ3mMvYhqokQhkBHJjGOszmDrifV2+ocVsUr/2x0abRIg==","shasum":"7bc6dff7af5a0965726752509c6d88d6bf745b1b","tarball":"https://registry.npmjs.org/@alienkitty/space.js/-/space.js-1.1.0.tgz","fileCount":96,"unpackedSize":283455,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDkLvHYld2UQp8u9WKMe0exGPryqyWD1Qlez6cu9sdiNAiA/ZbG3Ln1NwJGTgnCqvGKEHwLWjQUwwa8I+SDEds+nKQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkTebhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/nQ//bDw1Hkfx/+I11azZTie9JJ+Hc9l/Z3LDWNQQw6nzte+dhogz\r\ni8Bd7HyuU5/SM+DA7cjzg0nhhRyNc2pyzWYUIHklEPH1X/r1lABCSfKT8COS\r\nTAqDsTnksx9HHG0QUrQun+7M2rRYv65DMG9Zp79yO8uViJH2YSgnklmZ+1mB\r\nU2OOdhFTnCMre/FxJKGvUrQHdCzxmJT+4ZjQOA0bzD2zOUcY9pre4GHKgUGg\r\nn/ZXmMAUw9ljjCxNptIjJWXnI8Ws7SyZZDiuwf5vqZ0TTBNYFxHSn1ovlYXl\r\nEJYX7X21pQKuPDOFQt2g6LoJuMYSRUztn1qLg3nQmI+qFwzxjmMGA+ectqC5\r\neGC7eyB/+DIgkoTpJ/Uk7roSqhY13QM1vWhrTyHBhcf89xGwIORW8xU6VrTk\r\n7sA3rKUzwWs1IF3WOkao5kAzeafpHA++MjgTmsIOPRzZaNMgHD38tph5Xhmn\r\nJm+msXrLNhkBzqgN7agau5UqlzRk+diEHtxJIzVcmyy5tcTvp0cXQOHq+gMU\r\nthG19clZds+zW/bBK2q7dzYzFuc35fhykNl78kG77ILmbopF83OxIk5G1CoV\r\njpacbMUhsOqg6uHw3bHnAfO3jNi0L/XWcTxBeFnScGrAZmDVQ5EgMvMcfhQu\r\nzbBQhZryR20phsRgZTUuVJp8tBNnZcjmMeU=\r\n=/9g5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"pschroen","email":"ps@ufotechnologies.com"},"directories":{},"maintainers":[{"name":"pschroen","email":"ps@ufotechnologies.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/space.js_1.1.0_1682826977068_0.7254868497120839"},"_hasShrinkwrap":false},"1.2.0":{"name":"@alienkitty/space.js","version":"1.2.0","description":"Minimal monospace UI library","type":"module","main":"./src/index.js","exports":{".":"./src/index.js","./three":"./src/three.js","./src/*":"./src/*"},"sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/alienkitty/space.js.git"},"bugs":{"url":"https://github.com/alienkitty/space.js/issues"},"homepage":"https://space.js.org","author":{"name":"pschroen"},"license":"MIT","_id":"@alienkitty/space.js@1.2.0","gitHead":"9c987af97dac6b05854ec3f30574acdaae3da222","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-rkIRp0TZv5C5CShU0YbHxCiSsAci//xUvLzg4vaK2bfoQzE13bZKz3900Ir80/jW8U+MXb9ySaJnAEs/Qas5hA==","shasum":"c97e7838c3899b59a05a7a803a981a100398eec1","tarball":"https://registry.npmjs.org/@alienkitty/space.js/-/space.js-1.2.0.tgz","fileCount":119,"unpackedSize":390109,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4x7Qjg+meKkYUpGhRFiCo1IBdLqDIR//KzWxvzRgYIgIhAJKvAXCk2/CAPJh0B4Lw1KHrGrUa6RR3Lp5UvX5iVlfl"}]},"_npmUser":{"name":"pschroen","email":"ps@ufotechnologies.com"},"directories":{},"maintainers":[{"name":"pschroen","email":"ps@ufotechnologies.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/space.js_1.2.0_1713908096952_0.24734311350977412"},"_hasShrinkwrap":false}},"maintainers":[{"name":"pschroen","email":"ps@ufotechnologies.com"}],"description":"Minimal monospace UI library","homepage":"https://space.js.org","repository":{"type":"git","url":"git+https://github.com/alienkitty/space.js.git"},"author":{"name":"pschroen"},"bugs":{"url":"https://github.com/alienkitty/space.js/issues"},"license":"MIT","readme":"# Space.js\n\n[![NPM Package][npm]][npm-url]\n[![NPM Downloads][npm-downloads]][npmtrends-url]\n[![DeepScan][deepscan]][deepscan-url]\n[![Discord][discord]][discord-url]\n\nThis library is part of two sibling libraries, [Space.js](https://github.com/alienkitty/space.js) for UI, Panel components, Tween, Web Audio, loaders, utilities, and [Alien.js](https://github.com/alienkitty/alien.js) for 3D utilities, materials, shaders and physics.\n\n<p>\n    <img src=\"https://github.com/alienkitty/space.js/raw/main/space.js.png\" alt=\"Space.js\">\n</p>\n\n### Usage\n\nSpace.js is divided into two entry points depending on your use case.\n\nThe main entry point without any dependencies is for the UI components, loaders and utilities.\n\n```sh\nnpm i @alienkitty/space.js\n```\n\nMath classes:\n\n```js\nimport { Color, Vector2 } from '@alienkitty/space.js';\n```\n\nUI and Panel components:\n\n```js\nimport { Panel, PanelItem, UI } from '@alienkitty/space.js';\n```\n\n[Tween](https://github.com/alienkitty/alien.js/wiki/Tween) animation engine:\n\n```js\nimport { ticker, tween } from '@alienkitty/space.js';\n\nticker.start();\n\nconst data = {\n    radius: 0\n};\n\ntween(data, { radius: 24, spring: 1.2, damping: 0.4 }, 1000, 'easeOutElastic', null, () => {\n    console.log(data.radius);\n});\n```\n\nWeb Audio engine:\n\n```js\nimport { BufferLoader, WebAudio } from '@alienkitty/space.js';\n\nconst bufferLoader = new BufferLoader();\nawait bufferLoader.loadAllAsync(['assets/sounds/gong.mp3']);\nWebAudio.init({ sampleRate: 48000 });\nWebAudio.load(bufferLoader.files);\n\nconst gong = WebAudio.get('gong');\ngong.gain.set(0.5);\n\ndocument.addEventListener('pointerdown', () => {\n    gong.play();\n});\n```\n\nAudio stream support:\n\n```js\nimport { WebAudio } from '@alienkitty/space.js';\n\nWebAudio.init({ sampleRate: 48000 });\n\n// Shoutcast streams append a semicolon (;) to the URL\nWebAudio.load({ protonradio: 'https://shoutcast.protonradio.com/;' });\n\nconst protonradio = WebAudio.get('protonradio');\nprotonradio.gain.set(1);\n\ndocument.addEventListener('pointerdown', () => {\n    protonradio.play();\n});\n```\n\nAnd the `@alienkitty/space.js/three` entry point for [three.js](https://github.com/mrdoob/three.js) UI components, loaders and utilities.\n\n```sh\nnpm i three @alienkitty/space.js\n```\n\n```js\nimport { EnvironmentTextureLoader } from '@alienkitty/space.js/three';\n\n// ...\nconst environmentLoader = new EnvironmentTextureLoader(renderer);\nenvironmentLoader.load('assets/textures/env/jewelry_black_contrast.jpg', texture => {\n    scene.environment = texture;\n});\n```\n\n### Examples\n\n#### ui\n\n[logo](https://space.js.org/examples/logo.html) (interface)  \n[ui](https://space.js.org/examples/ui.html) (hud)  \n[components](https://space.js.org/examples/ui_components.html) (ui)  \n[progress](https://space.js.org/examples/progress_canvas.html) (canvas)  \n[progress](https://space.js.org/examples/progress.html) (svg)  \n[progress indeterminate](https://space.js.org/examples/progress_indeterminate.html) (svg)  \n[close](https://space.js.org/examples/close.html) (svg)  \n[tween](https://space.js.org/examples/tween.html) (svg)  \n[magnetic](https://space.js.org/examples/magnetic.html) (component, svg)  \n[details](https://space.js.org/examples/details.html)  \n[info](https://space.js.org/examples/details_info.html) (details)  \n[fps](https://space.js.org/examples/fps.html)  \n[fps panel](https://space.js.org/examples/fps_panel.html)  \n[panel](https://space.js.org/examples/panel.html) (standalone)  \n[ufo](https://ufo.ai/) (2d scene, smooth scroll with skew effect)  \n\n#### 3d\n\n[materials](https://space.js.org/examples/three/3d_materials.html)  \n[materials instancing](https://space.js.org/examples/three/3d_materials_instancing.html) ([debug](https://space.js.org/examples/three/3d_materials_instancing.html?3&debug))  \n[materials instancing](https://space.js.org/examples/three/3d_materials_instancing_modified.html) (custom, [debug](https://space.js.org/examples/three/3d_materials_instancing_modified.html?3&debug))  \n[lights](https://space.js.org/examples/three/3d_lights.html)  \n\n#### audio\n\n[gong](https://space.js.org/examples/audio_gong.html)  \n[stream](https://space.js.org/examples/audio_stream.html)  \n[rhythm](https://space.js.org/examples/audio_rhythm.html)  \n\n#### thread\n\n[canvas](https://space.js.org/examples/thread_canvas.html) (noise)  \n\n### Getting started\n\nClone this repository and run the examples:\n\n```sh\ngit clone https://github.com/alienkitty/space.js\ncd space.js\nnpx servez\n```\n\n### ESLint\n\n```sh\nnpm i -D eslint eslint-plugin-html\nnpx eslint src\nnpx eslint examples/about/src\nnpx eslint examples/three/*.html\nnpx eslint examples/*.html\n```\n\n### Roadmap\n\n#### v1.0\n\n* [x] Initial release based on the UI components from [Multiuser Blocks](https://multiuser-blocks.glitch.me/)\n\n#### v1.1\n\n* [x] Three.js material UI\n* [x] Three.js light UI\n* [x] Three.js UI keyboard support\n\n#### v1.2\n\n* [x] Three.js UI multiple select\n* [x] Export About example UI components\n\n#### v1.3\n\n* [ ] Change camera perspective\n* [ ] Material texture thumbnails\n* [ ] Material texture drag and drop\n\n#### v1.4\n\n* [ ] Move objects\n* [ ] GLTF drag and drop\n* [ ] Load/save scene\n\n#### v1.5\n\n* [ ] MIDI support\n\n#### v1.6\n\n* [ ] WebXR version\n\n#### v1.7\n\n* [ ] OGL version\n* [ ] Documentation\n\n### Resources\n\n* [Tween](https://github.com/alienkitty/alien.js/wiki/Tween)\n* [Changelog](https://github.com/alienkitty/space.js/releases)\n\n### See also\n\n* [Alien.js](https://github.com/alienkitty/alien.js)\n* [Three.js](https://github.com/mrdoob/three.js)\n* [OGL](https://github.com/oframe/ogl)\n\n\n[npm]: https://img.shields.io/npm/v/@alienkitty/space.js\n[npm-url]: https://www.npmjs.com/package/@alienkitty/space.js\n[npm-downloads]: https://img.shields.io/npm/dw/@alienkitty/space.js\n[npmtrends-url]: https://www.npmtrends.com/@alienkitty/space.js\n[deepscan]: https://deepscan.io/api/teams/20020/projects/23997/branches/734568/badge/grade.svg\n[deepscan-url]: https://deepscan.io/dashboard#view=project&tid=20020&pid=23997&bid=734568\n[discord]: https://img.shields.io/discord/773739853913260032\n[discord-url]: https://discord.gg/9rSkAzB7PM\n","readmeFilename":"README.md"}