dimensionalOS / dimensionalOS/dimos

Simulation Editing

Open
#1,691 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

simulation
Dominant language
Python
Stars
4.5k
Forks
808
Avg merge
3d 5h
Merged PRs (30d)
233

Description

original issue provided
https://github.com/dimensionalOS/dimos/issues/1120

Model importing

We'd like access to standard threejs model loading primitives

https://threejs.org/manual/#en/loading-3d-models

import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
const loader = new GLTFLoader();

loader.load( 'path/to/model.glb', function ( gltf ) {
  scene.add( gltf.scene );
})

Standard threejs API

as well as all the standard threejs API

Primitives
Scenegraph
Materials
Textures
Lights
Cameras
Shadows
Fog

etc, I'm assuming you won't need to write extra code for this, threejs api is already available.

Optional physics for models

If loading a global map, we'll want to enable colisions so that robot doesn't fall through the map.
for random visual elements (skybox) we won't need physics, but I can imagine adding a ball, or a car model (obstacle) which we do want colisions on

Movable characters

We are testing stuff like person follow etc, I assume giving us threejs API access we can easily animate a character in the world, just making sure to mention here

Robot definition API

we should be able to code simple control interface and a simple robot (drone, holonomic, plane, car) etc

System Validation

To validate the delivery, we'd like to see these examples to validate how easy the API is to use. all of below should be reasonably performant as well

ThreeJS API exposed

Deploy a robot sim in a random threejs example environment:

https://threejs.org/examples/#webgl_lights_physical
https://threejs.org/examples/#webgl_loader_ifc
https://threejs.org/examples/#webgpu_performance

Third party map load

load something like
https://sketchfab.com/3d-models/tdm-map-3-fps-game-environment-low-poly-4c645286d8554eb0b8cf2bee6642d710
https://sketchfab.com/3d-models/lowpoly-fps-tdm-game-map-by-resoforge-d41a19f699ea421a9aa32b407cb7537b
https://sketchfab.com/3d-models/lowpoly-stylized-classroom-35762c5a787e40c8b1daae410c1429de

Deploy the robot within this world.

for drone for example
https://sketchfab.com/3d-models/hq-birmingham-3d-city-model-6f9d610206c245478b07f32b4451cf09

New elements

Add a car model to the world with collisions enabled

Some reasonable editing flow (like threejs has)

change the position of an object, reload, check, add a light, reload etc

New embodiment

Code a drone (vs holonomic what we have now), deploy within a world above


Synced from DIM-762 by summer

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the GLTFLoader example and the linked Three.js examples for the required model-loading, rendering, and editing scenarios. Define the API and validation flow for loading maps and models, enabling collisions selectively, and deploying a drone or other robot; completion requires demonstrating all listed example environments and editing cases with reasonable performance.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, three.js
Domain
computer-graphics, robotics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.