Appearance
Interactive Runtime Profile
Use this profile when a UI is iterating quickly (selection HUD, camera motion, frequent rebuilds).
Startup
Use dist-only startup to avoid rebuilding test files on every launch:
bash
npm run runtime:serve:distUse full rebuild startup only when source has changed and dist is stale:
bash
npm run runtime:serveBuild Requests
- Prefer
options.meshProfile: "interactive"for immediate viewport feedback. - Use
POST /v1/build/partialwithpartial.changedFeatureIdsonce a session baseline exists. - Keep
options.prefetchPreviewenabled unless memory pressure requires disabling it.
Timeouts
- Client poll timeout: 30-60s for normal interactions.
- Runtime default timeout (
TF_RUNTIME_JOB_TIMEOUT_MS): 30s. - For heavy explicit operations (dense mesh/export), set per-request
timeoutMs.
Measure + Diagnostics
- Gate measurement calls with
/v1/capabilities.optionalFeatures.measure.endpoint. - Use
/v1/measurefor HUD metrics on selected targets. - On failed jobs, consume
error.codeanderror.details.featureIdfor feature-level messaging. - For partial builds, inspect
result.diagnostics.partialBuild:buildModereusedFeatureIdsinvalidatedFeatureIdsfailedFeatureId
Mesh Defaults
- Interactive: fast tessellation for camera motion and selection.
- Preview: medium quality for review snapshots.
- Export: highest quality for downstream exports.
- Avoid requesting export-grade meshing for every interaction.