TwinView
Property digital twin and inspection application for provider-agnostic capture jobs, authenticated capture-job source assets, processing-run history, WebODM-backed drone processing, explicit processing handoff state, self-hosted panorama tours, room-level walkthrough entry links, Matterport imports, external 3D pipelines, share links, field QA, TwinView-owned customer accounts, and authenticated customer scan delivery.
Documentation Map
What It Is
Property digital twin and inspection application for provider-agnostic capture jobs, authenticated capture-job source assets, processing-run history, WebODM-backed drone processing, explicit processing handoff state, self-hosted panorama tours, room-level walkthrough entry links, Matterport imports, external 3D pipelines, share links, field QA, TwinView-owned customer accounts, and authenticated customer scan delivery.
Architecture
Owners: property-platform
Source repos: PlatformApplications/TwinView
Dependencies: topolo-auth
Repo shape
- PlatformApplications/TwinView/apps/
- PlatformApplications/TwinView/package-lock.json
- PlatformApplications/TwinView/package.json
- PlatformApplications/TwinView/packages/
- PlatformApplications/TwinView/topolo.cloudcontrol.json
Runtime Surfaces
Hosts:
https://twinview.app https://api.twinview.app Config: PlatformApplications/TwinView/apps/api/wrangler.toml
Main: src/index.ts
Routes: workers.dev or asset-only surface
Config: PlatformApplications/TwinView/apps/web/wrangler.toml
Main: not declared
Routes: workers.dev or asset-only surface
API Reference
Coverage: curated
Source: PlatformApplications/TopoloDocs/src/content/public/applications/twinview.mdx
Source exists in repo: yes
Canonical TwinView coverage now lives in the docs application.
App API page: /reference/apps/topolo-twinview
This system currently relies on a curated or README-derived contract surface instead of a source-controlled OpenAPI spec.
Auth and Permissions
Depends on Topolo Auth: yes
Service IDs:
srv_twinview API key scopes
View annotations and pinned notes
Resource pattern: none
Create and manage annotations and pinned notes
Resource pattern: none
View capture jobs and field status
Resource pattern: none
Create and manage capture jobs and schedules
Resource pattern: none
View TwinView dashboards and portfolio summaries
Resource pattern: none
View inspection tasks and issue status
Resource pattern: none
Create and manage inspection tasks and issue status
Resource pattern: none
View Matterport and external integration metadata
Resource pattern: none
Manage Matterport and external integration metadata
Resource pattern: none
View properties and site records
Resource pattern: none
Create and update properties and site records
Resource pattern: none
View TwinView reporting and portfolio summaries
Resource pattern: none
View TwinView workspace settings
Resource pattern: none
Manage TwinView workspace settings
Resource pattern: none
View public and client share configuration
Resource pattern: none
Manage public and client share configuration
Resource pattern: none
Publish or archive twin share views
Resource pattern: none
View published and draft twins
Resource pattern: none
Create and update twin records
Resource pattern: none
View units and subspaces
Resource pattern: none
Service permissions
annotations:read, annotations:write, capture_jobs:read, capture_jobs:write, dashboard:read, inspections:read, inspections:write, integrations:read, integrations:write, properties:read, properties:write, reports:read, settings:read, settings:write, share_views:read, share_views:write, twins:publish, twins:read, twins:write, units:read
Data Ownership
Binding: DB
Target: 05bd77a2-5028-4d97-b8dd-e9ef22715a2c
Environment: default
Source: PlatformApplications/TwinView/apps/api/wrangler.toml
Binding: ASSETS
Target: twinview-assets
Environment: default
Source: PlatformApplications/TwinView/apps/api/wrangler.toml
Queues / Cron / Workflows
Queue bindings:
-
JOBS-> twinview-jobs
Cron triggers
No cron triggers were detected.
Workflow signals
- JOBS -> twinview-jobs
Environment Variables and Bindings
Environment variables:
ALLOWED_ORIGINS APP_ORIGIN ASSET_PUBLIC_BASE_URL AUTH_BASE_URL MAGIC_LINK_EMAIL_FROM All wrangler bindings
-
DB(d1) -> 05bd77a2-5028-4d97-b8dd-e9ef22715a2c -
ASSETS(r2) -> twinview-assets -
JOBS(queue) -> twinview-jobs
Deployments
Deployment environments: default only or not declared
Routes: workers.dev or Pages-only delivery
Observability enabled: no explicit setting found
Wrangler surfaces
- PlatformApplications/TwinView/apps/api/wrangler.toml -> twinview-api
- PlatformApplications/TwinView/apps/web/wrangler.toml -> twinview-web
Build and deploy commands
-
build— PlatformApplications/TwinView/apps/api/package.json :: tsc -p tsconfig.json -
deploy— PlatformApplications/TwinView/apps/api/package.json :: wrangler deploy -
deploy:dry-run— PlatformApplications/TwinView/apps/api/package.json :: wrangler deploy --dry-run --outdir .wrangler/build -
build— PlatformApplications/TwinView/apps/web/package.json :: tsc -p tsconfig.json && vite build -
preview— PlatformApplications/TwinView/apps/web/package.json :: vite preview -
build— PlatformApplications/TwinView/package.json :: npm run build -w @twinview/shared && npm run build -w @twinview/api && npm run build -w @twinview/web -
build:field-android— PlatformApplications/TwinView/package.json :: cd apps/field-android && ANDROID_HOME=${ANDROID_HOME:-$HOME/Library/Android/sdk} ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT:-$HOME/Library/Android/sdk} ./gradlew assembleDebug -
build:field-ios— PlatformApplications/TwinView/package.json :: xcodebuild -project apps/field-ios/TwinViewField.xcodeproj -scheme TwinViewField -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO build -
build— PlatformApplications/TwinView/packages/shared/package.json :: tsc -p tsconfig.json -
build— PlatformApplications/TwinView/packages/topolo-auth-client/package.json :: tsup src/index.ts --format esm,cjs --dts
Failure Modes
- Neither OpenAPI nor README-derived interface detail was found.
Debugging Runbooks
Start with these entrypoints:
- PlatformApplications/TwinView/apps/api/wrangler.toml
- PlatformApplications/TwinView/apps/web/wrangler.toml
- PlatformApplications/TopoloDocs/src/content/public/applications/twinview.mdx
- PlatformApplications/TwinView/apps/api/package.json
- PlatformApplications/TwinView/apps/web/package.json
- PlatformApplications/TwinView/package.json
- PlatformApplications/TwinView/packages/shared/package.json
- PlatformApplications/TwinView/packages/topolo-auth-client/package.json
Change Log / Verification
Lifecycle: active
Last verified: 2026-04-11
Any code change to this system is expected to update the canonical docs in PlatformApplications/TopoloDocs and refresh the verification date.