Motty
原生桌面 SSH 工作台:终端、SFTP/SCP、端口转发、VNC 与 RDP 远程桌面、AI 助手都在一个窗口里。Go 编写,没有 Electron,空闲时保持安静。免费开源,支持 macOS、Windows 和 Linux。
Translation pending
Fly through 250,000 asteroids drawn in a handful of draw calls: runtime LODs, BVH culling and raycasting, on WebGPU and WebGL.
Translation pending
Developer toolsTypeScript · HTMLGitHub @agargaroOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Two showcases of @three.ez/instanced-mesh 1.0.0-beta.1:
/): a spaceship flying through an endless field of hundreds of thousands of asteroids you can shoot.Both run on WebGPURenderer (WebGPU), WebGPURenderer with forceWebGL and WebGLRenderer (?renderer=webgpu|fallback|webgl).
InstancedMesh2 with 4 LODs simplified at runtime by meshoptimizer (screen-size metric).MeshLambertMaterial on WebGL, maskNode on node materials).InstancedMesh2 of camera-facing soft particles sorted back-to-front: additive and translucent particles share a premultiplied-alpha material, so they cost one draw call. The ship is a single merged geometry: one draw call.removeInstances / addInstances with ID reuse), fragments are another InstancedMesh2 with a per-instance emissive uniform.EffectComposer + UnrealBloomPass on WebGL, TSL RenderPipeline + BloomNode on WebGPU. ACES filmic tone mapping is always on (no extra pass).?intro=0), touch controls on phones (drag to steer and fire), social preview card.render(), draw calls and triangles of the whole frame (shadow passes included), instances per LOD, raycast time. GPU time is in the stats-gl panel (timestamp queries).?count=): they charge front first, sprint at the nearest enemy and clash in a melee where the front bends and breaks.SkeletalAnimationBake, so animation costs no CPU per frame: only moving monsters write their matrices.reduceSkinInfluences keeps fewer bones per vertex on far levels within a pixel of error, and the smallest levels read the nearest baked frame (interpolateFrames: false).setColorAt), blob shadows instead of shadow maps, ground marks drawn on a canvas and uploaded at most every 400 ms, pine woods as one instanced mesh culled with a BVH.?debug=true adds the battle statistics, the instances drawn per level and the skinning costs to the controls.npm install
npm run dev
The pages are / and /armies/; both are Vite multi-page entries.
Static Vite build (npm run build → dist/). On Vercel import the repository: the Vite preset is detected automatically.
The social preview tags need absolute URLs: the build uses SITE_URL if set, otherwise the production domain Vercel provides (VERCEL_PROJECT_PRODUCTION_URL). The preview images are public/og-image.jpg and public/armies-og.jpg.