Skip to content
VibeFather
Sign up free

2 cases built from this template

Same prompt, different [VARIABLES]. Click one to preview it above.

About this template

Turn a floor plan into a place visitors can understand. This apartment tour pairs an architectural drawing with an original furnished model: the walls rise from the plan, furniture comes into view, and the camera settles above the rooms. Visitors can switch between the two views whenever they need to check how a room connects to the rest of the home.

The main scene is visible immediately. A compact room index lets people visit the living room, kitchen, bedroom, study, or bathroom without learning a complicated navigation system. Each destination includes its dimensions, useful furnishing details, and a short description of how the space works. A guided camera route connects the rooms in sequence, while manual orbit and zoom remain available for closer inspection.

Two interior palettes and three lighting conditions show how materials and atmosphere change within the same layout. These are live scene changes rather than separate images. Pale paper, dark ink, restrained olive accents, and serif headlines give the controls the feeling of a small architecture publication. The apartment itself uses original geometry, soft shadows, rounded furnishings, plants, and carefully placed windows instead of downloaded property photographs.

Alongside the tour, a concise facts panel keeps area, room counts, and unit identity easy to find. A downloadable vector plan uses the same room data as the model. The viewing form validates locally and clearly explains that its saved request stays on the visitor's device.

Adapt the invented residence, unit name, setting, material story, and contact details in the content file. The second example changes the project to a coastal courtyard home while preserving the same exploration pattern. The result suits a fictional residence concept, an interior design presentation, or a spatial portfolio study.

The template prompt

The live demo was built from exactly this text — nothing added. The other cases only change the values of the [VARIABLES].

# Interactive Apartment Floor Plan Tour

Build this website exactly as described below. Replace the [VARIABLES] with your own values; keep everything else.

## Brief
Build an original, polished, immediately explorable single-page apartment presentation for [BRAND], [UNIT]. A dimensioned 2D drawing smoothly becomes a furnished Three.js apartment. The scene is the hero, not an illustration beneath a long sales headline. Use a new, code-built sample apartment; this is an architectural concept study, not a real property advertisement.

- Audience: Interior designers, residence teams, and visitors who want to understand the relationship between rooms before requesting a viewing.
- Goal: Let visitors examine the plan, fly into any room, play a guided tour, compare light and two material palettes, download the floor plan and save a local viewing request.
- Tone: Precise, calm and welcoming US English. Editorial architecture language, concrete room details and honest demo states. Rewrite every residence-specific sentence for changed variables; keep all copy, room records, materials and unit facts together in src/content.ts.

## Stack
- Framework: Vite + TypeScript + Three.js
- Styling: Vanilla CSS
- Libraries: three (MIT), @fontsource/dm-sans (OFL-1.1), @fontsource/cormorant-garamond (OFL-1.1)
- Build: `npm run build` → static files in `dist/`. No backend, no server code, no external APIs.
- Setup:
  - Install Vite, TypeScript, three, @types/three and both Fontsource packages in the project. Import OrbitControls from the installed three/addons path. Bundle every dependency; use no remote scripts, fonts or import maps.
  - Configure Vite base: ./, build.outDir: dist, minification on and source maps off. Create npm run build with vite build and a local development script.
  - Keep room rectangles, wall segments, furniture placement, room descriptions, material swatches and download labels in src/content.ts. Derive both plan and 3D geometry from those records so room selection, dimensions and the downloadable plan cannot disagree.
  - Use Three.js directly, HTML controls and an inline SVG dimension layer. Build all surfaces and furnishings from original procedural geometry; create subtle wood grain and stone variation with a locally generated canvas texture or material shading. No image generation, stock photographs, externally loaded 3D models or remote textures.
  - Use a single renderer with antialiasing, warm color management, soft shadow maps, ambient and directional light, resize handling and device pixel ratio capped at 1.75 desktop / 1.5 mobile. Pause rendering when hidden. Target smooth touch interaction and a total production dist smaller than 20 MB.
  - Use an orthographic camera for both plan and perspective-like isometric views, changing position, target and zoom together. Maintain a stable floor footprint and animate the camera plus wall/furniture heights for the plan-to-room transition.
  - Give the canvas a useful accessible description and provide equivalent HTML room-selection buttons. If WebGL is unavailable, show the readable inline SVG plan and keep facts, palette descriptions, download and viewing form usable without throwing console errors.
  - Provide a local downloadable SVG floor plan generated from the same geometry, with a real download filename derived from [BRAND] and [UNIT]. Include ASSETS.md documenting original geometry, shaders and line icons, the fonts, Three.js and their licenses.

## Variables
- [BRAND] — Residence name (default: "Alder House"). Invented project identity; update wordmark, download filename and form copy.
- [UNIT] — Unit name (default: "Apartment 4B"). A short unit or suite label.
- [SETTING] — Location story (default: "A quiet upper-floor home above the fictional Alder Lane gardens"). A fictional setting, not a real address.
- [MATERIAL_STORY] — Interior materials (default: "Warm oak, chalk plaster, olive wool, cream linen and honed limestone"). Adapt both scene palettes, labels and descriptions while keeping the floor plan.
- [PALETTE_NAMES] — Two material palette names (default: "Warm Oak | Soft Clay"). Exactly two short names separated by |. The first is the default.
- [CONTACT_NAME] — Viewing host (default: "Mara Ellis"). Invented host name used in the viewing dialog.
- [CREDIT] — keep a small "Template by VibeFather" link to https://vibefather.ai/t/interactive-apartment-floor-plan-tour in the footer (default: yes; delete this line to remove it)

The copy under Pages & Sections is written for the default values. If your values differ, rewrite every headline, paragraph, label and image for them — same length, tone and structure. Layout, colors, type and motion stay as described.
Keep all copy, image paths and links in one content file (for example `src/content.ts`), keyed by section, so the content can be swapped later without touching components.

Pro template. The design, sections, motion and assets parts of this prompt are for Pro members. The live demo and DESIGN.md stay free.

DESIGN.md

The design system on its own — colors, type, spacing and motion. Apply this look to a project you already have.

---
name: "Interactive Apartment Floor Plan Tour"
colors:
  paper: "#F3F1EA"
  ink: "#242A24"
  olive: "#687459"
  limestone: "#DDD7CA"
  clay: "#BB836A"
  muted_ink: "#666A61"
typography:
  editorial_headlines_and_residence_wordmark: { family: "Cormorant Garamond", weights: [500, 600] }
  body_controls_room_labels_and_unit_facts: { family: "DM Sans", weights: [400, 500, 600] }
spacing: "Desktop outer gutter 48px at 1440px; content max-width 1440px. Header 72px high with a 1px divider. Main heading row 100px high. Explorer uses a minmax(0,1fr) scene plus a 310px sidebar with 24px gap; scene height 590px desktop. Use a disciplined 8px scale, 24px sidebar padding and 40px section spacing. At <=900px stack sidebar beneath scene; at 390px use 20px gutters, 64px header, 36px heading, 400px scene and controls below it. No horizontal page overflow."
radius: "8px control buttons, 14px canvas well, 6px inset fact modules. Avoid pill-heavy cards; use thin rules, square columns and generous quiet space."
---

# Interactive Apartment Floor Plan Tour — Design System

Apply this design system to an existing project. It describes the look and feel only; for the full site, use prompt.md.

## Colors
- **Paper** `#F3F1EA` — Page and canvas surround; a warm architecture-paper ground.
- **Ink** `#242A24` — Headlines, primary text, strong buttons and plan walls.
- **Olive** `#687459` — Selected rooms, active modes and restrained accents.
- **Limestone** `#DDD7CA` — Hairlines, plinth, muted surfaces and secondary backgrounds.
- **Clay** `#BB836A` — Second palette swatch, small room markers and warm scene details.
- **Muted ink** `#666A61` — Secondary copy with readable contrast on paper.

## Typography
- **Editorial headlines and residence wordmark** — Cormorant Garamond (OFL), weights 500/600. Self-host the font files.
- **Body, controls, room labels and unit facts** — DM Sans (OFL), weights 400/500/600. Self-host the font files.

## Spacing & shape
- Spacing: Desktop outer gutter 48px at 1440px; content max-width 1440px. Header 72px high with a 1px divider. Main heading row 100px high. Explorer uses a minmax(0,1fr) scene plus a 310px sidebar with 24px gap; scene height 590px desktop. Use a disciplined 8px scale, 24px sidebar padding and 40px section spacing. At <=900px stack sidebar beneath scene; at 390px use 20px gutters, 64px header, 36px heading, 400px scene and controls below it. No horizontal page overflow.
- Radius: 8px control buttons, 14px canvas well, 6px inset fact modules. Avoid pill-heavy cards; use thin rules, square columns and generous quiet space.

## Motion
- Default load shows the fully furnished 3D overview immediately, already framed and lit; do not hide the main scene behind loading text or a start button. Keep a small 2D plan / 3D space segmented control visible from first paint.
- Switching 2D plan to 3D space takes 850ms with cubic ease-in-out: camera tilts from top-down into a three-quarter view, wall heights grow from 0.03m to their full heights, and furniture scales upward from floor footprints. Reverse smoothly to the exact same plan footprint. Disable duplicate transitions while one is running, but never lock navigation permanently.
- A selected room changes floor tint, gets a visible outline and its HTML list item gets aria-pressed=true. Camera flights last 850ms, focus the relevant room, keep useful framing and leave the selection card readable. Orbit or wheel/touch manipulation stops the guided tour.
- Guided tour visits Living & dining, Kitchen, Bedroom, Study and Bathroom for about 4 seconds each, showing the active step and previous/next controls. Play changes to Pause, Pause freezes the route, Resume continues it, and Reset view returns to overview. Prevent camera clipping through walls with room-specific positions and constrained orbit angles.
- Lighting changes blend in 650ms; palette colors blend in 450ms. No auto-rotation or perpetual camera movement. Animate only while necessary; a gentle light/shadow state is enough at rest.
- For prefers-reduced-motion, render stable views, change plan/3D, lighting and materials instantly, and make tour advancement deliberate with Next room / Previous room. Keep Play tour usable as stepwise selection rather than involuntary animated flight.

## Imagery
The visual anchor is a richly modeled, original code-built apartment on a low, beveled paper-toned plinth, shown large enough to inspect furnishings from the first screen. Use soft contact shadows, rounded furniture, oak grain from procedural canvas, woven-looking material shading, framed abstract line art drawn in code, leafy potted plants, open window apertures and light through the windows. This is a spatial interaction study, so use no photographs or generated images anywhere. Do not use downloaded source geometry. In plan mode expose clear original SVG wall lines, door arcs, window breaks, dimensions, a north arrow and room labels, all matching the same room data.

## Tone
Precise, calm and welcoming US English. Editorial architecture language, concrete room details and honest demo states. Rewrite every residence-specific sentence for changed variables; keep all copy, room records, materials and unit facts together in src/content.ts.

---
Inspired by Plan to Place — Apartment 01 by @xucidal — https://madewithdots.com/projects/threads-Dd6YgK-iDaQ
— Prompt by VibeFather · https://vibefather.ai/t/interactive-apartment-floor-plan-tour · CC BY-NC 4.0 (non-commercial; commercial use needs a VibeFather Pro license) · Request removal: https://vibefather.ai/takedown

Make it yours

  • An interior designer's portfolio: set [BRAND] and [UNIT] to a concept project, rewrite [MATERIAL_STORY] for your finishes, and rename [PALETTE_NAMES] to the schemes you pitch.
  • A boutique residence developer: use [SETTING] for the neighbourhood story, keep the facts panel for area and room counts, and point the viewing form at your sales team.
  • A spatial design student: swap the room descriptions for your own study notes and use the downloadable vector plan as the drawing that accompanies your portfolio.
  • A holiday rental host: rename the rooms to guest spaces, adjust [MATERIAL_STORY] to the actual furnishings, and set [CONTACT_NAME] to whoever answers booking questions.

Interactive Apartment Floor Plan Tour: questions and answers

What can visitors actually do on the Interactive Apartment Floor Plan Tour?

Visitors see a dimensioned 2D floor plan that rises into a furnished Three.js apartment. They can select the living room, kitchen, bedroom, study or bathroom from a room index, play a guided camera route through the rooms, orbit and zoom manually, switch between two material palettes and three lighting conditions, download a vector plan, and save a viewing request that stays on their device.

How do I change the apartment name and location in the Interactive Apartment Floor Plan Tour?

Everything residence-specific lives in one content file. Set [BRAND] to your residence name, [UNIT] to your suite label, [SETTING] to your location story, [CONTACT_NAME] to the viewing host, and [MATERIAL_STORY] and [PALETTE_NAMES] to your interior materials. The wordmark, download filename and viewing form copy all follow those values, so rewrite every headline and paragraph that mentions them.

Can I use the Interactive Apartment Floor Plan Tour for an interior design client presentation?

The Interactive Apartment Floor Plan Tour suits a fictional residence concept, an interior design presentation or a spatial portfolio study. Commercial and client use requires Pro, which also gives you the full prompt and the demo source code. The template is an architectural concept study built from original geometry, not an advertisement for a real property.

How do I add a viewing request form to an apartment tour built with AI?

The Interactive Apartment Floor Plan Tour already includes a viewing form that validates locally and explains that the saved request stays on the visitor's device. To connect it to your own inbox or booking system, change the form copy and the [CONTACT_NAME] host in the content file, then wire the submit action to your own endpoint. The template itself has no backend or external APIs.

What happens on the Interactive Apartment Floor Plan Tour if a visitor's browser cannot run WebGL?

The Interactive Apartment Floor Plan Tour shows the readable inline SVG plan when WebGL is unavailable, and the room facts, palette descriptions, downloadable plan and viewing form stay usable. The canvas also carries an accessible description and the room index provides equivalent HTML buttons, so visitors can still understand the layout without the 3D scene.

How do I build an interactive apartment floor plan tour with AI?

Copy the full prompt (Pro) from this page or run npx vibefather add interactive-apartment-floor-plan-tour, replace [UNIT], [BRAND], [SETTING] and [CONTACT_NAME] with your own content, and paste it into Claude Code, Codex, Cursor or another AI coding agent. The live demos were built from exactly that text.

Which AI model built the Interactive Apartment Floor Plan Tour demo?

The Alder House city apartment case was built by GPT-6.1 Sol in Codex; the Cove Court coastal apartment case was built by GPT-6.1 Sol in Codex. Each build used the published prompt with nothing added.

What tech stack and pages does the Interactive Apartment Floor Plan Tour template use?

Interactive Apartment Floor Plan Tour is a single-page site built with Plain HTML and Three.js, with drag & physics, 3d / webgl and micro-interactions. The prompt fixes the stack so every AI tool builds the same kind of project, and the result runs as a static site you can host anywhere.

Is the Interactive Apartment Floor Plan Tour template free to use?

Interactive Apartment Floor Plan Tour is a Pro template: the brief, stack and variables are public, and the full prompt, the source code of the live demo and a commercial license come with VibeFather Pro. Its DESIGN.md is free for personal projects.

Does the Interactive Apartment Floor Plan Tour template work on mobile?

Yes. Every Interactive Apartment Floor Plan Tour build was tested on a phone-sized screen as well as desktop before it went live, checking layout, text size and touch targets. Open the live demo on your phone, or switch the preview on this page to mobile view, to check it yourself.