DevConnectDevConnect
Sign up ยท Log in
โ† back to the feed
1

AI Three Studio: Bringing Visual Editing to Three.js Development

What if you could work with a Three.js project the way you work with a visual 3D editor while still keeping your actual source code? That idea led me to build AI Three Studio, a browser-based, source-aware development environment designed to bring 3D scene editing, live preview, and source code into one workspace. ๐Ÿš€ Live Demo: [https://punitpritam788.github.io/AI-Three-Studio/ ](https://punitpritam788.github.io/AI-Three-Studio/) Iโ€™d also like to thank and acknowledge @GitHub for providing the platform and hosting infrastructure that makes it possible to share and deploy this project, and @@ for providing a platform to publish and share it with the developer community. Iโ€™m also grateful to @threejs, @WebGL, @JavaScript, and the developers, creators, and open-source communities behind modern web development tools that continue to make projects like this possible. --- ## ๐Ÿ’ก The Motivation Behind This Project This project started from a problem I personally experienced while developing 3D environments for my games and websites. When working with Three.js - especially when the code is generated or heavily assisted by AI coding tools - getting the first working version can be surprisingly easy. But then comes the next problem: ## How do you actually edit it? You may have a working 3D scene, but simply changing the position of an object, adjusting its scale, rotating something, or changing the layout can mean going back into the code and asking an AI to modify it again. Then you inspect it. Something isn't quite right. So you prompt again. Then again. And again. That repetitive process was one of the biggest motivations behind this project. I started thinking: > Why can't I simply select the object I want and edit it visually, while the underlying code stays connected? That question eventually became the foundation of AI Three Studio. --- ##๐Ÿค– Exploring the Idea with ChatGPT Before building the project, I spent a lot of time researching and exploring the idea with ChatGPT. I used ChatGPT to discuss the concept, think through possible architectures, explore development approaches, identify technical challenges, and understand what would actually be possible in a browser-based environment. That research helped turn a rough idea into something I could start prototyping. It wasn't about asking AI to build the entire product for me. It was about using AI as a thinking and research partner while I experimented with the implementation myself. --- ## ๐Ÿงฉ The Original Idea Was Much Bigger To be honest, my original goal wasn't specifically to build a Three.js editor. I wanted to build something closer to an HTML / web editor that could visually edit existing websites and projects. The idea was much broader: Open a project โ†’ see the actual rendered page โ†’ select elements โ†’ change layout, styling, positioning, fonts, structure, and more โ†’ keep the source code synchronized. But very quickly I realized how complicated that becomes. A serious editor like that can't realistically be limited to one type of project. It would need to deal with: HTML + CSS + JavaScript + React + frameworks + dynamic DOM + external libraries + runtime state + component structures + source mapping and much more. That's a massive problem to solve. So instead of trying to build everything at once, I decided to narrow the problem. ##Three.js became the starting point. --- ## ๐ŸŽฏ Why Three.js? Three.js gave me a focused environment where I could explore the core idea: ##Can visual editing and source code actually stay connected? That is what AI Three Studio is currently experimenting with. It isn't intended to be the final answer to visual web development. It is a prototype and a learning ground for a much bigger idea. --- ## ๐Ÿ’ก The Problem Three.js development can involve a constant back-and-forth workflow: Write code โ†’ save โ†’ refresh โ†’ inspect โ†’ change code โ†’ refresh again. That process works, but it becomes increasingly frustrating when you're building complex scenes and simply want to move an object, adjust a rotation, change a scale, or understand what's currently inside the scene. I wanted to explore a different workflow: What if the scene itself could become part of the development environment? --- ## ๐Ÿงฉ Introducing AI Three Studio AI Three Studio is an experimental browser-based environment that combines: ๐ŸŽฎ 3D viewport ๐ŸŒณ Scene hierarchy ๐ŸŽ› Object inspector ๐Ÿ’ป Source editor ๐ŸŒ Live preview ๐ŸŽฏ Transform controls โธ Animation freezing โ†ฉ Undo/redo ๐Ÿ“ฆ Project export The goal is simple: ## Make Three.js development more visual without abandoning code. --- ## ๐ŸŽฎ Edit the Live Page One of the most interesting parts of the project is Live Page Edit. Instead of editing only a separate copy of the scene, the studio can connect to the actual Three.js application running inside the preview. You can select runtime objects and manipulate them using familiar 3D tools: W - Move E - Rotate R - Scale The studio communicates with the running page through an internal bridge that tracks scene objects and their transformations. This creates a workflow much closer to a traditional visual 3D editor. --- ## โธ Editing Animated Scenes Animations introduce another challenge. Imagine trying to position an object while it is constantly rotating, moving, or following an animation loop. AI Three Studio includes a Freeze feature that temporarily pauses animation-frame execution. That means you can: Freeze โ†’ Position โ†’ Transform โ†’ Resume without fighting against the animation. --- ## ๐ŸŒณ Understanding the Scene The hierarchy panel makes it possible to inspect the objects currently present in the Three.js scene. You can select objects, hide or show them, filter visible objects, and work with multiple selections. For larger scenes, this provides a much easier way to understand what's actually happening in the runtime environment. --- ## ๐ŸŽฏ Multi-Selection & Group Editing The editor also supports multiple selection workflows. For example: Shift + Click โ†’ Select multiple objects Shift + Drag โ†’ Box selection Ctrl + A โ†’ Select everything And with: ## G โ†’ Group Mode multiple selected objects can be manipulated around a shared selection center. --- ## ๐Ÿง  The Interesting Part: Source-Aware Editing The bigger challenge isn't moving a cube. The interesting question is: ## What happens to the source code after you move that cube? AI Three Studio explores a source-aware workflow where runtime objects can be associated with the code that created them. When the system can confidently identify a source relationship, visual transformations can be written back toward the original project representation. When that relationship cannot be safely determined, the editor can fall back to runtime editing instead of pretending it knows more than it does. This is an important design principle for tools that try to bridge visual editing and real programming. --- ## ๐Ÿ“‚ Bring Existing Projects The studio isn't designed only for scenes created from scratch. It includes project import workflows for: ๐Ÿ“„ HTML files ๐Ÿ“ Project folders ๐Ÿ“‹ Pasted HTML/JavaScript It can also work with linked CSS and JavaScript module structures while preparing the project for preview. --- ## ๐Ÿ’ป Code + Visual Editing The editor keeps the source visible rather than hiding it behind a purely visual abstraction. You can work with:
index.html
styles.css
alongside the scene and live preview. That means developers can choose the workflow that makes sense for the current task: Code when code is faster. Visual tools when visual editing is faster. --- ## ๐Ÿ“ฆ Export Once you're finished, the project can be exported as: ๐Ÿ“„ Single HTML ๐Ÿ“ฆ ZIP project The export workflow also provides options for preserving the original code or generating output from the scene representation. --- ## ๐Ÿ”ญ Where I Want to Take This This is still a prototype, and there is a lot more I want to explore. The long-term vision is bigger than Three.js. Eventually, I would like to explore whether the same fundamental approach could be extended toward a more general visual HTML/web editor that can work with real projects instead of forcing developers to repeatedly regenerate code just to make small visual changes. But that is a much larger challenge. For now, I'm focusing on Three.js, learning from the implementation, discovering the limitations, and figuring out which parts of the idea can realistically scale. The bigger idea behind the project is to explore a development environment where:
SOURCE CODE
     โ†•
3D SCENE
     โ†•
LIVE PAGE
     โ†•
VISUAL EDITOR
remain connected. --- ## ๐Ÿš€ This Is Only the Beginning AI Three Studio is not a finished product. It is a prototype, an experiment, and a practical exploration of an idea I've been thinking about while building 3D experiences for games and websites. There are still technical limitations, edge cases, and many things that need improvement. But that's exactly why I'm sharing it. ## I'd love to learn from other developers. If you have experience with: Three.js, WebGL, browser editors, developer tools, AST/source analysis, visual programming, React, web IDEs, or AI-assisted development I'd genuinely appreciate your feedback, ideas, criticism, or suggestions. Maybe there are better approaches I haven't considered yet. --- ## ๐Ÿš€ Try It Yourself The project is available online and can be tested directly in the browser. ## ๐Ÿ‘‰ Live Demo [https://punitpritam788.github.io/AI-Three-Studio/ ](https://)## ๐Ÿ‘‰ GitHub [https://github.com/punitpritam788/AI-Three-Studio ](https://)A special thanks to @GitHub for providing the platform to host and distribute this project, and to @@ for providing a platform to post it and connect with developers, designers, Three.js creators, and open-source contributors. You can also connect with and follow communities and creators working in these areas, including @threejs, @WebGL, @JavaScript, frontend development, creative coding, and open source. --- ## Final Thought This project started with a simple question: > Can we make editing a Three.js application feel more like editing a 3D scene, without losing the source code underneath? The larger question I'm now exploring is: > Can we eventually do something similar for the web itself? AI Three Studio is my first practical step toward exploring that idea. โšก #ThreeJS #Html #CSS #JavaScript #WebGL #3DDevelopment #WebDevelopment #FrontendDevelopment #CreativeCoding #OpenSource #AI #SoftwareDevelopment #GameDevelopment #InteractiveWeb #3DGraphics #GitHub #TechInnovation #DeveloperTools #VisualProgramming #SourceCode #OpenSourceSoftware #LinkedInTech #AIAssistedDevelopment #WebIDE #ThreeD #WebTools
0:00 / 0:00
Add a comment
0/2000