Skip to content

TODO list

Stefania Pedrazzi edited this page Mar 30, 2020 · 19 revisions

Milestones

Unofficial and PRIVATE milestones.

Milestone #CORE

Any Tinkerbots model from their user guide can be created using the NRP robot designer. Expected to the 4th of February.

  • Simple layout based on CSS grid and flex, directly inspired from mecabricks.com
    • View3D
    • Part browser
      • Filter
    • Part viewer
  • Drag and drop mechanism to add robot parts
    • Slot Anchors display
    • Snap
    • Ghost
  • Model-View-Controller design
  • Interactions
    • Undo/Redo - Commands stack
    • Selection
    • Delete
    • Move => Handle
    • Rotate => Gizmo
    • Basic move constraints
    • Save (show the model)
  • Import Tinkerbots assets
  • X3D importer - Minimal X3D support
    • Shape
    • IndexedFaceSet & creaseAngle
    • Sphere
    • Appearance - Material - Texture
    • PBRAppearance - Textures
    • Transform

Milestone #WEBOTS_EXPORTER

  • Webots exporter

Milestone #WEBOTS_JS

  • Replace X3Dom by THREEjs + x3d.js
  • X3D importer - Complete X3D support
    • Other Geometric Primitives: Box, ...
    • Lights
    • Fog
    • Background (including textures)
  • SSAO
  • Stencil Shadows Textured Shadows
  • Bloom

Milestone #USABILITY

Now that all the functionality is working, improve the interface to make it more user-friendly (for example adding shortcuts, copy/paste, showing assets names, etc.).

Milestone #CONSTRAINTS

To go further, better slots parameters to define constraints should be added/designed.

  1. Avoid to add a robot part in an obstructed area

    THREEjs AABBs or a JS collision library could be used to reject robot part insertions in obstructed areas, before to be added to the model.

  2. Slots Parameters and Constraints

    Some work has been done on the slots parameters, but it's currently only on the robot designer part. It would be good to back port this to Webots.

  3. Multiple slots

    On an axle, one can add at much slots as wanted. This is currently not supported in Webots or NRP robot designer.

  4. Revertible slots

    The Webots Slots are currently defined as a tree having a root slot type and a set of transformed and typed open slots. This is sometimes not sufficient enough to guarantee the building of some model. Typically, for the CubieMaleCube, its root slot type could be "male OR female lego cross slot".

Milestone #MROBOT

Milestone #NRP_INTEGRATION

  • Gazebo exporter
  • Build pass
  • CSS for NRP based on NRP requirements (cf. mockup)
  • Simplify in prevision of the integration with the NRP toolbar
  • Simple Gazebo models of the assets

Other features / ideas

To be planned...

  • Deploy to robotbenchmark (?)
    • Update CSS
  • If possible, automatize the assets importation (slots, etc.)
  • Other assets MBot, etc.
  • Part search