360° panoramic property tours, floor plan sync, and hotspot navigation for real estate platforms
The Immersive 3D Real Estate Tour framework is the AI prompt system for PropTech companies, real estate agencies, and listing platforms building the virtual tour experiences that have become the standard expectation for premium property listings. Built on Three.js and React Three Fiber with a deep focus on the specific UX patterns of real estate — room-to-room navigation, floor plan orientation, measurement tools, and lead capture — every prompt is engineered around the real business goal: keeping buyers engaged long enough to request a showing. The framework covers the complete virtual tour stack: equirectangular panorama rendering, hotspot-based room transitions, floor plan minimap synchronization, WebXR furniture placement, and the engagement-triggered lead capture that converts tour viewers into qualified leads.
Full Access Unlocked
All 48 prompts · All 6 modules
"The panorama crossfade transition prompt — the noise-based edge on the mix() function — is what make..."
CTO · PropTech platform, 50K listings
Need expert implementation?
Hire an OrchestratorConnect with a certified Prompt.Doctor Orchestrator to deploy this framework for you.
No coding required. You will use ChatGPT or Claude as your AI tool. Follow these steps in order — do not skip ahead.
Purchase & download the framework
Click the buy button on this page. After checkout, go to the and hit Download .zip. Unzip it — you'll get a .md file (the full framework) and a .pdf (easy to read reference). Keep both open.
Open your project — new or existing
This dashboard is designed to integrate into any existing project or be built as a standalone app. If you already have a site in Airo (or Cursor, Bolt, etc.), open that project. If you're starting fresh, create a new project. The Orchestrator Prompt handles both cases — it scans what's already there and adds only what's missing.
Paste the Orchestrator Prompt into your builder's chat
Open the on this page. Copy the Orchestrator Prompt and paste it into your AI builder's chat. It will scaffold the full admin system — secure login, email marketing module, booking engine, and CMS — on top of your existing codebase. This takes 2–5 minutes.
Add your API keys as secrets
Critical — Novice UsersIn your builder, go to Settings → Secrets and add the keys your app needs. For this framework: STRIPE_SECRET_KEY (for booking payments — get it from your Stripe dashboard), ANTHROPIC_API_KEY (for AI-assisted content — get it from console.anthropic.com), and DATABASE_URL (your MySQL connection string). No key is needed for the admin login, CMS, or email modules — those run on your existing infrastructure.
Don't have a MySQL server?
You can purchase a shared hosting plan with cPanel and MySQL at host.esgwon.dev. Once your account is set up, follow the step-by-step guide to create your database and connect it to your AI website builder.
How to set up cPanel MySQL & connect to your AI website →Need help with Stripe?
Get your STRIPE_SECRET_KEY and STRIPE_PUBLISHABLE_KEY from your Stripe dashboard. The guide covers test keys, webhook setup, and going live.
Need help with Anthropic?
Get your ANTHROPIC_API_KEY from console.anthropic.com. The guide covers model selection, cost management, and troubleshooting.
Prompting Airo after setup — always name the file
When asking Airo to add tables, columns, or features to the admin dashboard, always include src/server/lib/admin-db.ts in your prompt. Without it, Airo may target the wrong database. Example: "Add a bookings table in the admin database (src/server/lib/admin-db.ts) — do not touch any other database connection in this project."
Run the framework prompts inside your live app
Your app is now running in the builder's preview panel. Open the on this page, copy each prompt one at a time, and paste it into your builder's chat. Replace every [BRACKET] with your real data before sending. Work through the stages in order — each stage output feeds the next.
Test end-to-end, then publish or hand off to your client
Walk through the admin as a real user: log in, create a booking, send a test email campaign, update a CMS image, and run the Safe-to-Publish gate. Once everything passes, click Publish in your builder. Because this is a white-label dashboard, your client accesses it at /admin on their own domain — no Prompt.Doctor branding, no third-party login required.
6 modules · 48 prompts · 6 workflow stages
Panorama Viewer
Equirectangular sphere geometry with inverted normals, HDR panorama texture loading, mouse/touch/gyroscope navigation, FOV zoom, and VR cardboard mode
9 promptsMulti-Room Navigation
Hotspot system with world-space billboards, room transition with panorama crossfade shader, tour graph data structure, and breadcrumb navigation
10 promptsFloor Plan Sync
SVG floor plan overlay, camera direction → floor plan indicator arrow, room highlight on hover, click-to-navigate from floor plan, and minimap expand/collapse
9 promptsMeasurement & Overlay
Click-to-place measurement points on panorama sphere, perspective-correct distance calculation, room dimension overlay, and area calculation for floor regions
8 promptsFurniture AR Placement
WebXR hit-test furniture placement, GLTF furniture model library, scale and rotate controls, room layout save/restore, and virtual staging mode
7 promptsAnalytics & Lead Capture
Tour engagement tracking (rooms visited, time per room, hotspots clicked), engagement milestone triggers, contact form modal, and CRM webhook integration
5 promptsWrite a React Three Fiber 360° panorama viewer with smooth room-to-room transition animations. Requirements: (1) Panorama sphere: SphereGeometry(500, 60, 40) with scale.x = -1 (inverted normals for inside view). MeshBasicMaterial with the equirectangular panorama as map. Camera at origin, FOV 75. (2) Navigation: mouse drag for look-around (update camera Euler yaw/pitch, clamp pitch to ±85°). Touch support: single finger drag. Device orientation (gyroscope): listen to DeviceOrientationEvent, apply alpha/beta/gamma to camera rotation with a smoothing lerp factor 0.1. Scroll wheel to zoom FOV between 40–90°. (3) Hotspots: render 3D hotspot markers (CircleGeometry, always face camera via billboarding) at specified world positions on the sphere surface. On click (raycaster), trigger room transition. (4) Room transition: crossfade shader — two sphere meshes (current and next panorama), a u_progress uniform 0→1. Fragment shader: mix(texture2D(u_current, uv), texture2D(u_next, uv), smoothstep(0.4, 0.6, u_progress + noise(uv * 3.0))). GSAP tween u_progress from 0 to 1 over 800ms with ease: "power2.inOut". On complete, swap current = next, reset. (5) Tour data: accept prop tour: { rooms: Array<{ id, panoramaUrl, hotspots: Array<{ position: [x,y,z], targetRoomId, label }> }>, startRoomId }. (6) Export as PanoramaViewer. Full TypeScript.
Write a React component that renders an SVG floor plan minimap for a 360° property tour, with a live indicator showing the viewer's current position and look direction. Requirements: (1) Props: floorPlan: { svgUrl: string, rooms: Array<{ id: string, svgRoomId: string, position: { x: number, y: number } (in floor plan pixel coords), worldPosition: [number, number, number] }> }, currentRoomId: string, cameraYaw: number (radians, updated each frame from the panorama viewer). (2) SVG rendering: load and embed the floor plan SVG. For each room, add a click handler that calls onRoomSelect(roomId). Highlight the current room with a fill color change. (3) Live direction indicator: an SVG arrow/cone shape centered on the current room's floor plan position. Rotate it to match cameraYaw (convert from 3D world yaw to floor plan 2D rotation — account for the coordinate system difference). Animate rotation smoothly with CSS transition: transform 0.1s. (4) Visited rooms: track visited room IDs in state, apply a "visited" CSS class to their SVG elements (slightly dimmed). (5) Minimap toggle: collapsed state shows only a small compass icon in the corner; expanded state shows the full floor plan. Animate expand/collapse with CSS transition. (6) Room labels: show room name tooltips on hover over SVG room regions. (7) Export as FloorPlanMinimap. Full TypeScript with React. Explain the world-yaw to SVG-rotation coordinate conversion.
system
17 prompts
workflow
15 prompts
templates
9 prompts
prompts
7 prompts
"The panorama crossfade transition prompt — the noise-based edge on the mix() function — is what makes our room transitions feel premium instead of just a fade. That one GLSL detail is the difference between a tour that feels like a product and one that feels like an experience."
CTO
PropTech platform, 50K listings
"The floor plan minimap with live direction sync is the feature our agents say closes deals. Buyers who use the floor plan to navigate spend 3x longer in the tour and are 2x more likely to book a showing. The world-yaw to SVG-rotation conversion explanation is exactly what our developer needed."
Head of Product
Luxury real estate agency
All 48 prompts across 6 modules are unlocked for your account.
Lifetime access