TriSense
TriSense is an AI-powered spatial computing platform that transforms natural language descriptions into real-time interactive 3D environments. By combining Google Gemini 1.5 Pro with Three.js and WebGL, it allows users to generate fully structured scenes—from architectural layouts to object-level compositions—simply by describing what they want. The system interprets spatial relationships, object hierarchies, and design intent, then renders them dynamically in the browser with smooth animations and real-time updates via WebSockets.
Table of Contents
Inside TriSense: How AI Turns Words Into Interactive 3D Worlds
Most people have an idea in their head long before they ever touch a 3D tool. The problem has always been the gap between that idea and the software needed to build it. Traditional 3D modeling means learning Blender or Maya, understanding meshes and polygon counts, or hiring someone who already knows how. TriSense exists to close that gap. Describe a scene in plain language, and the system builds it for you, live, in the browser.
The Reasoning Layer: Google Gemini 1.5 Pro
Everything in TriSense starts with language, and the model doing the heavy lifting is Google Gemini 1.5 Pro. It isn't used as a simple chatbot bolted onto a 3D viewer. It acts as the actual reasoning engine behind the scene.
When someone types a prompt, Gemini has to do more than identify nouns. It needs to work out spatial relationships (what sits on top of what, what's connected to what), constraints (size, position, orientation), and design intent (is this a living room or a piece of software architecture). All of that gets converted into a structured scene graph, a kind of blueprint that defines exactly how objects should be positioned, connected, and visualized in 3D space.
This scene graph is the bridge between language and geometry. It's also what makes TriSense useful for more than just furniture and objects. The same reasoning pipeline can visualize software system architecture, turning a description like "an API Gateway connected to three backend services" into a navigable diagram with logical connections and data flow animations.
Rendering: Three.js, React Three Fiber, and Drei
Once Gemini produces a scene graph, it has to actually become pixels on screen, and that's where the frontend rendering stack takes over.
TriSense is built on React with Vite for fast builds and hot reloading during development. For 3D rendering itself, it leans on Three.js, the standard for WebGL based graphics in the browser, but wrapped through React Three Fiber, which lets 3D scenes be described declaratively as React components rather than imperative Three.js code. Drei sits on top of that, providing a library of ready made helpers for cameras, controls, and common 3D patterns, which speeds up development considerably.
This combination is what allows TriSense to render fairly complex scenes efficiently inside a browser tab, while still keeping interactions like camera movement, object highlighting, and live animations smooth.
State management is handled by Zustand, a lightweight alternative to something like Redux. Because 3D scenes update constantly, every camera move, every new object, every AI refinement, state needs to change without triggering expensive re renders across the whole scene. Zustand's minimal, hook based approach keeps these updates fast and predictable. Framer Motion handles the UI level animations layered on top, like transitions and interface polish, separate from the 3D rendering itself.
Generative Reveal: Making the AI's Process Visible
One of TriSense's more distinctive features is the Generative Reveal system. Instead of an object simply appearing fully formed the instant it's generated, it's constructed through a blueprint style animation phase first, a kind of wireframe sketch that fills in before the final materials and textures snap into place.
This isn't just a visual flourish. It changes the relationship between the user and the AI. Rather than treating generation as a black box that spits out a finished result, Generative Reveal gives a sense of process, of the system actually building something step by step, which makes the whole experience feel more interpretable and less like magic.
Profile-Based Modeling: Generating Shapes Mathematically
Not every object can or should come from a pre made asset library. For more complex geometry, like vases, chess pieces, logos, or custom 3D text, TriSense relies on profile based modeling.
This technique uses mathematical profiles, specifically lathe and extrusion, to generate shapes procedurally. Lathe modeling takes a 2D profile and revolves it around an axis, the same principle used to throw a pot on a wheel, which is ideal for symmetrical objects like vases or bottles. Extrusion takes a 2D shape and pushes it through a third dimension, which is how flat logos or text become solid 3D forms. Because these shapes are generated from mathematical descriptions rather than fixed meshes, the range of objects TriSense can produce isn't capped by what's sitting in an asset library.
The Backend: FastAPI, MongoDB, and Real-Time Sync
None of this works without a backend that can keep up with both the AI model and the user's browser at the same time.
TriSense runs on FastAPI, a Python framework chosen specifically for performance. It acts as the coordination layer, handling prompt processing, managing the scene generation pipeline, authenticating users, and keeping client and server in sync. Data, user projects, scene configurations, and generation history, is stored in MongoDB, a document database that fits naturally with the flexible, nested structure of scene graphs.
Security runs through JWT (JSON Web Token) authentication, with passwords hashed using Argon2, currently considered one of the strongest hashing algorithms available, designed specifically to resist brute force and GPU based cracking attempts.
For real time behavior, TriSense uses WebSockets rather than traditional polling. This matters because 3D scenes change constantly during an editing session. With WebSockets, scene modifications, object adjustments, and AI refinements all propagate instantly between client and server, without the delay or overhead of repeated HTTP requests or manual page refreshes.
The Small Details That Add Up
A few smaller features round out the experience. Camera facing labels automatically reorient themselves as the user moves around a scene, so text stays readable from any angle instead of facing a fixed direction. Page titles update dynamically based on what's open, which sounds minor but makes multi tab navigation noticeably easier when working across several projects.
Why the Architecture Matters
What makes TriSense interesting isn't any single piece of technology. Gemini alone doesn't build 3D scenes, and Three.js alone doesn't understand language. It's the pipeline connecting them, language reasoning into structured data, structured data into real time rendering, all wrapped in an architecture fast enough to feel instant, that makes the whole thing work.
As language models get better at structured reasoning and browsers get better at real time graphics, tools like TriSense point toward a future where the interface for 3D creation isn't a toolbar full of icons. It's just a sentence.



