|
Download README.md from junwatu/brew-x: direct link, hf CLI and curl.
- Browser
- Download file 2.31 kB
-
https://huggingface.co/spaces/junwatu/brew-x/resolve/main/README.md
- Command line
-
hf download hf://spaces/junwatu/brew-x/README.md
-
curl -L -o README.md https://huggingface.co/spaces/junwatu/brew-x/resolve/main/README.md
2.31 kB
metadata
title: BREW-X
emoji: ☕
colorFrom: gray
colorTo: yellow
sdk: static
pinned: true
license: mit
short_description: Interactive 3D espresso machine built in Three.js
BREW-X — Interactive 3D Espresso Machine
A high-fidelity espresso machine rendered entirely from procedural geometry — no imported meshes, no external HDRs, no baked textures. Built with TypeScript (strict) + Three.js r187 + Vite, targeting WebGPU with an automatic WebGL2 fallback.
This Space hosts the production build (
dist/) of the app. Source maps are intentionally excluded.
What you can do
- Power up the machine and watch the heat-up cycle (amber blink → green ready).
- Pull a shot — pre-infusion → extraction, with the pressure gauge tracking in real time as espresso streams from both spouts and the cup fills.
- Portafilter — click to remove; drag to insert and twist it back into place. Brewing is refused until it is locked again.
- Empty cup, and drive the steam wand with the valve slider.
- Switch between Complete · Transparent · Exploded views (Cutaway is intentionally disabled).
- Fly the camera through 11 eased presets (Hero, Front, Side, Top, Group, Basket, Wand, Gauge, Inside, Circuit, Exploded) or orbit freely.
- Toggle labels (off by default) and internals, pick a backdrop (Studio/Light/Dark) and quality tier, and capture a PNG still.
- Optional sound — self-hosted pour, steam and portafilter-lock clips. Sound is off by default; enable it with the toggle (browsers require a click before audio can play), and your preference is remembered.
Notes
- Best experienced in a WebGPU-capable browser (recent Chrome/Edge). On
browsers without a WebGPU adapter the app falls back to WebGL2 automatically and
shows
renderer: WebGL2in the top-right badge. - The cup can overflow. A shot ends on its own timer, not at a fixed volume, so pulling another shot into a partly full cup spills over onto the drip tray. Use Empty cup to reset it.
- The steam plume is intentionally restrained and reads best against the Light/Dark backdrops.
- For source-level detail, rebuild instructions and known approximations, see the
project's
PROJECT_NOTES.mdin the source distribution.