So... while doing some module debugging, I noticed Ignition trying to access a non-existent folder <install-directory>\data\modules\com.inductiveautomation.perspective\injectables.
After creating the folder manually, Ignition then tried to access:
TL;DR: This has been possible forever. You're certainly allowed to do it (we can't stop you) but I'll present the following caveats as reasons we haven't and won't document this:
You can completely break Perspective, pretty easily, with this
We don't want you to have to know HTML or JS to develop in Perspective
We don't want people doing silly stuff like trying to dynamically modify these
Anything you do use this for should be considered unsupported. If we ever broke this functionality, it would likely be because we offered a supported, first-party solution, so I wouldn't necessarily worry about it dropping out from underneath you, but also, don't even think about contacting support if you do use this and something goes wrong.
While dragging, the position of the box is set using CSS properties for a smooth experience.
While dragging, in the background, the position of the box is stored in tags using the onMouseMoved component event.
All non-dragging sessions use the tag values for the position of the box. (Animation could also be applied to the non-dragging sessions to smooth the movement out).
i guess this is simpler to implement with limited js knowledge, than the mutation observers and js i used.
But my js dnd method is correcter to do than use this css hack. But i guess its not as easy to make it general.
ive not really experimentent with the general html page yet, i kinda forgot about it cuz i was busy at the time you created this. But this made me interested again, tobad im kinda busy again