Sathsara K.
  • Home
  • About
  • Projects
  • Case Studies
  • Blog
  • Contact
Hire me
  • Home
  • About
  • Projects
  • Case Studies
  • Blog
  • Contact
Sathsara K.
© 2026 Sathsara. Built with intent.
Back to Case Studies
AI-Generated 3D Solar System
PythonJune 30, 20265 min read

AI-Generated 3D Solar System

Key Impact OutcomeThe generated model came out mostly correct, with accurate planet ordering and reasonable relative scale, though not scientifically precise. It's currently the cleanest demonstration of TriSense's pipeline working end to end with minimal errors.
The Challenge

Representing multiple known objects (planets) with correct relative order and rough scale relationships, without manual placement.

The Solution

ChatGPT-4o processed the prompt into a structured scene graph defining planet ordering and approximate orbital layout, which TriSense rendered in real time using Three.js and React Three Fiber.

See Project Details

A 3D solar system generated from a single text prompt using ChatGPT-4o, demonstrating TriSense's core pipeline, turning plain language into a structured scene graph and rendering it live in the browser, with accurate planet ordering and reasonable relative scale.

Table of Contents

  • • Generating a Furnished Room from a Text Description
  • • Turning a System Description into an Interactive Architecture Diagram
  • • Procedurally Generating a Custom Vase from a Description
  • • Generating a Solar System with ChatGPT-4o

TriSense Case Studies

TriSense is a personal project, not a deployed product, so these case studies are written honestly: what the system actually does, where it struggles, and what real output looks like. It isn't 100% accurate. Object placement can overlap, and results vary depending on which model is generating the scene graph. Gemini 1.5 Flash tends to be noticeably slow and gets relationships wrong more often. ChatGPT-4o is faster and more accurate, but still not perfect, occasional overlaps and misjudged proportions still happen.

Generating a Furnished Room from a Text Description

A user describes a living room in a single sentence: "A modern living room with a red sofa, a glass coffee table, and a floor lamp in the corner." No dimensions, no coordinates, no manual placement. The system has to infer all of that from the sentence alone, where the corner is, how big the room should be, how far the table should sit from the sofa.

The prompt is processed into a structured scene graph describing each object's relative position, scale, and spatial constraints, which is then rendered through React Three Fiber and Three.js. Each object passes through a blueprint-style reveal animation before resolving into its final material, and Zustand keeps scene state isolated so placing a new object doesn't force a re-render of everything already in the scene.

In practice this works most of the time, but not always cleanly. Depending on the model used, objects can end up overlapping slightly, a coffee table pushed a bit too close to the sofa, or a lamp placed nearer to a wall than intended. It's good enough to demonstrate the core idea, language to spatial layout, but it's not something to treat as production-reliable yet.

Turning a System Description into an Interactive Architecture Diagram

A user describes a software system in plain language, and TriSense renders it as a navigable 3D diagram instead of a static image. Most architecture diagrams are flat and manually arranged in tools like Lucidchart. Here, there's no physical scene to reason about, so the system reinterprets spatial reasoning as logical reasoning: components become nodes, relationships become connections, and data flow gets shown as direction.

The same scene graph pipeline is reused, but it encodes logical relationships rather than physical layout, which component connects to which, and in what direction. Each piece renders as a distinct 3D shape connected by animated paths. Labels are rendered as camera-facing elements that continuously reorient toward the viewer, since flat text in a 3D scene becomes unreadable from the wrong angle otherwise.

This case generalizes the same core pipeline, language to scene graph to render, from a physical use case to an abstract one without a separate system being built for it. It's one of the more convincing technical results, since it wasn't designed for this case specifically.

Procedurally Generating a Custom Vase from a Description

A user describes a vase by its proportions, "tall, narrow neck, wide base", and TriSense generates the model mathematically using lathe geometry rather than pulling it from an asset library. The description gets converted into parameters for a 2D profile curve, which is then revolved 360 degrees around a central axis to produce the final symmetrical mesh, the same principle as throwing a pot on a wheel. The same profile-based approach extends to extrusion for non-symmetrical shapes like logos or 3D text.

This one tends to be more reliable than the room scene, since a single object with a clear silhouette gives the model less room to misjudge spatial relationships between multiple items. It's a good example of the system's range not being capped by a fixed asset library.

Generating a Solar System with ChatGPT-4o

A simpler, cleaner test case: describing the solar system and asking the system to generate it. Run through ChatGPT-4o, the result came out mostly correct, relative planet ordering, rough scale relationships, and orbital layout were reasonably represented. It's not a perfect simulation, scale accuracy is approximate rather than scientifically precise, but the structure held up well and matched expectations for what a solar system model should look like.

This case is useful as a comparison point against the others. With fewer, more clearly defined objects (a fixed, well known set of planets in a known order), the model has an easier time than with an open-ended interior scene where relationships are vaguer and more numerous.

Across all four cases, the pattern is consistent: TriSense works, the language-to-scene-graph-to-render pipeline holds up across physical scenes, abstract diagrams, and procedural geometry, but it's a system still in development. ChatGPT-4o currently gives faster, more accurate results than Gemini 1.5 Flash, though neither is fully reliable yet, and occasional overlaps or misjudged spatial relationships are still part of using it honestly.

All ArticlesPython
Sathsara

Sadeesha Sathsara

Backend & DevOps Developer

Writing on async systems design, automated CI/CD pipelines, containerization, and backend patterns.

Recommended Reads

AI-Powered Individual Contribution Scoring for Team Software Projects | Final Year ResearchJuly 1, 2026 · 8 min readBuilding an AI Summarized Email Alert Workflow with Gmail, Gemini, and TelegramJuly 1, 2026 · 5 min readWhen One Service Fails, the Rest Keep Running: The MediCare ArchitectureJuly 1, 2026 · 5 min read

Keep Reading

More Articles

AI-Powered Individual Contribution Scoring for Team Software Projects | Final Year Research
Case StudyResearch
July 1, 2026

AI-Powered Individual Contribution Scoring for Team Software Projects | Final Year Research

Read
Building an AI Summarized Email Alert Workflow with Gmail, Gemini, and Telegram
Case StudyArchitecture
July 1, 2026

Building an AI Summarized Email Alert Workflow with Gmail, Gemini, and Telegram

Read
When One Service Fails, the Rest Keep Running: The MediCare Architecture
Case StudyMicroservices
July 1, 2026

When One Service Fails, the Rest Keep Running: The MediCare Architecture

Read
Go back to Case Studies