A product of Cassiar Systems

Large 3D models, in the browser

Tessera splits large CAD models into a shared geometry library and streams just what each view needs to virtually any device.

How it works

  1. 01

    Shard

    Ingest any large 3D model exported from CAD into one shared library. Anything repeated across a project or its revisions is stored just once.

  2. 02

    Stream

    Only what each view needs is loaded, streaming in as it arrives. Memory-constrained devices stay capable, and the model is on screen sooner.

  3. 03

    Assemble

    Organize elements into user-defined or attribute-defined groups, then dynamically compose the exact view needed for each job or task.

  4. 04

    Visualize

    View any complex model on virtually any device. Search, measure, section, colour by attribute and compare revisions, all in one place.

Architecture

Built to scale out

A reference deployment on Azure Container Apps. Each tier scales on its own signal, over one shared, consistent library.

Tessera on Azure Container Apps Browsers reach the web and API tier through Container Apps ingress. Web replicas scale on HTTP load, ingestion workers scale from zero on queued jobs, and attribute index jobs run on pending builds. All three share state in Azure Database for PostgreSQL and Azure Storage. Azure Container Registry supplies images and Azure Monitor collects metrics. Serving Processing Ops Viewer Any modern browser Local geometry cache Model uploads Microsoft Azure Ingress TLS · load balancing Optional sign-in Release images Azure Container Registry Metrics · logs Azure Monitor Azure Container Apps environment Web + API Serves the viewer, data and geometry Scales 1 → N on HTTP load Ingestion workers Split, deduplicate and publish models Scales 0 → N on queued jobs Attribute index jobs Index attributes after each publish Scales 0 → N on pending builds Shared state Azure Database for PostgreSQL Flexible Server Library state and revisions Job queue and publications Attribute indexes Assembly plans Azure Storage Private Blob container Uploaded source files Content-addressed geometry Property packs Immutable once published
  • Stateless web tier

    Replicas keep only caches. PostgreSQL and Blob Storage hold the library, so replicas come and go with viewer load and all serve the same published version.

  • Ingestion on demand

    Workers start when uploads queue up and scale back to zero once the queue empties. Each claims one job at a time, so many models import side by side.

  • Cache-friendly geometry

    Published geometry is content-addressed and never rewritten, so browsers and replicas cache it indefinitely and repeat visits fetch only what is new.

  • Indexing off the request path

    Attribute indexes build in event-driven jobs after each publish. Web replicas only read finished indexes, so queries stay fast while models change.