diff --git a/package-lock.json b/package-lock.json
index 239b399a7..c3353d1d8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2631,7 +2631,6 @@
"version": "0.10.10",
"resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.10.tgz",
"integrity": "sha512-Psdo7c9g2SLAYh6u1XRA+RZ7ab2JfBVuAt/kLzXkhKZL/gS2cQUCMsOW5p0RIlDPRKqpdNSmvujd2TeRWLKOkQ==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -2648,7 +2647,6 @@
"version": "0.2.16",
"resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.16.tgz",
"integrity": "sha512-Q/s+u/TEMSb2EDJFQMGsOzpSosybBl8HuoSEMyGZ99+0Pu7SIR9MPDGUjc8PKiCFQWDJ3QXxgqh1d/rujyAMbA==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/analytics": "0.10.10",
@@ -2665,14 +2663,12 @@
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.3.tgz",
"integrity": "sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/@firebase/app": {
"version": "0.10.16",
"resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.16.tgz",
"integrity": "sha512-SUati2qH48gvVGnSsqMkZr1Iq7No52a3tJQ4itboSTM89Erezmw3v1RsfVymrDze9+KiOLmBpvLNKSvheITFjg==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -2689,7 +2685,6 @@
"version": "0.8.10",
"resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.10.tgz",
"integrity": "sha512-DWFfxxif/t+Ow4MmRUevDX+A3hVxm1rUf6y5ZP4sIomfnVCO1NNahqtsv9rb1/tKGkTeoVT40weiTS/WjQG1mA==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -2708,7 +2703,6 @@
"version": "0.3.17",
"resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.17.tgz",
"integrity": "sha512-a/eadrGsY0MVCBPhrNbKUhoYpms4UKTYLKO7nswwSFVsm3Rw6NslQQCNLfvljcDqP4E7alQDRGJXjkxd/5gJ+Q==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/app-check": "0.8.10",
@@ -2729,21 +2723,18 @@
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz",
"integrity": "sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/@firebase/app-check-types": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.3.tgz",
"integrity": "sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/@firebase/app-compat": {
"version": "0.2.46",
"resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.46.tgz",
"integrity": "sha512-9hSHWE5LMqtKIm13CnH5OZeMPbkVV3y5vgNZ5EMFHcG2ceRrncyNjG9No5XfWQw8JponZdGs4HlE4aMD/jxcFA==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/app": "0.10.16",
@@ -2760,14 +2751,12 @@
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz",
"integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/@firebase/auth": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.8.1.tgz",
"integrity": "sha512-LX9N/Cf5Z35r5yqm2+5M3+2bRRe/+RFaa/+u4HDni7TA27C/Xm4XHLKcWcLg1BzjrS4zngSaBEOSODvp6RFOqQ==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -2792,7 +2781,6 @@
"version": "0.5.16",
"resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.16.tgz",
"integrity": "sha512-YlYwJMBqAyv0ESy3jDUyshMhZlbUiwAm6B6+uUmigNDHU+uq7j4SFiDJEZlFFIz397yBzKn06SUdqutdQzGnCA==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/auth": "1.8.1",
@@ -2812,14 +2800,12 @@
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz",
"integrity": "sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/@firebase/auth-types": {
"version": "0.12.3",
"resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.3.tgz",
"integrity": "sha512-Zq9zI0o5hqXDtKg6yDkSnvMCMuLU6qAVS51PANQx+ZZX5xnzyNLEBO3GZgBUPsV5qIMFhjhqmLDxUqCbnAYy2A==",
- "extraneous": true,
"license": "Apache-2.0",
"peerDependencies": {
"@firebase/app-types": "0.x",
@@ -2830,7 +2816,6 @@
"version": "0.6.11",
"resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.11.tgz",
"integrity": "sha512-eQbeCgPukLgsKD0Kw5wQgsMDX5LeoI1MIrziNDjmc6XDq5ZQnuUymANQgAb2wp1tSF9zDSXyxJmIUXaKgN58Ug==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/util": "1.10.2",
@@ -2844,7 +2829,6 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.1.2.tgz",
"integrity": "sha512-Bcf29mntFCt5V7aceMe36wnkHrG7cwbMlUVbDHOlh2foQKx9VtSXEONw9r6FtL1sFobHVYOM5L6umX35f59m5g==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/auth-interop-types": "0.2.4",
@@ -2861,7 +2845,6 @@
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.10.tgz",
"integrity": "sha512-sWp2g92u7xT4BojGbTXZ80iaSIaL6GAL0pwvM0CO/hb0nHSnABAqsH7AhnWGsGvXuEvbPr7blZylPaR9J+GSuQ==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/app-check-interop-types": "0.3.3",
@@ -2880,7 +2863,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.0.1.tgz",
"integrity": "sha512-IsFivOjdE1GrjTeKoBU/ZMenESKDXidFDzZzHBPQ/4P20ptGdrl3oLlWrV/QJqJ9lND4IidE3z4Xr5JyfUW1vg==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -2898,7 +2880,6 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.7.tgz",
"integrity": "sha512-I7zcLfJXrM0WM+ksFmFdAMdlq/DFmpeMNa+/GNsLyFo5u/lX5zzkPzGe3srVWqaBQBY5KprylDGxOsP6ETfL0A==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/app-types": "0.9.3",
@@ -2909,7 +2890,6 @@
"version": "4.7.5",
"resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.7.5.tgz",
"integrity": "sha512-OO3rHvjC07jL2ITN255xH/UzCVSvh6xG8oTzQdFScQvFbcm1fjCL1hgAdpDZcx3vVcKMV+6ktr8wbllkB8r+FQ==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -2931,7 +2911,6 @@
"version": "0.3.40",
"resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.40.tgz",
"integrity": "sha512-18HopMN811KYBc9Ptpr1Rewwio0XF09FF3jc5wtV6rGyAs815SlFFw5vW7ZeLd43zv9tlEc2FzM0H+5Vr9ZRxw==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -2951,7 +2930,6 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.3.tgz",
"integrity": "sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==",
- "extraneous": true,
"license": "Apache-2.0",
"peerDependencies": {
"@firebase/app-types": "0.x",
@@ -2962,7 +2940,6 @@
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.11.10.tgz",
"integrity": "sha512-TP+Dzebazhw6+GduBdWn1kOJRFH84G2z+BW3pNVfkpFRkc//+uT1Uw2+dLpMGSSBRG7FrcDG91vcPnOFCzr15w==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/app-check-interop-types": "0.3.3",
@@ -2983,7 +2960,6 @@
"version": "0.3.16",
"resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.16.tgz",
"integrity": "sha512-FL7EXehiiBisNIR7mlb0i+moyWKLVfcEJgh/Wq6ZV6BdrCObpCTz7w5EvuRIEFX5e9cNL2oWInKg8S5X4HtINg==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3003,14 +2979,12 @@
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.3.tgz",
"integrity": "sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/@firebase/installations": {
"version": "0.6.11",
"resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.11.tgz",
"integrity": "sha512-w8fY8mw6fxJzsZM2ufmTtomopXl1+bn/syYon+Gpn+0p0nO1cIUEVEFrFazTLaaL9q1CaVhc3HmseRTsI3igAA==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3026,7 +3000,6 @@
"version": "0.2.11",
"resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.11.tgz",
"integrity": "sha512-SHRgw5LTa6v8LubmJZxcOCwEd1MfWQPUtKdiuCx2VMWnapX54skZd1PkQg0K4l3k+4ujbI2cn7FE6Li9hbChBw==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3043,7 +3016,6 @@
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.3.tgz",
"integrity": "sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==",
- "extraneous": true,
"license": "Apache-2.0",
"peerDependencies": {
"@firebase/app-types": "0.x"
@@ -3053,7 +3025,6 @@
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.4.tgz",
"integrity": "sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.1.0"
@@ -3066,7 +3037,6 @@
"version": "0.12.14",
"resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.14.tgz",
"integrity": "sha512-cSGP34jJswFvME8tdMDkvJvW6T1jEekyMSyq84AMBZ0KEpJbDWuC9n4wKT2lxUm1jaL651iZnn6g51yCl77ICg==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3084,7 +3054,6 @@
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.14.tgz",
"integrity": "sha512-r9weK8jTEA2aGiwy0IbMQPnzuJ0DHkOQaMxGJOlU2QZ1a7fh6RHpNtaoM+LKnn6u1NQgmAOWYNr9vezVQEm9zw==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3100,14 +3069,12 @@
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz",
"integrity": "sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/@firebase/performance": {
"version": "0.6.11",
"resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.11.tgz",
"integrity": "sha512-FlkJFeqLlIeh5T4Am3uE38HVzggliDIEFy/fErEc1faINOUFCb6vQBEoNZGaXvRnTR8lh3X/hP7tv37C7BsK9g==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3124,7 +3091,6 @@
"version": "0.2.11",
"resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.11.tgz",
"integrity": "sha512-DqeNBy51W2xzlklyC7Ht9JQ94HhTA08PCcM4MDeyG/ol3fqum/+YgtHWQ2IQuduqH9afETthZqLwCZiSgY7hiA==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3142,14 +3108,12 @@
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.3.tgz",
"integrity": "sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/@firebase/remote-config": {
"version": "0.4.11",
"resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.11.tgz",
"integrity": "sha512-9z0rgKuws2nj+7cdiqF+NY1QR4na6KnuOvP+jQvgilDOhGtKOcCMq5XHiu66i73A9kFhyU6QQ2pHXxcmaq1pBw==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3166,7 +3130,6 @@
"version": "0.2.11",
"resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.11.tgz",
"integrity": "sha512-zfIjpwPrGuIOZDmduukN086qjhZ1LnbJi/iYzgua+2qeTlO0XdlE1v66gJPwygGB3TOhT0yb9EiUZ3nBNttMqg==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3184,14 +3147,12 @@
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.3.tgz",
"integrity": "sha512-YlRI9CHxrk3lpQuFup9N1eohpwdWayKZUNZ/YeQ0PZoncJ66P32UsKUKqVXOaieTjJIOh7yH8JEzRdht5s+d6g==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/@firebase/storage": {
"version": "0.13.4",
"resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.4.tgz",
"integrity": "sha512-b1KaTTRiMupFurIhpGIbReaWev0k5O3ouTHkAPcEssT+FvU3q/1JwzvkX4+ZdB60Fc43Mbp8qQ1gWfT0Z2FP9Q==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3209,7 +3170,6 @@
"version": "0.3.14",
"resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.14.tgz",
"integrity": "sha512-Ok5FmXJiapaNAOQ8W8qppnfwgP8540jw2B8M0c4TFZqF4BD+CoKBxW0dRtOuLNGadLhzqqkDZZZtkexxrveQqA==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/component": "0.6.11",
@@ -3229,7 +3189,6 @@
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.3.tgz",
"integrity": "sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==",
- "extraneous": true,
"license": "Apache-2.0",
"peerDependencies": {
"@firebase/app-types": "0.x",
@@ -3240,7 +3199,6 @@
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.10.2.tgz",
"integrity": "sha512-qnSHIoE9FK+HYnNhTI8q14evyqbc/vHRivfB4TgCIUOl4tosmKSQlp7ltymOlMP4xVIJTg5wrkfcZ60X4nUf7Q==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.1.0"
@@ -3253,7 +3211,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@firebase/vertexai/-/vertexai-1.0.1.tgz",
"integrity": "sha512-f48MGSofhaS05ebpN7zMIv4tBqYf19pXr5/4njKtNZVLbjxUswDma0SuFDoO+IwgbdkhFxgtNctM+C1zfI/O1Q==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/app-check-interop-types": "0.3.3",
@@ -3274,7 +3231,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.3.tgz",
"integrity": "sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/@fullhuman/postcss-purgecss": {
@@ -3293,7 +3249,6 @@
"version": "1.9.15",
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz",
"integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@grpc/proto-loader": "^0.7.8",
@@ -3307,7 +3262,6 @@
"version": "0.7.13",
"resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz",
"integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"lodash.camelcase": "^4.3.0",
@@ -3406,6 +3360,18 @@
"node": ">=12"
}
},
+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
"node_modules/@isaacs/cliui/node_modules/emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
@@ -3429,6 +3395,21 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
"node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
@@ -4032,15 +4013,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@nuxt/vite-builder/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@nuxt/vite-builder/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -4247,18 +4219,6 @@
"node": ">=8.10.0"
}
},
- "node_modules/@nuxt/vite-builder/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@nuxt/vite-builder/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -4950,35 +4910,30 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
"integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
- "extraneous": true,
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/base64": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
- "extraneous": true,
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/codegen": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
- "extraneous": true,
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/eventemitter": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
"integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
- "extraneous": true,
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/fetch": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
"integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
- "extraneous": true,
"license": "BSD-3-Clause",
"dependencies": {
"@protobufjs/aspromise": "^1.1.1",
@@ -4989,35 +4944,30 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
"integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
- "extraneous": true,
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/inquire": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
"integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
- "extraneous": true,
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/path": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
- "extraneous": true,
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/pool": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
- "extraneous": true,
"license": "BSD-3-Clause"
},
"node_modules/@protobufjs/utf8": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
- "extraneous": true,
"license": "BSD-3-Clause"
},
"node_modules/@redocly/ajv": {
@@ -6382,6 +6332,10 @@
"resolved": "packages/disk-moon-city",
"link": true
},
+ "node_modules/@web-workbench/disk-synthesizer": {
+ "resolved": "packages/disk-synthesizer",
+ "link": true
+ },
"node_modules/@web-workbench/disk-workbench13": {
"resolved": "packages/disk-workbench13",
"link": true
@@ -6489,15 +6443,12 @@
}
},
"node_modules/ansi-regex": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
- "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"license": "MIT",
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ "node": ">=8"
}
},
"node_modules/ansi-styles": {
@@ -7636,15 +7587,6 @@
"node": ">=12"
}
},
- "node_modules/cliui/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/cliui/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -7689,18 +7631,6 @@
"node": ">=8"
}
},
- "node_modules/cliui/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/cliui/node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -7722,7 +7652,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
- "extraneous": true,
"license": "MIT",
"engines": {
"node": ">=0.8"
@@ -7781,7 +7710,6 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz",
"integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==",
- "extraneous": true,
"license": "MIT",
"dependencies": {
"strip-ansi": "^6.0.1",
@@ -7791,29 +7719,6 @@
"node": ">=8.0.0"
}
},
- "node_modules/columnify/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "extraneous": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/columnify/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "extraneous": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -8712,7 +8617,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
"integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
- "extraneous": true,
"license": "MIT",
"dependencies": {
"clone": "^1.0.2"
@@ -10170,7 +10074,6 @@
"version": "0.11.4",
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
"integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"websocket-driver": ">=0.5.1"
@@ -10262,7 +10165,6 @@
"version": "11.0.2",
"resolved": "https://registry.npmjs.org/firebase/-/firebase-11.0.2.tgz",
"integrity": "sha512-w4T8BSJpzdZA25QRch5ahLsgB6uRvg1LEic4BaC5rTD1YygroI1AXp+W+rbMnr8d8EjfAv6t4k8doULIjc1P8Q==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"@firebase/analytics": "0.10.10",
@@ -10538,15 +10440,6 @@
"node": ">=10"
}
},
- "node_modules/gauge/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/gauge/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -10576,18 +10469,6 @@
"node": ">=8"
}
},
- "node_modules/gauge/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
@@ -11148,7 +11029,6 @@
"version": "0.5.8",
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
"integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==",
- "extraneous": true,
"license": "MIT"
},
"node_modules/http-shutdown": {
@@ -11215,7 +11095,6 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz",
"integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==",
- "extraneous": true,
"license": "ISC"
},
"node_modules/ieee754": {
@@ -12409,7 +12288,6 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
- "dev": true,
"license": "MIT"
},
"node_modules/lodash.defaults": {
@@ -12600,6 +12478,19 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/log-update/node_modules/ansi-regex": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
"node_modules/log-update/node_modules/is-fullwidth-code-point": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz",
@@ -12633,11 +12524,26 @@
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
+ "node_modules/log-update/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
"node_modules/long": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==",
- "extraneous": true,
"license": "Apache-2.0"
},
"node_modules/loupe": {
@@ -12755,7 +12661,6 @@
"version": "15.0.3",
"resolved": "https://registry.npmjs.org/marked/-/marked-15.0.3.tgz",
"integrity": "sha512-Ai0cepvl2NHnTcO9jYDtcOEtVBNVYR31XnEA3BndO7f5As1wzpcOceSUM8FDkNLJNIODcLpDTWay/qQhqbuMvg==",
- "extraneous": true,
"license": "MIT",
"bin": {
"marked": "bin/marked.js"
@@ -17700,7 +17605,6 @@
"version": "7.4.0",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz",
"integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==",
- "extraneous": true,
"hasInstallScript": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -19371,15 +19275,6 @@
"node": ">=8"
}
},
- "node_modules/string-width-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/string-width-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -19395,22 +19290,24 @@
"node": ">=8"
}
},
- "node_modules/string-width-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "node_modules/string-width/node_modules/ansi-regex": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
"engines": {
- "node": ">=8"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
- "node_modules/strip-ansi": {
+ "node_modules/string-width/node_modules/strip-ansi": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
@@ -19422,8 +19319,7 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/strip-ansi-cjs": {
- "name": "strip-ansi",
+ "node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
@@ -19435,11 +19331,15 @@
"node": ">=8"
}
},
- "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
"engines": {
"node": ">=8"
}
@@ -19745,16 +19645,6 @@
"postcss-selector-parser": "^7.0.0"
}
},
- "node_modules/stylelint/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "devOptional": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/stylelint/node_modules/balanced-match": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
@@ -19916,19 +19806,6 @@
"node": ">=8"
}
},
- "node_modules/stylelint/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "devOptional": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/superjson": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz",
@@ -20098,16 +19975,6 @@
"node": ">=10.0.0"
}
},
- "node_modules/table/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "devOptional": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/table/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -20174,19 +20041,6 @@
"node": ">=8"
}
},
- "node_modules/table/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "devOptional": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/tapable": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
@@ -22132,7 +21986,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
"integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
- "extraneous": true,
"license": "MIT",
"dependencies": {
"defaults": "^1.0.3"
@@ -22169,7 +22022,6 @@
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
"integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
- "extraneous": true,
"license": "Apache-2.0",
"dependencies": {
"http-parser-js": ">=0.5.1",
@@ -22184,7 +22036,6 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
"integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
- "extraneous": true,
"license": "Apache-2.0",
"engines": {
"node": ">=0.8.0"
@@ -22260,15 +22111,6 @@
"string-width": "^1.0.2 || 2 || 3 || 4"
}
},
- "node_modules/wide-align/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/wide-align/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -22298,18 +22140,6 @@
"node": ">=8"
}
},
- "node_modules/wide-align/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/word-wrap": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
@@ -22355,15 +22185,6 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -22408,16 +22229,33 @@
"node": ">=8"
}
},
- "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "node_modules/wrap-ansi/node_modules/ansi-regex": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "ansi-regex": "^5.0.1"
+ "ansi-regex": "^6.0.1"
},
"engines": {
- "node": ">=8"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
"node_modules/wrappy": {
@@ -22568,15 +22406,6 @@
"node": ">=12"
}
},
- "node_modules/yargs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/yargs/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -22606,18 +22435,6 @@
"node": ">=8"
}
},
- "node_modules/yargs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/yocto-queue": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz",
@@ -22777,19 +22594,6 @@
"vite": "5.4.11"
}
},
- "packages/core/node_modules/@js-basics/vector": {},
- "packages/core/node_modules/change-case": {},
- "packages/core/node_modules/columnify": {},
- "packages/core/node_modules/dotenv-mono": {
- "dev": true
- },
- "packages/core/node_modules/firebase": {},
- "packages/core/node_modules/marked": {},
- "packages/core/node_modules/rxjs": {},
- "packages/core/node_modules/uuid": {},
- "packages/core/node_modules/vite": {
- "dev": true
- },
"packages/disk-debug": {
"name": "@web-workbench/disk-debug",
"version": "0.0.0",
@@ -22804,17 +22608,7 @@
"version": "0.0.0",
"license": "MIT",
"dependencies": {
- "@js-basics/vector": "2.1.0",
- "file-saver": "2.0.5",
- "range-overlap": "1.0.0",
- "rxjs": "7.8.1",
- "tone": "15.0.4",
- "uuid": "11.0.3",
- "webmidi": "3.1.12"
- },
- "devDependencies": {
- "dotenv-mono": "1.3.14",
- "vite": "5.4.11"
+ "@js-basics/vector": "2.1.0"
}
},
"packages/disk-moon-city": {
@@ -22827,6 +22621,8 @@
"uuid": "10.0.0"
}
},
+ "packages/disk-moon-city/node_modules/@js-basics/vector": {},
+ "packages/disk-moon-city/node_modules/rxjs": {},
"packages/disk-moon-city/node_modules/uuid": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
@@ -22840,6 +22636,20 @@
"uuid": "dist/bin/uuid"
}
},
+ "packages/disk-synthesizer": {
+ "name": "@web-workbench/disk-synthesizer",
+ "version": "0.0.0",
+ "license": "MIT",
+ "dependencies": {
+ "@js-basics/vector": "2.1.0",
+ "file-saver": "2.0.5",
+ "range-overlap": "1.0.0",
+ "rxjs": "7.8.1",
+ "tone": "15.0.4",
+ "uuid": "11.0.3",
+ "webmidi": "3.1.12"
+ }
+ },
"packages/disk-workbench13": {
"name": "@web-workbench/disk-workbench13",
"version": "0.0.0",
@@ -22847,7 +22657,6 @@
"dependencies": {
"@js-basics/vector": "2.1.0"
}
- },
- "packages/disk-workbench13/node_modules/@js-basics/vector": {}
+ }
}
}
diff --git a/packages/app/src/components/Page.vue b/packages/app/src/components/Page.vue
index 7358af015..91ea58511 100644
--- a/packages/app/src/components/Page.vue
+++ b/packages/app/src/components/Page.vue
@@ -54,6 +54,10 @@ const props = defineProps({
import('@web-workbench/disk-workbench13').then(
module => module?.default || module
),
+ synthesizer: () =>
+ import('@web-workbench/disk-synthesizer').then(
+ module => module?.default || module
+ ),
moonCity: () =>
import('@web-workbench/disk-moon-city').then(
module => module?.default || module
diff --git a/packages/core/components/Core.vue b/packages/core/components/Core.vue
index d16c77912..0179008a9 100644
--- a/packages/core/components/Core.vue
+++ b/packages/core/components/Core.vue
@@ -586,7 +586,12 @@ export default {
const sleep = (duration = 1000) =>
withWebDos ? 'SLEEP ' + duration : '';
- const floppyDisks = ['workbench13', 'extras13', 'moonCity'];
+ const floppyDisks = [
+ 'workbench13',
+ 'extras13',
+ 'synthesizer',
+ 'moonCity'
+ ];
lines.push(
sleep(1000),
diff --git a/packages/disk-extras13/index.js b/packages/disk-extras13/index.js
index a6e2b7c77..8a697083b 100644
--- a/packages/disk-extras13/index.js
+++ b/packages/disk-extras13/index.js
@@ -4,9 +4,6 @@ import { SYMBOL } from '@web-workbench/core/utils/symbols';
import basicDemos from './webBasic/basicDemos';
-import synthesizerAction, {
- CONFIG_DEFAULTS as CONFIG_DEFAULTS_SYNTHESIZER
-} from './synthesizer';
import webPaintingAction, {
CONFIG_DEFAULTS as CONFIG_DEFAULTS_WEB_PAINT
} from './webPainting';
@@ -16,7 +13,6 @@ import webBasicAction, {
import base64ConverterAction from './tools/base64Converter';
export default ({ core }) => {
- core.config.setDefaults(CONFIG_DEFAULTS_SYNTHESIZER);
core.config.setDefaults(CONFIG_DEFAULTS_WEB_PAINT);
core.config.setDefaults(CONFIG_DEFAULTS_WEB_BASIC);
@@ -50,14 +46,6 @@ export default ({ core }) => {
}
]
},
- {
- meta: [[ITEM_META.SYMBOL, SYMBOL.SYNTHESIZER]],
- id: 'Synthesizer.app',
- name: 'Synthesizer',
- createdDate: new Date(2023, 8, 4).getTime(),
- editedDate: new Date(2023, 8, 4).getTime(),
- action: synthesizerAction(core)
- },
{
meta: [[ITEM_META.SYMBOL, SYMBOL.WEB_PAINTING]],
id: 'WebPainting.app',
diff --git a/packages/disk-extras13/package.json b/packages/disk-extras13/package.json
index f7438e8b7..608187c37 100644
--- a/packages/disk-extras13/package.json
+++ b/packages/disk-extras13/package.json
@@ -13,16 +13,6 @@
"private": true,
"main": "index.js",
"dependencies": {
- "@js-basics/vector": "2.1.0",
- "file-saver": "2.0.5",
- "range-overlap": "1.0.0",
- "rxjs": "7.8.1",
- "tone": "15.0.4",
- "uuid": "11.0.3",
- "webmidi": "3.1.12"
- },
- "devDependencies": {
- "dotenv-mono": "1.3.14",
- "vite": "5.4.11"
+ "@js-basics/vector": "2.1.0"
}
-}
\ No newline at end of file
+}
diff --git a/packages/disk-moon-city/assets/img/ALT/audio_control.png b/packages/disk-moon-city/assets/img/ALT/audio_control.png
new file mode 100644
index 000000000..bc2facf06
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/audio_control.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/background.png b/packages/disk-moon-city/assets/img/ALT/background.png
new file mode 100644
index 000000000..304a4b109
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/background.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/building.png b/packages/disk-moon-city/assets/img/ALT/building.png
new file mode 100644
index 000000000..db69b7267
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/building.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/button_fullscreen.png b/packages/disk-moon-city/assets/img/ALT/button_fullscreen.png
new file mode 100644
index 000000000..7c4120453
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/button_fullscreen.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/city/1.png b/packages/disk-moon-city/assets/img/ALT/city/1.png
new file mode 100644
index 000000000..df545dcbc
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/city/1.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/city/2.png b/packages/disk-moon-city/assets/img/ALT/city/2.png
new file mode 100644
index 000000000..9ec37f4f9
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/city/2.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/city/3.png b/packages/disk-moon-city/assets/img/ALT/city/3.png
new file mode 100644
index 000000000..0be9ebba7
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/city/3.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/city/4.png b/packages/disk-moon-city/assets/img/ALT/city/4.png
new file mode 100644
index 000000000..4f100cac7
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/city/4.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/city/bar.png b/packages/disk-moon-city/assets/img/ALT/city/bar.png
new file mode 100644
index 000000000..e5bf0256e
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/city/bar.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/controls/button_dialog_1.png b/packages/disk-moon-city/assets/img/ALT/controls/button_dialog_1.png
new file mode 100644
index 000000000..de1482c42
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/controls/button_dialog_1.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/controls/button_flat_medium.png b/packages/disk-moon-city/assets/img/ALT/controls/button_flat_medium.png
new file mode 100644
index 000000000..7850679fc
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/controls/button_flat_medium.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/controls/button_fullscreen.png b/packages/disk-moon-city/assets/img/ALT/controls/button_fullscreen.png
new file mode 100644
index 000000000..7c4120453
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/controls/button_fullscreen.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/controls/button_large.png b/packages/disk-moon-city/assets/img/ALT/controls/button_large.png
new file mode 100644
index 000000000..3ec8c4dbd
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/controls/button_large.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/controls/button_plusminus.png b/packages/disk-moon-city/assets/img/ALT/controls/button_plusminus.png
new file mode 100644
index 000000000..fa1d5c217
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/controls/button_plusminus.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/controls/button_small.png b/packages/disk-moon-city/assets/img/ALT/controls/button_small.png
new file mode 100644
index 000000000..8c65e54d9
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/controls/button_small.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/controls/label_checkbox.png b/packages/disk-moon-city/assets/img/ALT/controls/label_checkbox.png
new file mode 100644
index 000000000..b2d9d1320
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/controls/label_checkbox.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/controls/rounded_checkbox.png b/packages/disk-moon-city/assets/img/ALT/controls/rounded_checkbox.png
new file mode 100644
index 000000000..4a0aaedb1
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/controls/rounded_checkbox.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/controls/target_city_select.png b/packages/disk-moon-city/assets/img/ALT/controls/target_city_select.png
new file mode 100644
index 000000000..fb4edd480
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/controls/target_city_select.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/cursor/pointer.png b/packages/disk-moon-city/assets/img/ALT/cursor/pointer.png
new file mode 100644
index 000000000..f02a69fda
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/cursor/pointer.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/display.png b/packages/disk-moon-city/assets/img/ALT/display.png
new file mode 100644
index 000000000..0ca6c6e2d
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/display.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/favicon.png b/packages/disk-moon-city/assets/img/ALT/favicon.png
new file mode 100644
index 000000000..4620f1bfc
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/favicon.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/game_over.png b/packages/disk-moon-city/assets/img/ALT/game_over.png
new file mode 100644
index 000000000..a0c731db9
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/game_over.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/game_win.png b/packages/disk-moon-city/assets/img/ALT/game_win.png
new file mode 100644
index 000000000..58accdd45
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/game_win.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/horizontal_line_background.png b/packages/disk-moon-city/assets/img/ALT/horizontal_line_background.png
new file mode 100644
index 000000000..705d977f1
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/horizontal_line_background.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/label_joint.png b/packages/disk-moon-city/assets/img/ALT/label_joint.png
new file mode 100644
index 000000000..c36954197
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/label_joint.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/loading_bar copy.png b/packages/disk-moon-city/assets/img/ALT/loading_bar copy.png
new file mode 100644
index 000000000..5e4ad07e4
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/loading_bar copy.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/loading_bar.png b/packages/disk-moon-city/assets/img/ALT/loading_bar.png
new file mode 100644
index 000000000..5e4ad07e4
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/loading_bar.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/main_button.png b/packages/disk-moon-city/assets/img/ALT/main_button.png
new file mode 100644
index 000000000..f1ad03c69
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/main_button.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/main_city_attack.png b/packages/disk-moon-city/assets/img/ALT/main_city_attack.png
new file mode 100644
index 000000000..e42740f04
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/main_city_attack.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/main_map_attack.png b/packages/disk-moon-city/assets/img/ALT/main_map_attack.png
new file mode 100644
index 000000000..9eb0d7593
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/main_map_attack.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/main_map_city.png b/packages/disk-moon-city/assets/img/ALT/main_map_city.png
new file mode 100644
index 000000000..45cc17f04
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/main_map_city.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/main_map_city_attack.png b/packages/disk-moon-city/assets/img/ALT/main_map_city_attack.png
new file mode 100644
index 000000000..83471c19c
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/main_map_city_attack.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/main_map_vehicle.png b/packages/disk-moon-city/assets/img/ALT/main_map_vehicle.png
new file mode 100644
index 000000000..cd0208109
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/main_map_vehicle.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/mask.png b/packages/disk-moon-city/assets/img/ALT/mask.png
new file mode 100644
index 000000000..a66c579aa
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/mask.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/mask_left_city.png b/packages/disk-moon-city/assets/img/ALT/mask_left_city.png
new file mode 100644
index 000000000..0507d2ac0
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/mask_left_city.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/mask_left_empty.png b/packages/disk-moon-city/assets/img/ALT/mask_left_empty.png
new file mode 100644
index 000000000..b9b4e1422
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/mask_left_empty.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/mask_left_main.png b/packages/disk-moon-city/assets/img/ALT/mask_left_main.png
new file mode 100644
index 000000000..5a4558b52
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/mask_left_main.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/mask_left_shop.png b/packages/disk-moon-city/assets/img/ALT/mask_left_shop.png
new file mode 100644
index 000000000..004077c32
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/mask_left_shop.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/mask_left_stats.png b/packages/disk-moon-city/assets/img/ALT/mask_left_stats.png
new file mode 100644
index 000000000..4cbec63d3
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/mask_left_stats.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/mask_left_weapon.png b/packages/disk-moon-city/assets/img/ALT/mask_left_weapon.png
new file mode 100644
index 000000000..0141db79b
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/mask_left_weapon.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/mask_right_main.png b/packages/disk-moon-city/assets/img/ALT/mask_right_main.png
new file mode 100644
index 000000000..6a6624b88
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/mask_right_main.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/mask_right_shop.png b/packages/disk-moon-city/assets/img/ALT/mask_right_shop.png
new file mode 100644
index 000000000..825691957
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/mask_right_shop.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/navigation.png b/packages/disk-moon-city/assets/img/ALT/navigation.png
new file mode 100644
index 000000000..35d419762
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/navigation.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/vehicle.png b/packages/disk-moon-city/assets/img/ALT/vehicle.png
new file mode 100644
index 000000000..0cc7bb538
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/vehicle.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/vehicle/overview_big_plunder.png b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_big_plunder.png
new file mode 100644
index 000000000..226d650bf
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_big_plunder.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/vehicle/overview_birdy.png b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_birdy.png
new file mode 100644
index 000000000..67694fc15
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_birdy.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/vehicle/overview_grabber.png b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_grabber.png
new file mode 100644
index 000000000..dd74a6b9a
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_grabber.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/vehicle/overview_hawk.png b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_hawk.png
new file mode 100644
index 000000000..be5af3c35
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_hawk.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/vehicle/overview_phantom.png b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_phantom.png
new file mode 100644
index 000000000..da6ed9563
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_phantom.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/vehicle/overview_shrimp.png b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_shrimp.png
new file mode 100644
index 000000000..578c33361
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_shrimp.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/vehicle/overview_spider.png b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_spider.png
new file mode 100644
index 000000000..590e61e22
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_spider.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/vehicle/overview_thunder.png b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_thunder.png
new file mode 100644
index 000000000..159316673
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/vehicle/overview_thunder.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/vertical_line_background.png b/packages/disk-moon-city/assets/img/ALT/vertical_line_background.png
new file mode 100644
index 000000000..a2443fb84
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/vertical_line_background.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/view_2_2_spacer.png b/packages/disk-moon-city/assets/img/ALT/view_2_2_spacer.png
new file mode 100644
index 000000000..6a6624b88
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/view_2_2_spacer.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/views/lobby/button_1.png b/packages/disk-moon-city/assets/img/ALT/views/lobby/button_1.png
new file mode 100644
index 000000000..c3c18c5f7
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/views/lobby/button_1.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/views/lobby/chat.png b/packages/disk-moon-city/assets/img/ALT/views/lobby/chat.png
new file mode 100644
index 000000000..5fb922e64
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/views/lobby/chat.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/views/lobby/list.png b/packages/disk-moon-city/assets/img/ALT/views/lobby/list.png
new file mode 100644
index 000000000..ee4e306a4
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/views/lobby/list.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/views/start/button_start.png b/packages/disk-moon-city/assets/img/ALT/views/start/button_start.png
new file mode 100644
index 000000000..2eb714755
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/views/start/button_start.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/weapon.png b/packages/disk-moon-city/assets/img/ALT/weapon.png
new file mode 100644
index 000000000..8b01b33e0
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/weapon.png differ
diff --git a/packages/disk-moon-city/assets/img/ALT/weapon_recruit_types.png b/packages/disk-moon-city/assets/img/ALT/weapon_recruit_types.png
new file mode 100644
index 000000000..ccb51f552
Binary files /dev/null and b/packages/disk-moon-city/assets/img/ALT/weapon_recruit_types.png differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_2.wav b/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_2.wav
new file mode 100644
index 000000000..55482b199
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_2.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_3.wav b/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_3.wav
new file mode 100644
index 000000000..87656719d
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_3.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_4.wav b/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_4.wav
new file mode 100644
index 000000000..e3528412b
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_4.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_5.wav b/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_5.wav
new file mode 100644
index 000000000..7022ea81f
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/bottom_navigation_5.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/button.wav b/packages/disk-moon-city/assets/sounds/sfx/old/button.wav
new file mode 100644
index 000000000..a97082984
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/button.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/button_2.wav b/packages/disk-moon-city/assets/sounds/sfx/old/button_2.wav
new file mode 100644
index 000000000..87656719d
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/button_2.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/button_3.wav b/packages/disk-moon-city/assets/sounds/sfx/old/button_3.wav
new file mode 100644
index 000000000..3c938878f
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/button_3.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/button_click.wav b/packages/disk-moon-city/assets/sounds/sfx/old/button_click.wav
new file mode 100644
index 000000000..33cde4a59
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/button_click.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/buy.wav b/packages/disk-moon-city/assets/sounds/sfx/old/buy.wav
new file mode 100644
index 000000000..d33f57adf
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/buy.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/buy_sell.wav b/packages/disk-moon-city/assets/sounds/sfx/old/buy_sell.wav
new file mode 100644
index 000000000..4489a6554
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/buy_sell.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/city_shield.wav b/packages/disk-moon-city/assets/sounds/sfx/old/city_shield.wav
new file mode 100644
index 000000000..e79ece89d
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/city_shield.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/city_shield_tick.wav b/packages/disk-moon-city/assets/sounds/sfx/old/city_shield_tick.wav
new file mode 100644
index 000000000..900e1c81c
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/city_shield_tick.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/end_line.wav b/packages/disk-moon-city/assets/sounds/sfx/old/end_line.wav
new file mode 100644
index 000000000..c1664a32a
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/end_line.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/error-2.wav b/packages/disk-moon-city/assets/sounds/sfx/old/error-2.wav
new file mode 100644
index 000000000..2a51f69f9
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/error-2.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/error.wav b/packages/disk-moon-city/assets/sounds/sfx/old/error.wav
new file mode 100644
index 000000000..f414f1572
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/error.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/garage_vehicle_click.wav b/packages/disk-moon-city/assets/sounds/sfx/old/garage_vehicle_click.wav
new file mode 100644
index 000000000..a75d2b441
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/garage_vehicle_click.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/intro.wav b/packages/disk-moon-city/assets/sounds/sfx/old/intro.wav
new file mode 100644
index 000000000..923f891f9
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/intro.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/intro_switch.wav b/packages/disk-moon-city/assets/sounds/sfx/old/intro_switch.wav
new file mode 100644
index 000000000..0b13588ad
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/intro_switch.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/item_click.wav b/packages/disk-moon-city/assets/sounds/sfx/old/item_click.wav
new file mode 100644
index 000000000..0ae4b715e
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/item_click.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/label_checkbox_click.wav b/packages/disk-moon-city/assets/sounds/sfx/old/label_checkbox_click.wav
new file mode 100644
index 000000000..4489a6554
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/label_checkbox_click.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/now_round_vehicle_come.wav b/packages/disk-moon-city/assets/sounds/sfx/old/now_round_vehicle_come.wav
new file mode 100644
index 000000000..5ab48fc12
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/now_round_vehicle_come.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/picker.wav b/packages/disk-moon-city/assets/sounds/sfx/old/picker.wav
new file mode 100644
index 000000000..3c938878f
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/picker.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/rocket.wav b/packages/disk-moon-city/assets/sounds/sfx/old/rocket.wav
new file mode 100644
index 000000000..34a7d6b40
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/rocket.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/sat_laser.wav b/packages/disk-moon-city/assets/sounds/sfx/old/sat_laser.wav
new file mode 100644
index 000000000..06fdc5b48
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/sat_laser.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/shop_item_click.wav b/packages/disk-moon-city/assets/sounds/sfx/old/shop_item_click.wav
new file mode 100644
index 000000000..2ec347c9f
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/shop_item_click.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/start_1.wav b/packages/disk-moon-city/assets/sounds/sfx/old/start_1.wav
new file mode 100644
index 000000000..3f277d06e
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/start_1.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/start_1_1.wav b/packages/disk-moon-city/assets/sounds/sfx/old/start_1_1.wav
new file mode 100644
index 000000000..8bf0d81af
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/start_1_1.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/start_1_2.wav b/packages/disk-moon-city/assets/sounds/sfx/old/start_1_2.wav
new file mode 100644
index 000000000..029a35ec7
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/start_1_2.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/target_city_select.wav b/packages/disk-moon-city/assets/sounds/sfx/old/target_city_select.wav
new file mode 100644
index 000000000..0b7cb087a
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/target_city_select.wav differ
diff --git a/packages/disk-moon-city/assets/sounds/sfx/old/write_line.wav b/packages/disk-moon-city/assets/sounds/sfx/old/write_line.wav
new file mode 100644
index 000000000..9de2b6664
Binary files /dev/null and b/packages/disk-moon-city/assets/sounds/sfx/old/write_line.wav differ
diff --git a/packages/disk-moon-city/index.js b/packages/disk-moon-city/index.js
index eef4c8b50..93a1a2560 100644
--- a/packages/disk-moon-city/index.js
+++ b/packages/disk-moon-city/index.js
@@ -53,7 +53,6 @@ export default async ({ core }) => {
type: 'markdown',
content: readmeContent,
position: { x: 50, y: 0 },
- // fontFamily: FONT_FAMILES.Monospace['Courier New'],
fontSize: 16
},
meta: [
@@ -63,7 +62,7 @@ export default async ({ core }) => {
]
},
{
- id: 'mooncity.app',
+ id: 'Mooncity.app',
name: 'Moon City',
meta: [
[ITEM_META.POSITION, { x: 0, y: 5 }],
@@ -85,9 +84,6 @@ export default async ({ core }) => {
borderless: true,
hideRootHeader: true
}
- // layout: {
- // size: ipoint(540, 360)
- // }
},
{
full: true
diff --git a/packages/disk-extras13/synthesizer/Deferred.js b/packages/disk-synthesizer/Deferred.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/Deferred.js
rename to packages/disk-synthesizer/Deferred.js
diff --git a/packages/disk-synthesizer/README.md b/packages/disk-synthesizer/README.md
new file mode 100644
index 000000000..16ad1a609
--- /dev/null
+++ b/packages/disk-synthesizer/README.md
@@ -0,0 +1,3 @@
+# Synthesizer
+
+…
diff --git a/packages/disk-extras13/synthesizer/assets/svg/icons/double_next.svg b/packages/disk-synthesizer/assets/svg/icons/double_next.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/icons/double_next.svg
rename to packages/disk-synthesizer/assets/svg/icons/double_next.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/icons/double_prev.svg b/packages/disk-synthesizer/assets/svg/icons/double_prev.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/icons/double_prev.svg
rename to packages/disk-synthesizer/assets/svg/icons/double_prev.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/icons/next.svg b/packages/disk-synthesizer/assets/svg/icons/next.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/icons/next.svg
rename to packages/disk-synthesizer/assets/svg/icons/next.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/icons/pause.svg b/packages/disk-synthesizer/assets/svg/icons/pause.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/icons/pause.svg
rename to packages/disk-synthesizer/assets/svg/icons/pause.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/icons/play.svg b/packages/disk-synthesizer/assets/svg/icons/play.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/icons/play.svg
rename to packages/disk-synthesizer/assets/svg/icons/play.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/icons/prev.svg b/packages/disk-synthesizer/assets/svg/icons/prev.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/icons/prev.svg
rename to packages/disk-synthesizer/assets/svg/icons/prev.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/icons/reset.svg b/packages/disk-synthesizer/assets/svg/icons/reset.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/icons/reset.svg
rename to packages/disk-synthesizer/assets/svg/icons/reset.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/icons/skip_next.svg b/packages/disk-synthesizer/assets/svg/icons/skip_next.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/icons/skip_next.svg
rename to packages/disk-synthesizer/assets/svg/icons/skip_next.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/icons/skip_prev.svg b/packages/disk-synthesizer/assets/svg/icons/skip_prev.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/icons/skip_prev.svg
rename to packages/disk-synthesizer/assets/svg/icons/skip_prev.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/icons/stop.svg b/packages/disk-synthesizer/assets/svg/icons/stop.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/icons/stop.svg
rename to packages/disk-synthesizer/assets/svg/icons/stop.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/note.svg b/packages/disk-synthesizer/assets/svg/note.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/note.svg
rename to packages/disk-synthesizer/assets/svg/note.svg
diff --git a/packages/disk-extras13/synthesizer/assets/svg/note_canvas.svg b/packages/disk-synthesizer/assets/svg/note_canvas.svg
similarity index 100%
rename from packages/disk-extras13/synthesizer/assets/svg/note_canvas.svg
rename to packages/disk-synthesizer/assets/svg/note_canvas.svg
diff --git a/packages/disk-extras13/synthesizer/classes/BeatRenderer copy.js b/packages/disk-synthesizer/classes/BeatRenderer copy.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/BeatRenderer copy.js
rename to packages/disk-synthesizer/classes/BeatRenderer copy.js
diff --git a/packages/disk-extras13/synthesizer/classes/BeatRenderer.js b/packages/disk-synthesizer/classes/BeatRenderer.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/BeatRenderer.js
rename to packages/disk-synthesizer/classes/BeatRenderer.js
diff --git a/packages/disk-extras13/synthesizer/classes/Clock.js b/packages/disk-synthesizer/classes/Clock.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/Clock.js
rename to packages/disk-synthesizer/classes/Clock.js
diff --git a/packages/disk-extras13/synthesizer/classes/GridRenderer.js b/packages/disk-synthesizer/classes/GridRenderer.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/GridRenderer.js
rename to packages/disk-synthesizer/classes/GridRenderer.js
diff --git a/packages/disk-extras13/synthesizer/classes/Metronom copy.js b/packages/disk-synthesizer/classes/Metronom copy.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/Metronom copy.js
rename to packages/disk-synthesizer/classes/Metronom copy.js
diff --git a/packages/disk-extras13/synthesizer/classes/Metronom.js b/packages/disk-synthesizer/classes/Metronom.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/Metronom.js
rename to packages/disk-synthesizer/classes/Metronom.js
diff --git a/packages/disk-extras13/synthesizer/classes/MetronomRenderer.js b/packages/disk-synthesizer/classes/MetronomRenderer.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/MetronomRenderer.js
rename to packages/disk-synthesizer/classes/MetronomRenderer.js
diff --git a/packages/disk-extras13/synthesizer/classes/MidiController.js b/packages/disk-synthesizer/classes/MidiController.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/MidiController.js
rename to packages/disk-synthesizer/classes/MidiController.js
diff --git a/packages/disk-extras13/synthesizer/classes/NoteDescription.js b/packages/disk-synthesizer/classes/NoteDescription.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/NoteDescription.js
rename to packages/disk-synthesizer/classes/NoteDescription.js
diff --git a/packages/disk-extras13/synthesizer/classes/NoteRenderer.js b/packages/disk-synthesizer/classes/NoteRenderer.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/NoteRenderer.js
rename to packages/disk-synthesizer/classes/NoteRenderer.js
diff --git a/packages/disk-extras13/synthesizer/classes/Project.js b/packages/disk-synthesizer/classes/Project.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/Project.js
rename to packages/disk-synthesizer/classes/Project.js
diff --git a/packages/disk-extras13/synthesizer/classes/TimeNotation.js b/packages/disk-synthesizer/classes/TimeNotation.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/TimeNotation.js
rename to packages/disk-synthesizer/classes/TimeNotation.js
diff --git a/packages/disk-extras13/synthesizer/classes/TimelineNoteDescription.js b/packages/disk-synthesizer/classes/TimelineNoteDescription.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/TimelineNoteDescription.js
rename to packages/disk-synthesizer/classes/TimelineNoteDescription.js
diff --git a/packages/disk-extras13/synthesizer/classes/TimelineRenderer.js b/packages/disk-synthesizer/classes/TimelineRenderer.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/TimelineRenderer.js
rename to packages/disk-synthesizer/classes/TimelineRenderer.js
diff --git a/packages/disk-extras13/synthesizer/classes/Track.js b/packages/disk-synthesizer/classes/Track.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/Track.js
rename to packages/disk-synthesizer/classes/Track.js
diff --git a/packages/disk-extras13/synthesizer/classes/TrackPlayer.js b/packages/disk-synthesizer/classes/TrackPlayer.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/classes/TrackPlayer.js
rename to packages/disk-synthesizer/classes/TrackPlayer.js
diff --git a/packages/disk-extras13/synthesizer/components/Info.vue b/packages/disk-synthesizer/components/Info.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/Info.vue
rename to packages/disk-synthesizer/components/Info.vue
diff --git a/packages/disk-extras13/synthesizer/components/Project.vue b/packages/disk-synthesizer/components/Project.vue
similarity index 99%
rename from packages/disk-extras13/synthesizer/components/Project.vue
rename to packages/disk-synthesizer/components/Project.vue
index 563741815..91d3fcd83 100644
--- a/packages/disk-extras13/synthesizer/components/Project.vue
+++ b/packages/disk-synthesizer/components/Project.vue
@@ -24,7 +24,7 @@ import * as Tone from 'tone';
import { CONFIG_NAMES as CORE_CONFIG_NAMES } from '@web-workbench/core/classes/Core/utils';
import { getDecibelFromValue } from '../utils';
import TrackPlayer from '../classes/TrackPlayer';
-import { CONFIG_NAMES } from '../index';
+import { CONFIG_NAMES } from '../synthesizer';
import contextMenu from '../contextMenu';
import useTone from '../composables/useTone';
import Track from '../classes/Track';
diff --git a/packages/disk-extras13/synthesizer/components/Timer.vue b/packages/disk-synthesizer/components/Timer.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/Timer.vue
rename to packages/disk-synthesizer/components/Timer.vue
diff --git a/packages/disk-extras13/synthesizer/components/Track copy.vue b/packages/disk-synthesizer/components/Track copy.vue
similarity index 99%
rename from packages/disk-extras13/synthesizer/components/Track copy.vue
rename to packages/disk-synthesizer/components/Track copy.vue
index a5751a31e..0babf0e55 100644
--- a/packages/disk-extras13/synthesizer/components/Track copy.vue
+++ b/packages/disk-synthesizer/components/Track copy.vue
@@ -54,7 +54,11 @@ import NoteDescription, {
Note as NoteDescriptionNote,
Time as NoteDescriptionTime
} from '../classes/NoteDescription';
-import { getDefaultModel, getDefaultTrackModel, CONFIG_NAMES } from '../index';
+import {
+ getDefaultModel,
+ getDefaultTrackModel,
+ CONFIG_NAMES
+} from '../synthesizer';
import TrackPlayer from '../classes/TrackPlayer';
import contextMenu from '../contextMenu';
diff --git a/packages/disk-extras13/synthesizer/components/Track.vue b/packages/disk-synthesizer/components/Track.vue
similarity index 99%
rename from packages/disk-extras13/synthesizer/components/Track.vue
rename to packages/disk-synthesizer/components/Track.vue
index b9c5a5bd1..086c6f162 100644
--- a/packages/disk-extras13/synthesizer/components/Track.vue
+++ b/packages/disk-synthesizer/components/Track.vue
@@ -71,7 +71,11 @@ import MidiController from '../classes/MidiController';
import useTone from '../composables/useTone';
import NoteDescription from '../classes/NoteDescription';
import { getInstruments, getNoteTimes } from '../utils';
-import { getDefaultModel, getDefaultTrackModel, CONFIG_NAMES } from '../index';
+import {
+ getDefaultModel,
+ getDefaultTrackModel,
+ CONFIG_NAMES
+} from '../synthesizer';
import contextMenu from '../contextMenu';
import TrackPlayer from '../classes/TrackPlayer';
import TimelineCanvas from './synthesizer/TimelineCanvas';
diff --git a/packages/disk-extras13/synthesizer/components/debug/Midi copy.vue b/packages/disk-synthesizer/components/debug/Midi copy.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/debug/Midi copy.vue
rename to packages/disk-synthesizer/components/debug/Midi copy.vue
diff --git a/packages/disk-extras13/synthesizer/components/debug/Midi.vue b/packages/disk-synthesizer/components/debug/Midi.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/debug/Midi.vue
rename to packages/disk-synthesizer/components/debug/Midi.vue
diff --git a/packages/disk-extras13/synthesizer/components/debug/Notes.vue b/packages/disk-synthesizer/components/debug/Notes.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/debug/Notes.vue
rename to packages/disk-synthesizer/components/debug/Notes.vue
diff --git a/packages/disk-extras13/synthesizer/components/debug/Timeline.vue b/packages/disk-synthesizer/components/debug/Timeline.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/debug/Timeline.vue
rename to packages/disk-synthesizer/components/debug/Timeline.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/Editor.vue b/packages/disk-synthesizer/components/synthesizer/Editor.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/Editor.vue
rename to packages/disk-synthesizer/components/synthesizer/Editor.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/Info.vue b/packages/disk-synthesizer/components/synthesizer/Info.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/Info.vue
rename to packages/disk-synthesizer/components/synthesizer/Info.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/Keyboard.vue b/packages/disk-synthesizer/components/synthesizer/Keyboard.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/Keyboard.vue
rename to packages/disk-synthesizer/components/synthesizer/Keyboard.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/Metronom.vue b/packages/disk-synthesizer/components/synthesizer/Metronom.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/Metronom.vue
rename to packages/disk-synthesizer/components/synthesizer/Metronom.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/Metronom/Midi.vue b/packages/disk-synthesizer/components/synthesizer/Metronom/Midi.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/Metronom/Midi.vue
rename to packages/disk-synthesizer/components/synthesizer/Metronom/Midi.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/Navigation.vue b/packages/disk-synthesizer/components/synthesizer/Navigation.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/Navigation.vue
rename to packages/disk-synthesizer/components/synthesizer/Navigation.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/Navigation/Item.vue b/packages/disk-synthesizer/components/synthesizer/Navigation/Item.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/Navigation/Item.vue
rename to packages/disk-synthesizer/components/synthesizer/Navigation/Item.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/Note.vue b/packages/disk-synthesizer/components/synthesizer/Note.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/Note.vue
rename to packages/disk-synthesizer/components/synthesizer/Note.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/NoteCanvas.vue b/packages/disk-synthesizer/components/synthesizer/NoteCanvas.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/NoteCanvas.vue
rename to packages/disk-synthesizer/components/synthesizer/NoteCanvas.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/NoteGroup.vue b/packages/disk-synthesizer/components/synthesizer/NoteGroup.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/NoteGroup.vue
rename to packages/disk-synthesizer/components/synthesizer/NoteGroup.vue
diff --git a/packages/disk-extras13/synthesizer/components/synthesizer/TimelineCanvas.vue b/packages/disk-synthesizer/components/synthesizer/TimelineCanvas.vue
similarity index 100%
rename from packages/disk-extras13/synthesizer/components/synthesizer/TimelineCanvas.vue
rename to packages/disk-synthesizer/components/synthesizer/TimelineCanvas.vue
diff --git a/packages/disk-extras13/synthesizer/composables/useTone.js b/packages/disk-synthesizer/composables/useTone.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/composables/useTone.js
rename to packages/disk-synthesizer/composables/useTone.js
diff --git a/packages/disk-extras13/synthesizer/contextMenu.js b/packages/disk-synthesizer/contextMenu.js
similarity index 99%
rename from packages/disk-extras13/synthesizer/contextMenu.js
rename to packages/disk-synthesizer/contextMenu.js
index 79c7063ad..672b4a335 100644
--- a/packages/disk-extras13/synthesizer/contextMenu.js
+++ b/packages/disk-synthesizer/contextMenu.js
@@ -9,7 +9,7 @@ import {
getKeyboardSizes,
getNoteCount
} from './utils';
-import { CONFIG_NAMES, renamingDialog } from './index';
+import { CONFIG_NAMES, renamingDialog } from './synthesizer';
export default ({
core,
diff --git a/packages/disk-extras13/synthesizer/examples/EXAMPLE_NOTES.js b/packages/disk-synthesizer/examples/EXAMPLE_NOTES.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/examples/EXAMPLE_NOTES.js
rename to packages/disk-synthesizer/examples/EXAMPLE_NOTES.js
diff --git a/packages/disk-extras13/synthesizer/examples/index.js b/packages/disk-synthesizer/examples/index.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/examples/index.js
rename to packages/disk-synthesizer/examples/index.js
diff --git a/packages/disk-synthesizer/index.js b/packages/disk-synthesizer/index.js
new file mode 100644
index 000000000..c35391df9
--- /dev/null
+++ b/packages/disk-synthesizer/index.js
@@ -0,0 +1,54 @@
+import { ITEM_META } from '@web-workbench/core/classes/FileSystem/Item';
+import { SYMBOL } from '@web-workbench/core/utils/symbols';
+
+export default async ({ core }) => {
+ const test = await import('./synthesizer.js');
+
+ console.log(test);
+ const [readmeContent] = (await Promise.all([import('./README.md?raw')])).map(
+ module => module.default || module
+ );
+
+ const {
+ default: synthesizerAction,
+ CONFIG_DEFAULTS: CONFIG_DEFAULTS_SYNTHESIZER
+ } = test;
+ core.config.setDefaults(CONFIG_DEFAULTS_SYNTHESIZER);
+
+ return {
+ meta: [
+ [ITEM_META.SYMBOL, SYMBOL.DISK_2],
+ // [ITEM_META.WINDOW_SYMBOL_REARRANGE, true],
+ [ITEM_META.VISIBLE, true]
+ ],
+ name: 'Synthesizer',
+ items: [
+ {
+ id: 'Readme.md',
+ name: 'Readme',
+ data: {
+ type: 'markdown',
+ content: readmeContent,
+ fontSize: 16
+ },
+ meta: [
+ [ITEM_META.POSITION, { x: 90, y: 5 }],
+ [ITEM_META.IGNORE_SYMBOL_REARRANGE, true],
+ [ITEM_META.SYMBOL, SYMBOL.LARGE_NOTE_RICH]
+ ]
+ },
+ {
+ id: 'Synthesizer.app',
+ name: 'Synthesizer',
+ meta: [
+ [ITEM_META.SYMBOL, SYMBOL.SYNTHESIZER],
+ [ITEM_META.POSITION, { x: 10, y: 5 }],
+ [ITEM_META.IGNORE_SYMBOL_REARRANGE, true]
+ ],
+ createdDate: new Date(2023, 8, 4).getTime(),
+ editedDate: new Date(2023, 8, 4).getTime(),
+ action: synthesizerAction(core)
+ }
+ ]
+ };
+};
diff --git a/packages/disk-extras13/synthesizer/midi/beethoven-techno.json b/packages/disk-synthesizer/midi/beethoven-techno.json
similarity index 100%
rename from packages/disk-extras13/synthesizer/midi/beethoven-techno.json
rename to packages/disk-synthesizer/midi/beethoven-techno.json
diff --git a/packages/disk-extras13/synthesizer/midi/greengreens.json b/packages/disk-synthesizer/midi/greengreens.json
similarity index 100%
rename from packages/disk-extras13/synthesizer/midi/greengreens.json
rename to packages/disk-synthesizer/midi/greengreens.json
diff --git a/packages/disk-extras13/synthesizer/midi/lemming-1.json b/packages/disk-synthesizer/midi/lemming-1.json
similarity index 100%
rename from packages/disk-extras13/synthesizer/midi/lemming-1.json
rename to packages/disk-synthesizer/midi/lemming-1.json
diff --git a/packages/disk-extras13/synthesizer/note.config.js b/packages/disk-synthesizer/note.config.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/note.config.js
rename to packages/disk-synthesizer/note.config.js
diff --git a/packages/disk-synthesizer/package.json b/packages/disk-synthesizer/package.json
new file mode 100644
index 000000000..5edce53ea
--- /dev/null
+++ b/packages/disk-synthesizer/package.json
@@ -0,0 +1,24 @@
+{
+ "name": "@web-workbench/disk-synthesizer",
+ "version": "0.0.0",
+ "author": "Thorn-Welf Walli",
+ "contributors": [
+ {
+ "name": "Thorn-Welf Walli",
+ "email": "lammpee@gmail.com"
+ }
+ ],
+ "type": "module",
+ "license": "MIT",
+ "private": true,
+ "main": "index.js",
+ "dependencies": {
+ "@js-basics/vector": "2.1.0",
+ "file-saver": "2.0.5",
+ "range-overlap": "1.0.0",
+ "rxjs": "7.8.1",
+ "tone": "15.0.4",
+ "uuid": "11.0.3",
+ "webmidi": "3.1.12"
+ }
+}
diff --git a/packages/disk-synthesizer/svg/icons/double_next.svg b/packages/disk-synthesizer/svg/icons/double_next.svg
new file mode 100644
index 000000000..6a228e2b3
--- /dev/null
+++ b/packages/disk-synthesizer/svg/icons/double_next.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/disk-synthesizer/svg/icons/double_prev.svg b/packages/disk-synthesizer/svg/icons/double_prev.svg
new file mode 100644
index 000000000..7365f1fe0
--- /dev/null
+++ b/packages/disk-synthesizer/svg/icons/double_prev.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/disk-synthesizer/svg/icons/next.svg b/packages/disk-synthesizer/svg/icons/next.svg
new file mode 100644
index 000000000..5ead45786
--- /dev/null
+++ b/packages/disk-synthesizer/svg/icons/next.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/disk-synthesizer/svg/icons/pause.svg b/packages/disk-synthesizer/svg/icons/pause.svg
new file mode 100644
index 000000000..5b4c9b815
--- /dev/null
+++ b/packages/disk-synthesizer/svg/icons/pause.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/disk-synthesizer/svg/icons/play.svg b/packages/disk-synthesizer/svg/icons/play.svg
new file mode 100644
index 000000000..5ead45786
--- /dev/null
+++ b/packages/disk-synthesizer/svg/icons/play.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/disk-synthesizer/svg/icons/prev.svg b/packages/disk-synthesizer/svg/icons/prev.svg
new file mode 100644
index 000000000..d61e9bed8
--- /dev/null
+++ b/packages/disk-synthesizer/svg/icons/prev.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/disk-synthesizer/svg/icons/reset.svg b/packages/disk-synthesizer/svg/icons/reset.svg
new file mode 100644
index 000000000..d7d9817f4
--- /dev/null
+++ b/packages/disk-synthesizer/svg/icons/reset.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/disk-synthesizer/svg/icons/skip_next.svg b/packages/disk-synthesizer/svg/icons/skip_next.svg
new file mode 100644
index 000000000..d5ddca7af
--- /dev/null
+++ b/packages/disk-synthesizer/svg/icons/skip_next.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/disk-synthesizer/svg/icons/skip_prev.svg b/packages/disk-synthesizer/svg/icons/skip_prev.svg
new file mode 100644
index 000000000..7d791f04f
--- /dev/null
+++ b/packages/disk-synthesizer/svg/icons/skip_prev.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/disk-synthesizer/svg/icons/stop.svg b/packages/disk-synthesizer/svg/icons/stop.svg
new file mode 100644
index 000000000..e9b684bb3
--- /dev/null
+++ b/packages/disk-synthesizer/svg/icons/stop.svg
@@ -0,0 +1,3 @@
+
diff --git a/packages/disk-synthesizer/svg/note.svg b/packages/disk-synthesizer/svg/note.svg
new file mode 100644
index 000000000..f1f3bbb24
--- /dev/null
+++ b/packages/disk-synthesizer/svg/note.svg
@@ -0,0 +1,72 @@
+
+
+
diff --git a/packages/disk-synthesizer/svg/note_canvas.svg b/packages/disk-synthesizer/svg/note_canvas.svg
new file mode 100644
index 000000000..1b6d3bffd
--- /dev/null
+++ b/packages/disk-synthesizer/svg/note_canvas.svg
@@ -0,0 +1,73 @@
+
+
+
diff --git a/packages/disk-extras13/synthesizer/index.js b/packages/disk-synthesizer/synthesizer.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/index.js
rename to packages/disk-synthesizer/synthesizer.js
diff --git a/packages/disk-extras13/synthesizer/test.json b/packages/disk-synthesizer/test.json
similarity index 100%
rename from packages/disk-extras13/synthesizer/test.json
rename to packages/disk-synthesizer/test.json
diff --git a/packages/disk-extras13/test/synthesizer.test.js b/packages/disk-synthesizer/test/synthesizer.test.js
similarity index 97%
rename from packages/disk-extras13/test/synthesizer.test.js
rename to packages/disk-synthesizer/test/synthesizer.test.js
index 5997cc268..3c9ac4b0e 100644
--- a/packages/disk-extras13/test/synthesizer.test.js
+++ b/packages/disk-synthesizer/test/synthesizer.test.js
@@ -3,9 +3,9 @@ import { describe, it, expect } from 'vitest';
import NoteDescription, {
Note as NoteDescriptionNote,
Time as NoteDescriptionTime
-} from './synthesizer/classes/NoteDescription';
+} from '../classes/NoteDescription.js';
-import { NOTE_MODIFICATIONS } from './synthesizer/types';
+import { NOTE_MODIFICATIONS } from '../types.js';
describe('Synthesizer', () => {
it('Note', () => {
diff --git a/packages/disk-extras13/synthesizer/test2.json b/packages/disk-synthesizer/test2.json
similarity index 100%
rename from packages/disk-extras13/synthesizer/test2.json
rename to packages/disk-synthesizer/test2.json
diff --git a/packages/disk-extras13/synthesizer/types.js b/packages/disk-synthesizer/types.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/types.js
rename to packages/disk-synthesizer/types.js
diff --git a/packages/disk-extras13/synthesizer/utils.js b/packages/disk-synthesizer/utils.js
similarity index 100%
rename from packages/disk-extras13/synthesizer/utils.js
rename to packages/disk-synthesizer/utils.js
diff --git a/packages/disk-extras13/synthesizer/utils/noteTransform.js b/packages/disk-synthesizer/utils/noteTransform.js
similarity index 98%
rename from packages/disk-extras13/synthesizer/utils/noteTransform.js
rename to packages/disk-synthesizer/utils/noteTransform.js
index 19e71222e..d3b77f788 100644
--- a/packages/disk-extras13/synthesizer/utils/noteTransform.js
+++ b/packages/disk-synthesizer/utils/noteTransform.js
@@ -1,6 +1,6 @@
import TimelineNoteDescription from '../classes/TimelineNoteDescription';
import { GROUP_DIRECTIONS } from '../types';
-import { getNotePosition, getOctaveRangeFromNotes } from '../utils';
+import { getNotePosition, getOctaveRangeFromNotes } from '.';
class NoteGroup {
constructor({ align, notes }) {
diff --git a/packages/disk-extras13/vitest.config.js b/packages/disk-synthesizer/vitest.config.js
similarity index 100%
rename from packages/disk-extras13/vitest.config.js
rename to packages/disk-synthesizer/vitest.config.js
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 528cd691f..985dc1151 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -161,6 +161,24 @@ importers:
version: 7.8.1
packages/disk-extras13:
+ dependencies:
+ '@js-basics/vector':
+ specifier: 2.1.0
+ version: 2.1.0
+
+ packages/disk-moon-city:
+ dependencies:
+ '@js-basics/vector':
+ specifier: 2.1.0
+ version: 2.1.0
+ rxjs:
+ specifier: 7.8.1
+ version: 7.8.1
+ uuid:
+ specifier: 10.0.0
+ version: 10.0.0
+
+ packages/disk-synthesizer:
dependencies:
'@js-basics/vector':
specifier: 2.1.0
@@ -183,25 +201,6 @@ importers:
webmidi:
specifier: 3.1.12
version: 3.1.12
- devDependencies:
- dotenv-mono:
- specifier: 1.3.14
- version: 1.3.14
- vite:
- specifier: 5.4.11
- version: 5.4.11(@types/node@22.10.1)(terser@5.37.0)
-
- packages/disk-moon-city:
- dependencies:
- '@js-basics/vector':
- specifier: 2.1.0
- version: 2.1.0
- rxjs:
- specifier: 7.8.1
- version: 7.8.1
- uuid:
- specifier: 10.0.0
- version: 10.0.0
packages/disk-workbench13:
dependencies: