multipleWindow3dScene README

The project's README from github.com/bgstaal/multipleWindow3dScene. As one markdown file: README.md.

Multiple Window 3D Scene using Three.js

Introduction

This project demonstrates a unique approach to creating and managing a 3D scene across multiple browser windows using Three.js and localStorage. It's designed for developers interested in advanced web graphics and window management techniques.

Features

Installation

Clone the repository and open index.html in your browser to start exploring the 3D scene.

git clone https://github.com/bgstaal/multipleWindow3dScene

Usage

The main application logic is contained within main.js and WindowManager.js. The 3D scene is rendered in index.html, which serves as the entry point of the application.

Structure and Components

Detailed Functionality

Contributing

Contributions to enhance or expand the project are welcome. Feel free to fork the repository, make changes, and submit pull requests.

License

This project is open-sourced under the MIT License.

Acknowledgments

Contact

For more information and updates, follow @nonfigurativ on Twitter.

multipleWindow3dScene (bgstaal/multipleWindow3dScene)

Searching Database…

What is this?A small demo showing how to keep a single 3D scene visually continuous across multiple separate browser windows, using Three.js for rendering and localStorage to sync window positions and state.
Is this a library or just a demo page?It is a plain static demo made of a few JS files, not a packaged library or framework — there's no build step or npm package, just HTML and scripts.
How do I run it?Clone the repo and open index.html directly in your browser, then open it again in new windows to see the shared scene sync.
Do I need Node, npm, or a build tool first?No. It bundles a minified Three.js (three.r124.min.js) directly, so there's nothing to install or build.
How does window sync actually work, and are there any catches?Synchronization relies purely on localStorage events between windows of the same browser/origin, managed by WindowManager.js — it won't sync across different browsers or devices, and opening the file directly (file://) can run into localStorage/CORS quirks depending on the browser.
Which files should I actually look at to understand the logic?main.js initializes the Three.js scene and handles window/resize events, while WindowManager.js owns the cross-window lifecycle and localStorage-based state sync — index.html just wires them together.
What version of Three.js does it use?It ships a bundled minified build, three.r124.min.js, rather than pulling the library from a CDN or package manager.
Can I move or resize the browser windows and still see the shared scene?Yes — that's the core feature: WindowManager.js tracks each window's position/state via localStorage so the 3D scene reacts consistently as you move or resize windows.
Creator
bgstaal
Size
0.2 MB
Stars
18.9K
Updated
CommitNov 27
Age
2y
Commits · 90 Days