From 0ff8b5c03e4947a32f7cc2c316397e88f7216f11 Mon Sep 17 00:00:00 2001 From: geoffsee <> Date: Sat, 28 Jun 2025 16:55:14 -0400 Subject: [PATCH] * Introduced `BevyScene` React component in `landing-component` for rendering a 3D cockpit visualization. * Included WebAssembly asset `yachtpit.js` for cockpit functionality. * Added Bevy MIT license file. * Implemented a service worker to cache assets locally instead of fetching them remotely. * Added collapsible functionality to **Tweakbox** and included the `@chakra-ui/icons` dependency. * Applied the `hidden` prop to the Tweakbox Heading for better accessibility. * Refactored **Particles** component for improved performance, clarity, and maintainability. * Introduced helper functions for particle creation and count management. * Added responsive resizing with particle repositioning. * Optimized animation updates, including velocity adjustments for speed changes. * Ensured canvas size and particle state are cleanly managed on component unmount. --- .gitignore | 11 +- .gitmodules | 3 + bun.lock | 14 +- crates/yachtpit | 1 + package.json | 4 + packages/client/package.json | 18 +- packages/client/public/icon.ico | Bin 0 -> 156431 bytes .../client/scripts/generate-bevy-bundle.js | 164 ++++++++++++++++++ .../landing-component/BevyScene.tsx | 45 +++++ .../landing-component/LandingComponent.tsx | 102 +++++++++++ .../landing-component/MatrixRain.tsx | 117 +++++++++++++ .../landing-component/Particles.tsx | 161 +++++++++++++++++ .../components/landing-component/Tweakbox.tsx | 111 ++++++++++++ packages/client/src/layout/Hero.tsx | 4 +- packages/client/src/layout/Navigation.tsx | 7 +- .../src/layout/theme/color-themes/OneDark.ts | 4 +- packages/client/src/pages/+client.ts | 17 ++ packages/client/src/pages/index/+Page.tsx | 4 +- packages/client/vite.config.ts | 39 +++-- .../open-gsio/wrangler.jsonc | 3 +- packages/scripts/cleanup.sh | 7 +- 21 files changed, 798 insertions(+), 38 deletions(-) create mode 100644 .gitmodules create mode 160000 crates/yachtpit create mode 100644 packages/client/public/icon.ico create mode 100644 packages/client/scripts/generate-bevy-bundle.js create mode 100644 packages/client/src/components/landing-component/BevyScene.tsx create mode 100644 packages/client/src/components/landing-component/LandingComponent.tsx create mode 100644 packages/client/src/components/landing-component/MatrixRain.tsx create mode 100644 packages/client/src/components/landing-component/Particles.tsx create mode 100644 packages/client/src/components/landing-component/Tweakbox.tsx diff --git a/.gitignore b/.gitignore index e32406c..26076f2 100644 --- a/.gitignore +++ b/.gitignore @@ -7,11 +7,16 @@ **/.idea/ **/html/ **/.env -packages/client/public/static/fonts/* **/secrets.json **/.dev.vars -packages/client/public/sitemap.xml -packages/client/public/robots.txt wrangler.dev.jsonc /packages/client/public/static/fonts/ +/packages/client/public/robots.txt +/packages/client/public/sitemap.xml +/packages/client/public/assets/textures/bevy.png +/packages/client/public/assets/audio/flying.ogg +/packages/client/public/assets/textures/github.png +/packages/client/public/yachtpit.html +/packages/client/public/yachtpit.js +/packages/client/public/yachtpit_bg.wasm diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..df3cef0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "crates/yachtpit"] + path = crates/yachtpit + url = https://github.com/seemueller-io/yachtpit.git diff --git a/bun.lock b/bun.lock index 56aa0a7..dcc5eb1 100644 --- a/bun.lock +++ b/bun.lock @@ -2,6 +2,9 @@ "lockfileVersion": 1, "workspaces": { "": { + "dependencies": { + "@chakra-ui/icons": "^2.2.4", + }, "devDependencies": { "@types/bun": "^1.2.17", "@typescript-eslint/eslint-plugin": "^8.35.0", @@ -32,6 +35,7 @@ "packages/client": { "name": "@open-gsio/client", "devDependencies": { + "@chakra-ui/icons": "^2.2.4", "@chakra-ui/react": "^2.10.6", "@cloudflare/workers-types": "^4.20241205.0", "@emotion/react": "^11.13.5", @@ -61,7 +65,6 @@ "mobx": "^6.13.5", "mobx-react-lite": "^4.0.7", "mobx-state-tree": "^6.0.1", - "moo": "^0.5.2", "qrcode.react": "^4.1.0", "react": "^19.1.0", "react-dom": "^19.1.0", @@ -69,10 +72,11 @@ "react-streaming": "^0.4.2", "react-textarea-autosize": "^8.5.5", "shiki": "^1.24.0", + "tslog": "^4.9.3", "typescript": "^5.7.2", "vike": "^0.4.235", "vite": "^7.0.0", - "vite-plugin-pwa": "^1.0.0", + "vite-plugin-pwa": "^1.0.1", "vitest": "^3.1.4", }, }, @@ -400,6 +404,8 @@ "@chakra-ui/hooks": ["@chakra-ui/hooks@2.4.4", "", { "dependencies": { "@chakra-ui/utils": "2.2.4", "@zag-js/element-size": "0.31.1", "copy-to-clipboard": "3.3.3", "framesync": "6.1.2" }, "peerDependencies": { "react": ">=18" } }, "sha512-+gMwLIkabtddIL/GICU7JmnYtvfONP+fNiTfdYLV9/I1eyCz8igKgLmFJOGM6F+BpUev6hh+/+DX5ezGQ9VTbQ=="], + "@chakra-ui/icons": ["@chakra-ui/icons@2.2.4", "", { "peerDependencies": { "@chakra-ui/react": ">=2.0.0", "react": ">=18" } }, "sha512-l5QdBgwrAg3Sc2BRqtNkJpfuLw/pWRDwwT58J6c4PqQT6wzXxyNa8Q0PForu1ltB5qEiFb1kxr/F/HO1EwNa6g=="], + "@chakra-ui/react": ["@chakra-ui/react@2.10.7", "", { "dependencies": { "@chakra-ui/hooks": "2.4.4", "@chakra-ui/styled-system": "2.12.2", "@chakra-ui/theme": "3.4.8", "@chakra-ui/utils": "2.2.4", "@popperjs/core": "^2.11.8", "@zag-js/focus-visible": "^0.31.1", "aria-hidden": "^1.2.3", "react-fast-compare": "3.2.2", "react-focus-lock": "^2.9.6", "react-remove-scroll": "^2.5.7" }, "peerDependencies": { "@emotion/react": ">=11", "@emotion/styled": ">=11", "framer-motion": ">=4.0.0", "react": ">=18", "react-dom": ">=18" } }, "sha512-GX1dCmnvrxxyZEofDX9GMAtRakZJKnUqFM9k8qhaycPaeyfkiTNNTjhPNX917hgVx1yhC3kcJOs5IeC7yW56/g=="], "@chakra-ui/styled-system": ["@chakra-ui/styled-system@2.12.2", "", { "dependencies": { "@chakra-ui/utils": "2.2.4", "csstype": "^3.1.2" } }, "sha512-BlQ7i3+GYC0S0c72B+paa0sYo+QeNSMfz6fwQRFsc8A5Aax9i9lSdRL+vwJVC+k6r/0HWfRwk016R2RD2ihEwQ=="], @@ -1768,6 +1774,8 @@ "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "tslog": ["tslog@4.9.3", "", {}, "sha512-oDWuGVONxhVEBtschLf2cs/Jy8i7h1T+CpdkTNWQgdAF7DhRo2G8vMCgILKe7ojdEkLhICWgI1LYSSKaJsRgcw=="], + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], "type-fest": ["type-fest@0.20.2", "", {}, "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="], @@ -1844,7 +1852,7 @@ "vite-node": ["vite-node@3.1.4", "", { "dependencies": { "cac": "^6.7.14", "debug": "^4.4.0", "es-module-lexer": "^1.7.0", "pathe": "^2.0.3", "vite": "^5.0.0 || ^6.0.0" }, "bin": { "vite-node": "vite-node.mjs" } }, "sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA=="], - "vite-plugin-pwa": ["vite-plugin-pwa@1.0.0", "", { "dependencies": { "debug": "^4.3.6", "pretty-bytes": "^6.1.1", "tinyglobby": "^0.2.10", "workbox-build": "^7.3.0", "workbox-window": "^7.3.0" }, "peerDependencies": { "@vite-pwa/assets-generator": "^1.0.0", "vite": "^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" }, "optionalPeers": ["@vite-pwa/assets-generator"] }, "sha512-X77jo0AOd5OcxmWj3WnVti8n7Kw2tBgV1c8MCXFclrSlDV23ePzv2eTDIALXI2Qo6nJ5pZJeZAuX0AawvRfoeA=="], + "vite-plugin-pwa": ["vite-plugin-pwa@1.0.1", "", { "dependencies": { "debug": "^4.3.6", "pretty-bytes": "^6.1.1", "tinyglobby": "^0.2.10", "workbox-build": "^7.3.0", "workbox-window": "^7.3.0" }, "peerDependencies": { "@vite-pwa/assets-generator": "^1.0.0", "vite": "^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" }, "optionalPeers": ["@vite-pwa/assets-generator"] }, "sha512-STyUomQbydj7vGamtgQYIJI0YsUZ3T4pJLGBQDQPhzMse6aGSncmEN21OV35PrFsmCvmtiH+Nu1JS1ke4RqBjQ=="], "vitest": ["vitest@3.1.4", "", { "dependencies": { "@vitest/expect": "3.1.4", "@vitest/mocker": "3.1.4", "@vitest/pretty-format": "^3.1.4", "@vitest/runner": "3.1.4", "@vitest/snapshot": "3.1.4", "@vitest/spy": "3.1.4", "@vitest/utils": "3.1.4", "chai": "^5.2.0", "debug": "^4.4.0", "expect-type": "^1.2.1", "magic-string": "^0.30.17", "pathe": "^2.0.3", "std-env": "^3.9.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.13", "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", "vite-node": "3.1.4", "why-is-node-running": "^2.3.0" }, "peerDependencies": { "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "@vitest/browser": "3.1.4", "@vitest/ui": "3.1.4", "happy-dom": "*", "jsdom": "*" }, "optionalPeers": ["@edge-runtime/vm", "@types/debug", "@types/node", "@vitest/browser", "@vitest/ui", "happy-dom", "jsdom"], "bin": { "vitest": "vitest.mjs" } }, "sha512-Ta56rT7uWxCSJXlBtKgIlApJnT6e6IGmTYxYcmxjJ4ujuZDI59GUQgVDObXXJujOmPDBYXHK1qmaGtneu6TNIQ=="], diff --git a/crates/yachtpit b/crates/yachtpit new file mode 160000 index 0000000..66b8a85 --- /dev/null +++ b/crates/yachtpit @@ -0,0 +1 @@ +Subproject commit 66b8a855b513c11511cbc3b59b96bca76e34c3a5 diff --git a/package.json b/package.json index ad68bbf..9cfca36 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ ], "scripts": { "clean": "packages/scripts/cleanup.sh", + "restore:submodules": "rm -rf crates/yachtpit && (git rm --cached crates/yachtpit) && git submodule add --force https://github.com/seemueller-io/yachtpit.git crates/yachtpit ", "test:all": "bun run --filter='*' tests", "client:dev": "(cd packages/client && bun run dev)", "server:dev": "bun build:client && (cd packages/server && bun run dev)", @@ -41,5 +42,8 @@ "peerDependencies": { "typescript": "^5.8.3" }, + "dependencies": { + "@chakra-ui/icons": "^2.2.4" + }, "packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39" } diff --git a/packages/client/package.json b/packages/client/package.json index 8a0be2b..f022093 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -8,7 +8,8 @@ "tests:coverage": "vitest run --coverage.enabled=true", "generate:sitemap": "bun ./scripts/generate_sitemap.js open-gsio.seemueller.workers.dev", "generate:robotstxt": "bun ./scripts/generate_robots_txt.js open-gsio.seemueller.workers.dev", - "generate:fonts": "cp -r ../../node_modules/katex/dist/fonts public/static" + "generate:fonts": "cp -r ../../node_modules/katex/dist/fonts public/static", + "generate:bevy:bundle": "bun scripts/generate-bevy-bundle.js" }, "exports": { "./server/index.ts": { @@ -17,19 +18,22 @@ } }, "devDependencies": { - "@open-gsio/env": "workspace:*", - "@open-gsio/scripts": "workspace:*", + "@chakra-ui/icons": "^2.2.4", "@chakra-ui/react": "^2.10.6", "@cloudflare/workers-types": "^4.20241205.0", "@emotion/react": "^11.13.5", "@emotion/styled": "^11.13.5", + "@open-gsio/env": "workspace:*", + "@open-gsio/scripts": "workspace:*", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.5.2", + "@types/bun": "^1.2.17", "@types/marked": "^6.0.0", "@vitejs/plugin-react": "^4.3.4", "@vitest/coverage-v8": "^3.1.4", "@vitest/ui": "^3.1.4", + "bun": "^1.2.17", "chokidar": "^4.0.1", "framer-motion": "^11.13.1", "isomorphic-dompurify": "^2.19.0", @@ -44,7 +48,6 @@ "mobx": "^6.13.5", "mobx-react-lite": "^4.0.7", "mobx-state-tree": "^6.0.1", - "moo": "^0.5.2", "qrcode.react": "^4.1.0", "react": "^19.1.0", "react-dom": "^19.1.0", @@ -52,12 +55,11 @@ "react-streaming": "^0.4.2", "react-textarea-autosize": "^8.5.5", "shiki": "^1.24.0", + "tslog": "^4.9.3", "typescript": "^5.7.2", "vike": "^0.4.235", "vite": "^7.0.0", - "vite-plugin-pwa": "^1.0.0", - "vitest": "^3.1.4", - "bun": "^1.2.17", - "@types/bun": "^1.2.17" + "vite-plugin-pwa": "^1.0.1", + "vitest": "^3.1.4" } } diff --git a/packages/client/public/icon.ico b/packages/client/public/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8c7afbf52560853da7081e45523a3228e9f14537 GIT binary patch literal 156431 zcmXtgdmz)_|Nm<x+%rTx-6o48$vGW?p`9dZ3uJ8HR(P{sUcEWiA{3p zB1!I-O)BKh+;;t)_4)o#`J-m9bDrn32tdHJYqU=EER*zfyY~7F0)!~(TgWTNQ zk-51LXT!Wt&9^BeXUG}1lW@|dOM#d}IS3s=DZohFvokLfGUkXJ`!_8jkQlKjKQ?${ zo#_`%{+qS2!!vI-#kT20>}`K~C`XH5{U>9%d{6AwubScXE6$jO@_{zZ(2-@|nb}{n z|8;TC9>TnZ`cdDprXG;{#M%FF9^L)tiaRd`2L*+@y14vg2zZR1-@ng>)ehP51Xor0 zf<4GM5?wXHOa^%XnQneK2Z3Ju=oB(DxJT8m;`Qt6;k7(ZegFzp*w`B#j=^BU9EKyu zG*$h?^dY@`D9e-RA`=$fBW-(sy#mBfa`V@Z<=J51ehwd1|5M0LB{{>u1INr|)=3gC z*uZtvvml9=7IWxvYl0OSnmfdgT_xga2)QN#`J!8!96klDdfdQeQEcJC1v6*3R};n#eLv-7Y3u?m#*%&fXz6)iCHiZ{i0aV ze$fP0(1ajXDWiE4PPP~f3uOkg!C=G{kk@@Bpz-k9+xPC-6?fXMKd?Ff^X9xG67dB! zfA7eBSgCzTYZvDm85ymzduSP%*6hP?hhDh(-=L^dnbz8^Y+Y?8dyM5$-zj5**MGOd zWxc`U_9`?sc)=`MobAe5Y}aJH zJFP@77-JXIQ`z1!Q)%sOt};`RUK?S|T&O)NY_SGcb&c$#5cd6yjkwKTE6WfpF@sXw zIi?Tg3^HD>J|u??DZlW5cEwsLA^p=|9$!CkL&JhKz~JxNWMB}TLgZ2YTdtkS^~L5C zbWRiu1w9^^E_62Z4Gl#eUk`(R?#2go$$)*dH2=3Esf7}wqoWnwg`OrW@mXWp(Ammi((=#0k={NJtcRu34;0OY�~^tsGh7QSdKxk|Ks94KCCSWK(WA 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

U+w|j&Q<;ubKUJ?N+j_g|yY<66^q|HHl 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≈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 file.startsWith('yachtpit') && (file.endsWith('.js') || file.endsWith('.wasm')), + ); + + existingAssets.forEach(asset => { + const assetPath = join(publicDir, asset); + rmSync(assetPath, { force: true }); + logger.info(`πŸ—‘οΈ Removed old asset: ${assetPath}`); + }); + } else { + logger.warn('SKIPPING REMOVING OLD ASSETS'); + } + + // Copy new assets from yachtpit/dist to public directory + if (existsSync(yachtpitDistDir)) { + logger.info(`πŸ“Located yachtpit build: ${yachtpitDistDir}`); + try { + cpSync(yachtpitDistDir, publicDir, { + recursive: true, + force: true, + }); + logger.info(`βœ… Assets copied from ${yachtpitDistDir} to ${publicDir}`); + } catch (error) { + console.error('❌ Failed to copy assets:', error.message); + process.exit(1); + } + } else { + console.error(`❌ Yachtpit dist directory not found at: ${yachtpitDistDir}`); + process.exit(1); + } + + // ───────────── locate targets ─────────────────────────────────────────── + const dstPath = join(publicDir, 'yachtpit.html'); + + // Regexes for the hashed filenames produced by most bundlers + const JS_RE = /^yachtpit-[\da-f]{16}\.js$/i; + const WASM_RE = /^yachtpit-[\da-f]{16}_bg\.wasm$/i; + + // Always perform renaming of bundle files + const files = readdirSync(publicDir); + + // helper that doesn't explode if the target file is already present + const safeRename = (from, to) => { + if (!existsSync(from)) return; + if (existsSync(to)) { + logger.info(`ℹ️ ${to} already exists – removing and replacing.`); + rmSync(to, { force: true }); + } + renameSync(from, to); + logger.info(`πŸ“ Renamed: ${basename(from)} β†’ ${basename(to)}`); + }; + + files.forEach(f => { + const fullPath = join(publicDir, f); + if (JS_RE.test(f)) safeRename(fullPath, join(publicDir, 'yachtpit.js')); + if (WASM_RE.test(f)) safeRename(fullPath, join(publicDir, 'yachtpit_bg.wasm')); + }); + + // ───────────── patch markup inside HTML ───────────────────────────────── + if (existsSync(indexHtml)) { + logger.info(`πŸ“ Patching HTML file: ${indexHtml}`); + let html = readFileSync(indexHtml, 'utf8'); + + html = html + .replace(/yachtpit-[\da-f]{16}\.js/gi, 'yachtpit.js') + .replace(/yachtpit-[\da-f]{16}_bg\.wasm/gi, 'yachtpit_bg.wasm'); + + writeFileSync(indexHtml, html, 'utf8'); + + // ───────────── rename HTML entrypoint ───────────────────────────────── + if (basename(indexHtml) !== 'yachtpit.html') { + logger.info(`πŸ“ Renaming HTML file: ${indexHtml} β†’ ${dstPath}`); + // Remove existing yachtpit.html if it exists + if (existsSync(dstPath)) { + rmSync(dstPath, { force: true }); + } + renameSync(indexHtml, dstPath); + } + } else { + logger.info(`⚠️ ${indexHtml} not found – skipping HTML processing.`); + } +} + +function cleanup() { + logger.info('Running cleanup...'); + rmSync(indexHtml, { force: true }); + const creditsDir = resolve(`${repoRoot}/packages/client/public`, 'credits'); + rmSync(creditsDir, { force: true, recursive: true }); +} + +main(); diff --git a/packages/client/src/components/landing-component/BevyScene.tsx b/packages/client/src/components/landing-component/BevyScene.tsx new file mode 100644 index 0000000..e92d178 --- /dev/null +++ b/packages/client/src/components/landing-component/BevyScene.tsx @@ -0,0 +1,45 @@ +import { Box } from '@chakra-ui/react'; +import { useEffect } from 'react'; + +export interface BevySceneProps { + speed?: number; // transition seconds + intensity?: number; + glow?: boolean; +} + +export const BevyScene: React.FC = ({ speed = 1, intensity = 1, glow = false }) => { + useEffect(() => { + const script = document.createElement('script'); + script.src = '/yachtpit.js'; + script.type = 'module'; + document.body.appendChild(script); + script.onload = loaded => { + console.log('loaded', loaded); + }; + }, []); + + return ( + + + + {/**/} + + ); +}; diff --git a/packages/client/src/components/landing-component/LandingComponent.tsx b/packages/client/src/components/landing-component/LandingComponent.tsx new file mode 100644 index 0000000..dc34a99 --- /dev/null +++ b/packages/client/src/components/landing-component/LandingComponent.tsx @@ -0,0 +1,102 @@ +import { Box } from '@chakra-ui/react'; +import React, { useState } from 'react'; + +import { BevyScene } from './BevyScene.tsx'; +import { MatrixRain } from './MatrixRain.tsx'; +import Particles from './Particles.tsx'; +import Tweakbox from './Tweakbox.tsx'; + +export const LandingComponent: React.FC = () => { + const [speed, setSpeed] = useState(0.2); + const [intensity, setIntensity] = useState(0.5); + const [particles, setParticles] = useState(false); + const [glow, setGlow] = useState(false); + const [matrixRain, setMatrixRain] = useState(false); + const [bevyScene, setBevyScene] = useState(true); + + return ( + + + + + {!particles && !matrixRain && } + {!particles && matrixRain && } + {particles && } + + ); +}; diff --git a/packages/client/src/components/landing-component/MatrixRain.tsx b/packages/client/src/components/landing-component/MatrixRain.tsx new file mode 100644 index 0000000..cbeff94 --- /dev/null +++ b/packages/client/src/components/landing-component/MatrixRain.tsx @@ -0,0 +1,117 @@ +import { useBreakpointValue, useTheme } from '@chakra-ui/react'; +import React, { useEffect, useRef, useMemo } from 'react'; + +const MATRIX_CHARS = + 'をむウエγ‚ͺγ‚«γ‚­γ‚―γ‚±γ‚³γ‚΅γ‚·γ‚Ήγ‚»γ‚½γ‚Ώγƒγƒ„γƒ†γƒˆγƒŠγƒ‹γƒŒγƒγƒŽγƒγƒ’γƒ•γƒ˜γƒ›0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + +interface MatrixRainProps { + speed?: number; + glow?: boolean; + intensity?: number; +} + +export const MatrixRain: React.FC = ({ + speed = 1, + glow = false, + intensity = 1, +}) => { + const fontSize = useBreakpointValue({ base: 14, md: 18, lg: 22 }) ?? 14; + const theme = useTheme(); + const canvasRef = useRef(null); + const animationRef = useRef(null); + const dropsRef = useRef([]); + const columnsRef = useRef(0); + + const colors = useMemo( + () => ({ + background: theme.colors.background.primary, + textAccent: theme.colors.text.accent, + }), + [theme.colors.background.primary, theme.colors.text.accent], + ); + + const colorsRef = useRef(colors); + colorsRef.current = colors; + + useEffect(() => { + const canvas = canvasRef.current; + if (!canvas) return; + const ctx = canvas.getContext('2d'); + if (!ctx) return; + + const resize = () => { + canvas.width = window.innerWidth; + canvas.height = window.innerHeight; + + const newColumns = Math.floor(canvas.width / fontSize); + if (newColumns !== columnsRef.current) { + columnsRef.current = newColumns; + const newDrops: number[] = []; + + for (let i = 0; i < newColumns; i++) { + if (i < dropsRef.current.length) { + newDrops[i] = dropsRef.current[i]; + } else { + newDrops[i] = Math.random() * (canvas.height / fontSize); + } + } + dropsRef.current = newDrops; + } + }; + + resize(); + window.addEventListener('resize', resize); + + if (dropsRef.current.length === 0) { + const columns = Math.floor(canvas.width / fontSize); + columnsRef.current = columns; + + for (let i = 0; i < columns; i++) { + dropsRef.current[i] = Math.random() * (canvas.height / fontSize); + } + } + + const draw = () => { + if (!ctx || !canvas) return; + + const currentColors = colorsRef.current; + + ctx.fillStyle = currentColors.background; + ctx.fillRect(0, 0, canvas.width, canvas.height); + + ctx.font = `${fontSize}px monospace`; + + for (let i = 0; i < dropsRef.current.length; i++) { + const text = MATRIX_CHARS[Math.floor(Math.random() * MATRIX_CHARS.length)]; + const x = i * fontSize; + const y = dropsRef.current[i] * fontSize; + + ctx.fillStyle = currentColors.textAccent; + if (glow) { + ctx.shadowBlur = 10; + ctx.shadowColor = currentColors.textAccent; + } + ctx.fillText(text, x, y); + + if (y > canvas.height) { + dropsRef.current[i] = -Math.random() * 5; + } else { + dropsRef.current[i] += (0.1 + Math.random() * 0.5) * speed * intensity; + } + } + + animationRef.current = requestAnimationFrame(draw); + }; + + animationRef.current = requestAnimationFrame(draw); + + return () => { + window.removeEventListener('resize', resize); + if (animationRef.current) { + cancelAnimationFrame(animationRef.current); + } + }; + }, [fontSize, speed, glow, intensity]); + + return ; +}; diff --git a/packages/client/src/components/landing-component/Particles.tsx b/packages/client/src/components/landing-component/Particles.tsx new file mode 100644 index 0000000..619f5e0 --- /dev/null +++ b/packages/client/src/components/landing-component/Particles.tsx @@ -0,0 +1,161 @@ +import { Box, useTheme } from '@chakra-ui/react'; +import React, { useEffect, useRef } from 'react'; + +interface ParticlesProps { + speed: number; + intensity: number; + particles: boolean; + glow: boolean; +} + +interface Particle { + x: number; + y: number; + vx: number; + vy: number; + size: number; +} + +const Particles: React.FC = ({ speed, intensity, particles, glow }) => { + const canvasRef = useRef(null); + const particlesRef = useRef([]); + const animationFrameRef = useRef(undefined); + const theme = useTheme(); + + // Helper function to create a single particle with proper canvas dimensions + const createParticle = (canvas: HTMLCanvasElement): Particle => ({ + x: Math.random() * canvas.parentElement!.getBoundingClientRect().width, + y: Math.random() * canvas.parentElement!.getBoundingClientRect().height, + vx: (Math.random() - 0.5) * speed, + vy: (Math.random() - 0.5) * speed, + size: Math.random() * 3 + 1, + }); + + // Main animation effect + useEffect(() => { + if (!particles) { + if (animationFrameRef.current) { + cancelAnimationFrame(animationFrameRef.current); + animationFrameRef.current = undefined; + } + particlesRef.current = []; // Clear particles when disabled + return; + } + + const canvas = canvasRef.current; + if (!canvas) return; + + const ctx = canvas.getContext('2d'); + if (!ctx) return; + + const resizeCanvas = () => { + canvas.width = window.innerWidth; + canvas.height = window.innerHeight; + + // Reposition existing particles that are outside new bounds + particlesRef.current.forEach(particle => { + if (particle.x > canvas.width) particle.x = Math.random() * canvas.width; + if (particle.y > canvas.height) particle.y = Math.random() * canvas.height; + }); + }; + + const ensureParticleCount = () => { + const targetCount = Math.floor(intensity * 100); + const currentCount = particlesRef.current.length; + + if (currentCount < targetCount) { + // Add new particles + const newParticles = Array.from({ length: targetCount - currentCount }, () => + createParticle(canvas), + ); + particlesRef.current = [...particlesRef.current, ...newParticles]; + } else if (currentCount > targetCount) { + // Remove excess particles + particlesRef.current = particlesRef.current.slice(0, targetCount); + } + }; + + const updateParticles = () => { + particlesRef.current.forEach(particle => { + particle.x += particle.vx; + particle.y += particle.vy; + + if (particle.x < 0) particle.x = canvas.width; + if (particle.x > canvas.width) particle.x = 0; + if (particle.y < 0) particle.y = canvas.height; + if (particle.y > canvas.height) particle.y = 0; + }); + }; + + const drawParticles = () => { + ctx.clearRect(0, 0, canvas.width, canvas.height); + ctx.fillStyle = theme.colors.text.accent; + ctx.globalCompositeOperation = 'lighter'; + + if (glow) { + ctx.shadowBlur = 10; + ctx.shadowColor = 'white'; + } else { + ctx.shadowBlur = 0; + } + + particlesRef.current.forEach(particle => { + ctx.beginPath(); + ctx.arc(particle.x, particle.y, particle.size, 0, Math.PI * 2); + ctx.fill(); + }); + }; + + const animate = () => { + updateParticles(); + drawParticles(); + animationFrameRef.current = requestAnimationFrame(animate); + }; + + const handleResize = () => { + resizeCanvas(); + }; + + window.addEventListener('resize', handleResize); + resizeCanvas(); // Set canvas size first + ensureParticleCount(); // Then create particles with proper dimensions + animate(); + + return () => { + window.removeEventListener('resize', handleResize); + if (animationFrameRef.current) { + cancelAnimationFrame(animationFrameRef.current); + animationFrameRef.current = undefined; + } + }; + }, [particles, intensity, speed, glow, theme.colors.text.accent]); + + // Separate effect for speed changes - update existing particle velocities + useEffect(() => { + if (!particles) return; + + particlesRef.current.forEach(particle => { + const currentSpeed = Math.sqrt(particle.vx * particle.vx + particle.vy * particle.vy); + if (currentSpeed > 0) { + const normalizedVx = particle.vx / currentSpeed; + const normalizedVy = particle.vy / currentSpeed; + particle.vx = normalizedVx * speed; + particle.vy = normalizedVy * speed; + } else { + particle.vx = (Math.random() - 0.5) * speed; + particle.vy = (Math.random() - 0.5) * speed; + } + }); + }, [speed, particles]); + + return ( + + + + ); +}; + +export default Particles; diff --git a/packages/client/src/components/landing-component/Tweakbox.tsx b/packages/client/src/components/landing-component/Tweakbox.tsx new file mode 100644 index 0000000..ee6d4d5 --- /dev/null +++ b/packages/client/src/components/landing-component/Tweakbox.tsx @@ -0,0 +1,111 @@ +import { + Box, + Grid, + GridItem, + Heading, + Slider, + SliderTrack, + SliderFilledTrack, + SliderThumb, + Text, + Switch, + Collapse, + IconButton, +} from '@chakra-ui/react'; +import { ChevronDownIcon, ChevronUpIcon } from 'lucide-react'; +import { observer } from 'mobx-react-lite'; +import React, { useState } from 'react'; + +interface SliderControl { + value: number; + onChange: (value: number) => void; + label: string; + min: number; + max: number; + step: number; + ariaLabel: string; +} + +interface SwitchControl { + value: boolean; + onChange: (enabled: boolean) => void; + label: string; + exclusive?: boolean; +} + +interface TweakboxProps { + sliders: { + speed: SliderControl; + intensity: SliderControl; + }; + switches: { + particles: SwitchControl; + glow: SwitchControl; + } & Record; +} + +const Tweakbox = observer(({ sliders, switches }: TweakboxProps) => { + const [isCollapsed, setIsCollapsed] = useState(false); + + return ( + + : } + onClick={() => setIsCollapsed(!isCollapsed)} + size="sm" + marginRight={2} + /> + + + + + + + {Object.keys(switches).map(key => { + return ( + + + {switches[key].label} + + switches[key].onChange(e.target.checked)} + /> + + ); + })} + {Object.entries(sliders).map(([key, slider]) => ( + + + {slider.label} + + + + + + + + + ))} + + + + + ); +}); + +export default Tweakbox; diff --git a/packages/client/src/layout/Hero.tsx b/packages/client/src/layout/Hero.tsx index 2128e7e..849af24 100644 --- a/packages/client/src/layout/Hero.tsx +++ b/packages/client/src/layout/Hero.tsx @@ -17,9 +17,9 @@ export default function Hero() { minWidth="90px" maxWidth={'220px'} color="text.accent" - as="h3" + // as="h3" letterSpacing={'tight'} - size="lg" + size="xl" > {Routes[normalizePath(pageContext.urlPathname)]?.heroLabel} diff --git a/packages/client/src/layout/Navigation.tsx b/packages/client/src/layout/Navigation.tsx index 43b4a2f..91b7d9f 100644 --- a/packages/client/src/layout/Navigation.tsx +++ b/packages/client/src/layout/Navigation.tsx @@ -1,4 +1,4 @@ -import { Box, Collapse, Grid, GridItem, useBreakpointValue } from '@chakra-ui/react'; +import { Box, Collapse, Grid, GridItem, useBreakpointValue, useTheme } from '@chakra-ui/react'; import { MenuIcon } from 'lucide-react'; import { observer } from 'mobx-react-lite'; import React, { useEffect } from 'react'; @@ -18,6 +18,8 @@ const Navigation = observer(({ children, routeRegistry }) => { const currentPath = pageContext.urlPathname || '/'; + const theme = useTheme(); + const getTopValue = () => { if (!isMobile) return undefined; if (currentPath === '/') return 12; @@ -53,9 +55,10 @@ const Navigation = observer(({ children, routeRegistry }) => { { switch (menuState.isOpen) { case true: diff --git a/packages/client/src/layout/theme/color-themes/OneDark.ts b/packages/client/src/layout/theme/color-themes/OneDark.ts index 37f02b6..6ffd135 100644 --- a/packages/client/src/layout/theme/color-themes/OneDark.ts +++ b/packages/client/src/layout/theme/color-themes/OneDark.ts @@ -15,8 +15,8 @@ export default { }, background: { - primary: 'linear-gradient(360deg, #15171C 100%, #353A47 100%)', - + // primary: 'linear-gradient(360deg, #15171C 100%, #353A47 100%)', + primary: '#15171C', secondary: '#1B1F26', tertiary: '#1E1E2E', }, diff --git a/packages/client/src/pages/+client.ts b/packages/client/src/pages/+client.ts index 3cebda6..9c8c27d 100644 --- a/packages/client/src/pages/+client.ts +++ b/packages/client/src/pages/+client.ts @@ -2,3 +2,20 @@ import UserOptionsStore from '../stores/UserOptionsStore'; UserOptionsStore.initialize(); + +try { + const isLocal = window.location.hostname.includes('localhost'); + if (!isLocal) { + navigator.serviceWorker.register('/service-worker.js'); + } else { + (async () => { + await navigator.serviceWorker.getRegistrations().then(registrations => { + registrations.map(r => { + r.unregister(); + }); + }); + })(); + } +} catch (e) { + // fail silent +} diff --git a/packages/client/src/pages/index/+Page.tsx b/packages/client/src/pages/index/+Page.tsx index e48e82a..0b9db0a 100644 --- a/packages/client/src/pages/index/+Page.tsx +++ b/packages/client/src/pages/index/+Page.tsx @@ -2,6 +2,7 @@ import { Stack } from '@chakra-ui/react'; import React, { useEffect } from 'react'; import Chat from '../../components/chat/Chat'; +import { LandingComponent } from '../../components/landing-component/LandingComponent.tsx'; import clientChatStore from '../../stores/ClientChatStore'; // renders "/" @@ -18,7 +19,8 @@ export default function IndexPage() { return ( - + + {/**/} ); } diff --git a/packages/client/vite.config.ts b/packages/client/vite.config.ts index 1ec1a8e..20dd840 100644 --- a/packages/client/vite.config.ts +++ b/packages/client/vite.config.ts @@ -17,6 +17,10 @@ const prebuildPlugin = () => ({ console.log('Generated robots.txt -> public/robots.txt'); child_process.execSync('bun run generate:fonts'); console.log('Copied fonts -> public/static/fonts'); + child_process.execSync('bun run generate:bevy:bundle', { + stdio: 'inherit', + }); + console.log('Bundled bevy app -> public/yachtpit.html'); } }, }); @@ -31,6 +35,26 @@ export default defineConfig(({ command }) => { prerender: true, disableAutoFullBuild: false, }), + VitePWA({ + registerType: 'autoUpdate', + injectRegister: null, + minify: true, + disable: false, + filename: 'service-worker.js', + devOptions: { + enabled: false, + }, + manifest: { + name: 'open-gsio', + short_name: 'open-gsio', + description: 'Assistant', + }, + workbox: { + globPatterns: ['**/*.{js,css,html,ico,png,svg,wasm}'], + navigateFallbackDenylist: [/^\/api\//], + maximumFileSizeToCacheInBytes: 25000000, + }, + }), // PWA plugin saves money on data transfer by caching assets on the client /* For safari, use this script in the console to unregister the service worker. @@ -41,21 +65,6 @@ export default defineConfig(({ command }) => { }) }) */ - // VitePWA({ - // registerType: 'autoUpdate', - // devOptions: { - // enabled: false, - // }, - // manifest: { - // name: "open-gsio", - // short_name: "open-gsio", - // description: "Assistant" - // }, - // workbox: { - // globPatterns: ['**/*.{js,css,html,ico,png,svg}'], - // navigateFallbackDenylist: [/^\/api\//], - // } - // }) ], server: { port: 3000, diff --git a/packages/cloudflare-workers/open-gsio/wrangler.jsonc b/packages/cloudflare-workers/open-gsio/wrangler.jsonc index fa9c5b3..2f2789e 100644 --- a/packages/cloudflare-workers/open-gsio/wrangler.jsonc +++ b/packages/cloudflare-workers/open-gsio/wrangler.jsonc @@ -20,9 +20,10 @@ { "binding": "KV_STORAGE", // $ npx wrangler kv namespace create open-gsio + // $ npx wrangler kv namespace create open-gsio "id": "placeholderId", // $ npx wrangler kv namespace create open-gsio --preview - "preview_id": "placeholderIdPreview" + "preview_id": "placeholderId" } ], "migrations": [ diff --git a/packages/scripts/cleanup.sh b/packages/scripts/cleanup.sh index 42b6fe3..8611c8f 100755 --- a/packages/scripts/cleanup.sh +++ b/packages/scripts/cleanup.sh @@ -15,7 +15,12 @@ find . -name ".wrangler" -type d -prune -exec rm -rf {} \; # Remove build directories find . -name "dist" -type d -prune -exec rm -rf {} \; -find . -name "build" -type d -prune -exec rm -rf {} \; + + +#----- +# crates/yachtpit uses a directory called build for staging assets so it can't be removed +#find . -name "build" -type d -prune -exec rm -rf {} \; +#----- find . -name "fonts" -type d -prune -exec rm -rf {} \;