Archive for category 3D

ThreeDOM is dead, long live to ThreeDOM in ScenicView!

In my previous post I presented a new kind of 3D visualization for 2D GUI called ThreeDOM.

The bad news is that I’ll stop working on it 😦  Ooooohhhh…as a standalone jar!

The good news is that it’s now part of the great ScenicView tool !

Announced last JavaOne by Jonathan Giles, ScenicView is now open sourced and so, this is my humble contribution to this project.

Have fun with it, and send me your feedbacks and enhancements requests or directly contribute here: !


ThreeDOM in ScenicView

ThreeDOM in ScenicView




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!