diff --git a/README.md b/README.md index adc3d119a..6f38bd63f 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ [![Jest Coverage](https://github.com/BarthPaleologue/CosmosJourneyer/actions/workflows/tests.yml/badge.svg)](https://github.com/BarthPaleologue/CosmosJourneyer/actions/workflows/tests.yml) [![License](https://img.shields.io/github/license/BarthPaleologue/planetEngine)](./LICENSE.md) +[![Teaser Video](./coverImages/video.png)](https://youtu.be/5pXZqHRShTE) + Cosmos Journeyer is the procedural universe running inside a web page that makes space exploration accessible for everyone. The main website of the project is online at https://cosmosjourneyer.com/ @@ -52,7 +54,7 @@ First, clone the repository and install the dependencies with `pnpm install`. ### Web -To build the web version of Cosmos Journeyer, run `pnpm build`. Everything will be built in the `dist` folder. +To build the web version of Cosmos Journeyer, run `pnpm run build`. Everything will be built in the `dist` folder. ### Tauri diff --git a/coverImages/video.png b/coverImages/video.png new file mode 100644 index 000000000..5f4f8fb77 Binary files /dev/null and b/coverImages/video.png differ diff --git a/package.json b/package.json index 31bd7706a..d19a9f36a 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,6 @@ "eslint-plugin-import": "^2.29.1", "extended-random": "^1.2.2", "fast-simplex-noise": "^4.0.0", - "glslify-loader": "^2.0.0", "handle-sliderjs": "^1.3.1", "html-loader": "^4.2.0", "html-webpack-plugin": "^5.6.0", @@ -50,7 +49,7 @@ "webpack-cli": "^5.1.4", "webpack-dev-server": "^4.15.1" }, - "version": "1.7.1", + "version": "1.8.0", "description": "CosmosJourneyer", "name": "cosmos-journeyer", "scripts": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 043f43e2b..04f150ea1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -68,9 +68,6 @@ devDependencies: fast-simplex-noise: specifier: ^4.0.0 version: 4.0.0 - glslify-loader: - specifier: ^2.0.0 - version: 2.0.0 handle-sliderjs: specifier: ^1.3.1 version: 1.3.1 @@ -1431,13 +1428,6 @@ packages: mitt: 3.0.1 dev: true - /@choojs/findup@0.2.1: - resolution: {integrity: sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==} - hasBin: true - dependencies: - commander: 2.20.3 - dev: true - /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -5148,108 +5138,6 @@ packages: slash: 3.0.0 dev: true - /glsl-inject-defines@1.0.3: - resolution: {integrity: sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A==} - dependencies: - glsl-token-inject-block: 1.1.0 - glsl-token-string: 1.0.1 - glsl-tokenizer: 2.1.5 - dev: true - - /glsl-resolve@0.0.1: - resolution: {integrity: sha512-xxFNsfnhZTK9NBhzJjSBGX6IOqYpvBHxxmo+4vapiljyGNCY0Bekzn0firQkQrazK59c1hYxMDxYS8MDlhw4gA==} - dependencies: - resolve: 0.6.3 - xtend: 2.2.0 - dev: true - - /glsl-token-assignments@2.0.2: - resolution: {integrity: sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ==} - dev: true - - /glsl-token-defines@1.0.0: - resolution: {integrity: sha512-Vb5QMVeLjmOwvvOJuPNg3vnRlffscq2/qvIuTpMzuO/7s5kT+63iL6Dfo2FYLWbzuiycWpbC0/KV0biqFwHxaQ==} - dependencies: - glsl-tokenizer: 2.1.5 - dev: true - - /glsl-token-depth@1.1.2: - resolution: {integrity: sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg==} - dev: true - - /glsl-token-descope@1.0.2: - resolution: {integrity: sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw==} - dependencies: - glsl-token-assignments: 2.0.2 - glsl-token-depth: 1.1.2 - glsl-token-properties: 1.0.1 - glsl-token-scope: 1.1.2 - dev: true - - /glsl-token-inject-block@1.1.0: - resolution: {integrity: sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA==} - dev: true - - /glsl-token-properties@1.0.1: - resolution: {integrity: sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA==} - dev: true - - /glsl-token-scope@1.1.2: - resolution: {integrity: sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A==} - dev: true - - /glsl-token-string@1.0.1: - resolution: {integrity: sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==} - dev: true - - /glsl-token-whitespace-trim@1.0.0: - resolution: {integrity: sha512-ZJtsPut/aDaUdLUNtmBYhaCmhIjpKNg7IgZSfX5wFReMc2vnj8zok+gB/3Quqs0TsBSX/fGnqUUYZDqyuc2xLQ==} - dev: true - - /glsl-tokenizer@2.1.5: - resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==} - dependencies: - through2: 0.6.5 - dev: true - - /glslify-bundle@5.1.1: - resolution: {integrity: sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==} - dependencies: - glsl-inject-defines: 1.0.3 - glsl-token-defines: 1.0.0 - glsl-token-depth: 1.1.2 - glsl-token-descope: 1.0.2 - glsl-token-scope: 1.1.2 - glsl-token-string: 1.0.1 - glsl-token-whitespace-trim: 1.0.0 - glsl-tokenizer: 2.1.5 - murmurhash-js: 1.0.0 - shallow-copy: 0.0.1 - dev: true - - /glslify-deps@1.3.2: - resolution: {integrity: sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==} - dependencies: - '@choojs/findup': 0.2.1 - events: 3.3.0 - glsl-resolve: 0.0.1 - glsl-tokenizer: 2.1.5 - graceful-fs: 4.2.11 - inherits: 2.0.4 - map-limit: 0.0.1 - resolve: 1.22.8 - dev: true - - /glslify-loader@2.0.0: - resolution: {integrity: sha512-oOdmTX1BSPG75o3gNZToemfbbuN5dgi4Pco/aRfjbwGxPIfflYLuok6JCf2kDBPHjP+tV+imNsj6YRJg9gKJ1A==} - engines: {node: '>=6'} - dependencies: - glslify-bundle: 5.1.1 - glslify-deps: 1.3.2 - loader-utils: 1.4.2 - resolve: 1.22.8 - dev: true - /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: @@ -5940,10 +5828,6 @@ packages: is-docker: 2.2.1 dev: true - /isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - dev: true - /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true @@ -6645,15 +6529,6 @@ packages: engines: {node: '>=6.11.5'} dev: true - /loader-utils@1.4.2: - resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} - engines: {node: '>=4.0.0'} - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 1.0.2 - dev: true - /loader-utils@2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} engines: {node: '>=8.9.0'} @@ -6843,12 +6718,6 @@ packages: tmpl: 1.0.5 dev: true - /map-limit@0.0.1: - resolution: {integrity: sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==} - dependencies: - once: 1.3.3 - dev: true - /marked@4.3.0: resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} engines: {node: '>= 12'} @@ -7171,10 +7040,6 @@ packages: minimatch: 3.1.2 dev: true - /murmurhash-js@1.0.0: - resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==} - dev: true - /mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true @@ -7553,12 +7418,6 @@ packages: engines: {node: '>= 0.8'} dev: true - /once@1.3.3: - resolution: {integrity: sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==} - dependencies: - wrappy: 1.0.2 - dev: true - /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -8186,15 +8045,6 @@ packages: type-fest: 0.6.0 dev: true - /readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - dev: true - /readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: @@ -8372,10 +8222,6 @@ packages: engines: {node: '>=10'} dev: true - /resolve@0.6.3: - resolution: {integrity: sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==} - dev: true - /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -8653,10 +8499,6 @@ packages: kind-of: 6.0.3 dev: true - /shallow-copy@0.0.1: - resolution: {integrity: sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==} - dev: true - /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -8962,10 +8804,6 @@ packages: es-abstract: 1.22.4 dev: true - /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - dev: true - /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: @@ -9156,13 +8994,6 @@ packages: engines: {node: '>=0.8'} dev: true - /through2@0.6.5: - resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==} - dependencies: - readable-stream: 1.0.34 - xtend: 4.0.2 - dev: true - /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true @@ -10017,16 +9848,6 @@ packages: optional: true dev: true - /xtend@2.2.0: - resolution: {integrity: sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==} - engines: {node: '>=0.4'} - dev: true - - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true - /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} diff --git a/src/asset/lensflare.png b/src/asset/lensflare.png deleted file mode 100644 index db3a9fd60..000000000 Binary files a/src/asset/lensflare.png and /dev/null differ diff --git a/src/asset/lensflare.webp b/src/asset/lensflare.webp deleted file mode 100644 index 4c6d33d3e..000000000 Binary files a/src/asset/lensflare.webp and /dev/null differ diff --git a/src/asset/sound/539503__timbre_endless-deceleration-hyperspace.mp3 b/src/asset/sound/539503__timbre_endless-deceleration-hyperspace.mp3 new file mode 100644 index 000000000..4a4d814c5 Binary files /dev/null and b/src/asset/sound/539503__timbre_endless-deceleration-hyperspace.mp3 differ diff --git a/src/asset/textures/lensflare.jpeg b/src/asset/textures/lensflare.jpeg deleted file mode 100644 index 8446d019d..000000000 Binary files a/src/asset/textures/lensflare.jpeg and /dev/null differ diff --git a/src/asset/textures/lensflare2.png b/src/asset/textures/lensflare2.png deleted file mode 100644 index e63833ac4..000000000 Binary files a/src/asset/textures/lensflare2.png and /dev/null differ diff --git a/src/asset/textures/lensflare3.png b/src/asset/textures/lensflare3.png deleted file mode 100644 index 69021e067..000000000 Binary files a/src/asset/textures/lensflare3.png and /dev/null differ diff --git a/src/asset/textures/lensflare4.png b/src/asset/textures/lensflare4.png deleted file mode 100644 index f810358b8..000000000 Binary files a/src/asset/textures/lensflare4.png and /dev/null differ diff --git a/src/asset/textures/starfield.png b/src/asset/textures/starfield.png deleted file mode 100644 index d4799d3e6..000000000 Binary files a/src/asset/textures/starfield.png and /dev/null differ diff --git a/src/asset/warpNoise.png b/src/asset/warpNoise.png deleted file mode 100644 index b993a4611..000000000 Binary files a/src/asset/warpNoise.png and /dev/null differ diff --git a/src/html/helmetOverlay.html b/src/html/helmetOverlay.html index c8c999f48..5d6115a74 100644 --- a/src/html/helmetOverlay.html +++ b/src/html/helmetOverlay.html @@ -2,8 +2,13 @@
Drop a save file here
+If you experience any bug during your exploration, please add it to the issue tracker. You can also send an email + at + barth.paleologue@cosmosjourneyer.com. Sending + screenshots and save files can help enormously with the debugging process.
+ +CosmosJourneyer is an open-source project which means anyone can help build it! Why not you?
You can
+ check out
+ the repository of the project for more details.
+ Please take a look at the contributing guidelines before starting to code for CosmosJourneyer.
+
Building CosmosJourneyer takes a lot of time and effort and yet is free for everyone. If you want to support the + project financially, you can do so on Ko-fi. Any + amount is greatly appreciated and will help me keep working on CosmosJourneyer.
+Created by Barthélemy Paléologue
+Webpack configuration & Refactorings by Martin Molli +
+Built with BabylonJS and its awesome forum
+Star colors made using John Walker's + "Colour Rendering of Spectra"
+Black hole shader based on set111 implementation + on shadertoy
+Lens flare shader based on TheNosiriN + implementation on shadertoy
+Fractal raymarching based on Nazlbit's + implementation and Myro's implementation + on shadertoy
+ +Nasalization font by Typodermic Fonts
+ +Wandering by Andrewkn
+ +Menu screen mouse over by DrMinky
+ +DISTORZIONE by lollosound
+ +Large Engine by NHumphrey
+ +Futuristic Inspect Sound, UI, or In-Game + Notification by MATRIXXX_
+ +endless acceleration by Timbre
+ +Rocket Thrust effect by + LimitSnap_Creations
+
+ Hello fellow explorer!
+ I am the creator of CosmosJourneyer, and I am glad you're interested in this project.
+ It was years in the making you see: back in 2016 already, when I was working on my 3D planetarium, I dreamed
+ about
+ making the planets fully explorable. But then I was limited by how little I knew about computer graphics.
+
+ I only started CosmosJourneyer years later as a way to escape from the stress of my studies in French "classes
+ préparatoires". At first, it was only a small procedural planet generator, which was called PlanetEngine.
+ But as ideas kept on coming, I continued working on it for years and the project grew way beyond what I had
+ imagined at first.
+
+ As I understand now that such projects cannot be achieved alone, I decided to open-source CosmosJourneyer so
+ that
+ anyone could freely use and modify it to their liking and even contribute to the project.
+
+ I hope you will enjoy CosmosJourneyer as much as I enjoy making it!
+
Barthélemy Paléologue
+If you have any question about CosmosJourneyer, feel free to contact me at barth.paleologue@cosmosjourneyer.com
+