October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk4 min

Devlog: Building an In-World Layout Tool for a Three.js Library

As Oniria’s Three.js library grew, editing transforms by hand meant repeated reloads and scene walks. Mika Flowers built an in-world marker workflow to survey and save placements.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Placing every object in a growing Three.js library by editing coordinates, reloading the scene, and walking over to inspect the result became a cumbersome loop. Mika Flowers’s answer was to record locations from inside the world: walk to a spot, drop a marker, and use the captured position and rotation to place an asset. The markers were persistent Sanity documents, keeping layout notes in the project’s existing information flow rather than making a separate level editor the source of truth.

Why a 3D library needed a layout tool

Flowers describes the environment as a physical interpretation of the project’s information architecture: rooms represent categories, shelves represent collections, and books represent articles. The setting was intended to help explain why information belonged in particular places. A cyber-city aesthetic might have looked appealing, but it did not communicate those relationships as clearly.

As an Amazon Associate I earn from qualifying purchases.

That design decision turned into a placement problem. As the library grew to include architectural pieces, shelves, tables, chairs, rugs, plants, signs, lighting, room entrances, and collision boundaries, manually positioning each item in code became harder to manage.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Three.js provides the building blocks for 3D content on webpages, and its official site lists documentation, examples, and an editor. Flowers’s account is not a claim that Three.js has no editor; it describes a project-specific choice to author placements within the library’s own world and data relationships. Three.js official site · Three.js manual: Fundamentals

What was wrong with editing coordinates by hand?

In the early workflow, Flowers cloned loaded GLB assets and set their position, scale, and rotation with a Three.js helper. When an object needed to move, the process was to change its coordinates, save, reload, then travel through the scene to see whether the placement worked. The author identifies this repeated edit-and-inspect cycle as the friction that accumulated as the environment expanded.

The problem was not that coordinates are inherently unsuitable for 3D scenes. It was that the desired placement was visible in the world, while the author had to infer its numeric representation outside the world. Flowers put the motivation simply: “I could use the room itself to produce the numbers.”

How the in-world marker workflow works

  1. Go to the intended location. Navigate through the library to where an asset should sit.
  2. Drop a marker. Record the desired location from within the scene rather than estimating coordinates from a code view.
  3. Capture placement data. The marker records position and rotation for later use in asset placement.
  4. Keep a persistent note. Flowers reports storing markers as Sanity documents with persistent IDs, so the notes survive refreshes and can be revisited.
  5. Export the layout data. The post shows an export format named oniria-library-layout-pins-v1.

The example marker fields include a label, room slot, district, x/y/z position, and yaw. Those fields suggest a practical link between a physical place in the scene and the library’s organizational structure; the post does not provide a complete schema or specify how every field is consumed.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Flowers’s principle is: “If I’m standing somewhere in the world and think, "this object should go here," I should be able to record it here.”

Code placement versus surveying the scene

Question Manual code placement In-world markers in Oniria
Where is a placement chosen? By editing numeric transform values in code. By navigating to the intended location in the scene and recording it.
How does the author inspect a change? Save, reload, and travel through the world to check the result, as Flowers describes the earlier workflow. The marker records the surveyed location for use in placement; the post does not document an automatic live preview or round-trip update.
How are layout notes retained? As code edits in the existing workflow. As Sanity documents with persistent IDs, with an export format shown in the post.
Where does layout authoring sit? In code-owned scene placement. Inside Oniria’s project-specific workflow connecting its content organization to Three.js placements.

This is a comparison of the workflows Flowers reports, not a measured performance or accuracy test. The account does not establish that the marker tool is faster, more precise, or better suited to other projects.

What the devlog establishes—and what it leaves open

The article describes a custom authoring workflow, but it does not answer several implementation questions a team might need to resolve before adopting a similar design:

  • Whether marker data is loaded at runtime or baked into a build.
  • How captured transforms are written back to the code-owned scene graph, or whether that happens automatically.
  • Whether exported layout data remains easy to review in version control.
  • Whether markers support grid snapping, collision checks, or bounds validation.

The post also mentions searchable shelves and dynamic slots without explaining their data schema or search behavior. Those features should not be taken as evidence that the marker tool provides a particular search system or placement-validation capability.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When an in-world tool makes sense

A scene-based marker workflow is worth considering when the intended location is easier to identify visually than numerically, and when layout choices need context such as a room, district, or shelf slot. It can keep the act of surveying a position close to the place where that position matters.

Best Value

It is not automatically a replacement for a general-purpose editor. Three.js’s official site lists its editor and learning resources; the choice Flowers describes is narrower: a custom tool designed around Oniria’s relationship between DEV articles, districts, rooms, shelf slots, and Three.js placement. A team considering this pattern should decide separately how exported data is validated, reviewed, and applied to the scene.

Further Three.js learning

For readers who want background on scene setup and transforms, Discover three.js explains how to use its online book, which includes a live editor and covers topics such as transforms, lighting, cameras, and loading models. Three.js Journey lists lessons on transforms, debug UI, model loading, and game creation.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.