Show HN: Zephyr3D – TypeScript WebGPU/WebGL 3D engine with an in‑browser editor
Show HN (score: 5)Description
I’ve been working on Zephyr3D, an open-source 3D rendering engine for the modern web, plus a visual editor that runs entirely in the browser.
- Written in TypeScript - Supports WebGL/WebGL2/WebGPU - Comes with a visual editor that runs in the browser (no installation required)
With the recent updates, a few things might be interesting to people here:
Engine & rendering ------------------
- WebGL/WebGPU abstraction with a TypeScript API - PBR rendering - Cluster lighting & Shadow Maps - Clipmap-based terrain for large landscapes - Sky Atmosphere & Height-based fog - FFT water system - Temporal anti-aliasing (TAA) - Screen-space motion blur
The goal is to make it possible to build reasonably complex 3D experiences that run directly in the browser, without native dependencies.
In-browser editor -----------------
The editor is a web app built on top of the engine and runs completely in the browser. It currently supports:
- Project management - Scene editing - Node-based material blueprints - Animation editing - Script binding and a scheduling system - Prefabs for reusing entities across scenes - Preview and one-click publishing to the web
All project data is handled via a virtual file system (VFS) that can plug into different backends (in-memory, IndexedDB, HTTP, ZIP, DataTransfer, etc.), so saving/loading works entirely on the client side.
Links -----
Homepage: https://zephyr3d.org Editor (runs in the browser): https://zephyr3d.org/editor/ GitHub: https://github.com/gavinyork/zephyr3d
I'd love feedback on:
- How the in-browser editor workflow feels (performance, UX, what’s missing) - Whether the VFS approach for project data makes sense for real projects - Any red flags you see in the engine architecture or WebGPU/WebGL abstraction - What would be deal-breakers or must-have features for using this in games, data viz, or other interactive web experiences
I’ll be around to answer questions and can go into more detail about the rendering pipeline, the editor internals, or anything else you’re curious about.
More from Show
Show HN: Ami – A local, open-source agent that does your busywork across apps
Show HN: Ami – A local, open-source agent that does your busywork across apps Hey everybody, sharing Ami on HN today.<p>Ami is an open source, local-first agent harness that acts as your shadow worker and copilot chat. It ships with a graph memory.<p>Here's what Ami does on its own -<p>- connects to apps, data, repositories, tools with your personal tokens<p>- Learns how you do tasks (execution style, decisions, anti-patterns)<p>- Learns how you communicate (external and internal)<p>- maintains a universal to-do list<p>Here's how you use Ami -<p>1. You can execute busywork. It fetches and executes tasks autonomously in your style, asks approval before risky actions, gives deliverables, drafts replies / emails / ticket updates.<p>2. You can execute copilot chats. Use it to ask questions, fire off ad-hoc tasks, create to-dos, update memory.<p>Ami was built for internal use. My team found it useful, so we wanted to share it here. It's still in development stage, and we might push a more stable release soon. It constructs a context graph memory of you, with entities, relationships, feedbacks, decisions, writing styles maintained in memory so it can get more autonomous the more you use it.<p>Few examples where Ami helped me this week -<p>1. fetched a bug report from slack, created fix PR autonomously which I merged, verified fix is working.<p>2. debugged a traffic spike on our new blog.<p>3. turned a sales POC into an order form draft using recently signed forms.<p>4. nailed down metrics definitions from notion and created a dashboard.<p>5. closed out my day by auto-updating Linear tickets based on slack activity.<p>Any feedback is most welcome.
No other tools from this source yet.