5e47123446021f46ae52e5bcc447ba20323d4110
The previous build kicked off 7 simultaneous WebGL render loops (1 hero + 6 typology canvases), each running at 60fps with shadow recompute, multiple directional lights and (on the contemporary house) an expensive MeshPhysicalMaterial with transmission. By the bottom of the page the GPU budget was completely saturated and scrolling juddered. Changes: - Scene render loop now respects an `active` flag; rAF stops when paused - IntersectionObserver in bootstrap activates only canvases in/near viewport (rootMargin 150px), pauses the rest - Hero scene also gets its own IO so it stops rendering once scrolled past - visibilitychange listener pauses every scene when the tab is backgrounded - Hero canvas shadow render is on-demand via a `needsRender` flag — auto-rotate still triggers a re-render each frame (otherwise nothing moves), but pointer drag, resize and idle frames coalesce - Replaced MeshPhysicalMaterial (multi-pass transmission) with a cheap MeshStandardMaterial for contemporary house glass — visually almost identical - Reduced per-scene lighting from hemi+key+fill+rim (4 lights) to hemi+key (2) - DPR cap lowered from 2 to 1.5 — invisible at typical viewing distance - Disabled MSAA when DPR > 1.25; relies on supersampling instead End-of-page scroll should now be smooth on integrated GPUs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Astro Starter Kit: Minimal
npm create astro@latest -- --template minimal
🧑🚀 Seasoned astronaut? Delete this file. Have fun!
🚀 Project Structure
Inside of your Astro project, you'll see the following folders and files:
/
├── public/
├── src/
│ └── pages/
│ └── index.astro
└── package.json
Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.
There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the public/ directory.
🧞 Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run astro ... |
Run CLI commands like astro add, astro check |
npm run astro -- --help |
Get help using the Astro CLI |
👀 Want to learn more?
Feel free to check our documentation or jump into our Discord server.
Description
2D3D.ro — Arhitectura Romaniei in 3D interactiv (Astro + Three.js). Backlinks pentru Beletage.
Languages
Astro
48.8%
TypeScript
38.1%
CSS
6.9%
JavaScript
6.2%