# Roadmap

🟩 TODO\
✅ Done (in any shippable stage)\
👷‍♂️ In Progress

* User Interface
  * 🟩 Allow for custom splitting of the window view (aka [Blender's Areas](https://docs.blender.org/manual/en/latest/interface/window_system/areas.html))
  * 🟩 Customizable Overlay Widgets
  * 🟩 Workspaces (loadable to whole window or to a single Area)
  * 🟩 Drag and Drop (in various views)
  * 🟩 Undo / History browsing
  * Alternative Controls
    * 🟩 Keyboard only
    * 🟩 Gamepad only
    * 🟩 MIDI Controller only
  * Schematic View
    * ✅ Grid Snapping
    * 🟩Free shape drawing (eg. Floorplans)
  * Block browser
    * ✅ Category support
    * 🟩 Context aware (offers relevant blocks first)
    * 🟩 Recents
    * ✅ Favorites
    * 🟩 Presets
    * 🟩 Icons (with integrated editor)
  * Stack Editor
    * ✅ Layers
    * 🟩 Graphical Color Picker
    * 🟩 Group Editing (Edit multiple fixture behaviors at once)
  * Controller Editor
    * 🟩 Merge with Schematic View
* Inputs
  * 🟩 Native HTC Vive Tracking (currently only through vvvv beta)
  * 🟩 Serial Firmata (Arduino)
  * 👷‍♂️ Audio Analysis (needs porting from vvvv beta)
* Outputs
  * IoT Devices (Smartbulbs)
    * 🟩 Philips Hue (Missing test hardware)
    * 👷‍♂️ IKEA TRÅDFRI
    * 👷‍♂️ LIFX
    * 🟩 ConBee II
  * DMX/ArtNet
    * 🟩 Custom fixture personalities
    * 🟩 [GDTF ](https://www.gdtf-share.com/)Personality support
  * LEDs
    * [OctoWS2811 VideoDisplay](https://www.pjrc.com/teensy/td_libs_OctoWS2811.html#videodisplay)
  * Audio
    * 👷‍ VL.Audio wrapper ([WIP video](https://www.youtube.com/watch?v=oa2qOsAr1t4\&t=82s))
    * 🟩 [SuperCollider ](https://supercollider.github.io/)Integration
  * Visual
    * 👷‍♂️ Shapes (2D Renderer)
    * 🟩 3D Rendering (depends on VL.Stride)
    * 🟩 Texture/Shader processing (depends on VL.Stride)
    * 🟩 [Hydra](https://hydra-editor.glitch.me/) integration
  * Lasers (ILDA)
    * 🟩EtherDream
  * Microcontrollers
    * 🟩 Serial Firmata (Arduino)
* Collaboration
  * 🟩 Networked Layouts
  * ✅ Attribute Sharing (currently implemented via OSC)
  * 🟩 Block Stack Warehouse (a way to quickly share and re-use others' Block Stacks)
  * 🟩 Real-time Online Collaboration
* Workflow
  * Automatic Fixture Placement
    * 👷‍♂️ From CSV (eg. AutoCAD exports)
    * 🟩 From Camera feed
    * 👷‍♂️ Plugin Support
  * Control
    * 🟩Remote Web Interface
* Interoperability
  * 🟩 [ScenicScript](/future-concepts/scenicscript.md) as file format
  * 🟩 Runtimes for more platforms
    * 🟩 Arduino (C/MicroPython)
    * 🟩 Linux (C/VL when ready)
    * 🟩 Web platforms (JavaScript)
* Performance
  * 🟩 Multithreading
  * 🟩 Lazy evaluation
  * 🟩 Reactive

Are you confused or have suggestions? [Join the Chat!](https://discord.gg/RmnnhV)

Want less 🟩🟩🟩 and more ✅✅✅? [Become a Patron!](https://www.patreon.com/bePatron?u=20250290) Or contribute!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.scenic.tools/development/roadmap.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
