Skip to content

Add a villa sales demo on a gaussian splat capture - #9965

Merged
mvaligursky merged 2 commits into
mainfrom
claude/villa-sales-demo
Nov 6, 2026
Merged

mvaligursky merged 2 commits into
mainfrom
claude/villa-sales-demo

Conversation

@mvaligursky

Copy link
Copy Markdown
Contributor

A real estate sales demo built around a gaussian splat capture of a villa development, showing how meshes can be integrated with splats using the scene depth they write.

Changes:

  • New demos/villa-sales example: a product page over a full-window 3D view - a list of villas, the details of the picked one, and a floor plan viewer
  • Villas for sale are outlined with translucent roof and wall overlays, sold ones are greyed out. The overlays are rendered after the post-processing and depth tested against the scene depth the splats write (GSplatParams#sceneDepthWrite, requested through a pass-less CameraFrameEffect with FRAMERESOURCE_DEPTH)
  • Hover picks the villa under the pointer from the surface point reconstructed from the scene depth (SceneDepthReader), so a villa in front cannot take the pointer from one behind it
  • Clicking a villa flies the camera to it and slowly orbits it; closing the details or zooming out returns the view to the whole plot
  • Map style camera controls, with the view framed into the area the panels leave free using CameraComponent#projectionOffset

Examples:

  • Added demos/villa-sales, with the capture examples/assets/splats/saint-germain-villas.sog (CC BY-NC 4.0, attribution in saint-germain-villas.txt) and a representative floor plan image examples/assets/textures/villa-floor-plan.webp

A real estate sales page around a splat capture of a villa development: the
villas for sale are outlined with depth tested roof and wall overlays, can be
picked in the scene or in a list, flown to and orbited, and show their details
and a floor plan.
@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown

Build size report

This PR does not change the size of the minified bundles.

Bundle Minified Gzip Brotli
playcanvas.min.js 2827.4 KB — 735.7 KB — 570.0 KB —
playcanvas.min.mjs 2824.1 KB — 733.7 KB — 569.1 KB —

The trees sway in the wind with the GSplatTrees script, with a strength control,
and the capture data is typed so the examples type check passes.
@mvaligursky
mvaligursky merged commit 5bf06fc into main Nov 6, 2026
9 checks passed
@mvaligursky
mvaligursky deleted the claude/villa-sales-demo branch November 6, 2026 16:07

This branch was successfully deployed

2 active deployments
Preview – engine — 348c0417 Deployed Nov 6, 2026 by vercel[bot]
Preview – engine-api-docs — 348c0417 Deployed Nov 6, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant