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.
We can distinguish 2 use cases:
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…
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!