ThreeDOM: SceneBuilder in liberty and in 3D!

My summer Experiment!

As a first project to learn JavaFX 3D APIs, I’ve chosen to implement this fancy feature, inspired from FireFox.

So, please welcome, ThreeDOM, the 3D viewer of flat 2D user interfaces!

Use 3D when 2D reaches its limits!

ThreeDOM creates a 3D representation of a 2D Node hierarchy, using textured Box nodes. It supports 3D rotation, translation and throws mouse events that can be handled by the host application.

Why 3D?

We can distinguish 2 use cases:

Static visualization

For that, I created a sample using the excellent SceneBuilder Kit, and it helps to:

  • Understand Complex layering
  • Investigate bad performance,
  • Facilitate nodes arrangements,
  • Easily grab “hidden” components to edit them.

Dynamic for application analysis

  • Like ScenicView displays all nodes details, ThreeDOM displays your applications in a 3D space. With this new capability you’re able to analysis the “depth” of your UI, and so optimize it…

What’s next?

I’ll post the code soon, so you will be able to play with it.

For a better integration with SB-Kit, it would require API extensions like graphical model listeners, snapshot capabilities, editing notifications… Or even better: a native integration into SceneBuilder! Hey fabulous SB team, are you there? 🙂

Have a great Summer FX!




  1. #1 by Jonathan Giles on 29/07/2014 - 21:51

    Would this be something that can be integrated into Scenic View? I’m open to adding it in there if you are interested in integrating it.

    • #2 by arnaud nouard on 29/07/2014 - 22:42

      Hi Jonathan,
      First, thank you for your interest.
      Technically speaking yes, it’s feasible, even if there’s still some improvements and stabilization to do. From ScenicView’s perspective, the use case would be to easily grab nodes or analyze “bad” layering, I think it’s worth it…
      I’d would be honored to collaborate on a subset of such a great tool.
      Let me know,

      • #3 by Jonathan Giles on 29/07/2014 - 22:43

        Sure – ping me and we can chat about the feasibility.

      • #4 by Hendrik Ebbers on 30/07/2014 - 12:58

        Yeah 🙂 That would be cool!

  2. #5 by Jonathan Giles on 03/08/2014 - 08:29

    Don’t forget to ping me – I’m keen to get this into Scenic View if at all feasible! 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: