Roadmap
An honest list of what works today, what needs an external service configured, and what's still planned.
Milestone 1
Accounts, workspaces, storage, PLY upload & rendering
AvailableMilestone 2
Tour editor, viewpoints, scene navigation, core POIs
AvailableMilestone 3
Publishing, branding, floor plans, review, analytics
AvailableMilestone 4
Billing, commerce, advanced media, quizzes, live sessions
Partially available
Accounts
- Available
Email + password sign-in, password reset, session management
Password-reset emails are sent by NoCodeBackend's mail service (configure SMTP in its dashboard).
- Available
Multi-tenant workspaces with Owner / Admin / Editor / Viewer roles
- Available
Platform administrators
- Available
Invitations
Emailed when RESEND_API_KEY is set; otherwise the invite link is shown to copy.
- Available
Agency accounts managing client workspaces + agency overview
- Planned
Google / SSO sign-in
NoCodeBackend auth supports Google; needs OAuth credentials and a callback page here.
Storage
- Available
S3-compatible private storage with presigned access
Production uses Wasabi. Local-disk storage is used in development.
- Available
Resumable multipart uploads with progress, retry, pause
- Available
Per-plan storage quotas and upload limits
Processing
- Available
PLY schema inspection (splat vs point cloud vs mesh) with plain-language rejections
- Available
Background validation + SPZ optimization, retries, processing history
Files above MAX_OPTIMIZE_BYTES (default 700 MB) skip optimization and stream the original.
- Partially available
Thumbnails
Captured from the real renderer in the browser (automatically on first preview, or on demand). No server-side GPU rendering.
- Available
Compressed PLY (PlayCanvas/SuperSplat) uploads
- Available
Create splats from video, Insta360 .insv and photo ZIPs
Paid plans. Trained on the GPU server with Spirula Studio; one capture at a time, roughly 40 minutes to 7 hours depending on quality and camera.
- Planned
Automatic masking of the camera operator and passers-by in captures
- Planned
.splat / .spz / .ksplat / .sog uploads
The renderer supports them; upload validation currently accepts .ply only, as specified.
Rendering
- Available
Real Gaussian Splat rendering (Spark, MIT, three.js)
Viewer
- Available
Free exploration, orbit mode, guided walkthrough
- Available
Saved viewpoints, smooth / fade / instant transitions, reset view
- Available
Mouse, keyboard and touch controls; movement speed; fullscreen
- Available
Quality presets + adaptive resolution
- Available
Screenshots, share dialog, scene & viewpoint lists
- Available
Background music, guided-tour narration, auto-rotate on idle
- Available
Navigation bounds and floor height
- Available
Proxy geometry (GLB) for collision, picking and occlusion
- Available
Reduced-motion behaviour, WebGL 2 detection with fallback message
- Planned
Tested on physical iOS / Android devices and Safari
Verified in Chromium at desktop and phone sizes so far.
- Planned
WebXR / VR headset mode
Editor
- Available
Scenes: upload, order, duplicate, titles, thumbnails, transforms
- Available
Start camera, viewpoints, viewpoint links, scene links
- Available
Autosave with conflict detection, undo/redo
- Available
Non-destructive clipping volumes (box / sphere, remove inside / keep inside)
- Planned
Automatic alignment of multiple scans
Scenes are aligned with explicit transforms you set; nothing is merged automatically.
Markers
- Available
Icon, area, viewpoint and scene markers with full styling and transitions
- Available
Surface-picked placement, depth fallback, 3D transform gizmo
POIs
- Available
Image, text, video, link, PDF, form
- Available
Gallery, audio, HTML, file, map, callout, 360° video, 360° object, 3D model, point cloud, splat object, product, quiz
- Available
13 appearance styles incl. world-space panels and transparent video
Embedded HTML is drawn as an overlay that scales with distance, not inside the 3D depth buffer.
- Available
Visibility distance, schedules with time zone, groups, activation, display modes, bookmarks
- Planned
Occlusion behind scanned surfaces without proxy geometry
Splats don't provide reliable depth; occlusion currently requires proxy geometry.
Publishing
- Available
Public, unlisted, password, members-only and private tours
- Available
Published revisions (draft edits never change the live tour), rollback
- Available
Expiring share links, draft review links
- Available
Embed codes, QR codes, social previews
Branding
- Available
Logos, colours, branded loading screens, white-label
- Available, needs configuration
Custom domains with DNS TXT ownership verification
Automatic attachment needs NETLIFY_API_TOKEN; otherwise an administrator adds the domain alias.
Maps
- Available
Floor plans with multiple floors, clickable scene/viewpoint locations, current location
- Available
3D overview using the actual scan
- Available
Measurement for calibrated scenes with precision notes
Review
- Available
Customer review comments pinned to scenes, viewpoints and 3D points
Analytics
- Available
Views, visitors, engagement, scenes, markers, POIs, links, forms, devices, referrers + CSV
Dashboards aggregate up to 20,000 recent events per query; a rollup job is the scale-up path.
- Available
Privacy modes (off / anonymous / consent), honours GPC & DNT
Billing
- Available
Configurable plans and server-enforced limits
- Available, needs configuration
Stripe subscriptions, customer portal, webhook retries & idempotency
Needs STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET and price ids on each plan. Not yet tested against a live Stripe account.
Commerce
- Available, needs configuration
Product hotspots with WooCommerce add-to-cart links and Snipcart
External services: needs a WooCommerce store URL or Snipcart public key. Checkout happens on their side.
Engagement
- Available
Lead forms, contact & booking buttons, audio guides, guided presentations
- Available
Learning mode with quizzes and progress
Collaboration
- Planned
Shared live sessions with host-led camera sync
- Planned
Participant chat and audio/video
Planned via an established real-time service (e.g. LiveKit or Daily), not built in-house.
