Refining the UI elements in our Graph Type Rendering and UI saga, pushing demos and apps for use cases. This time its FontView01, which may become a micro FontForge using it as its role model. It also demonstrate that our GraphUI scenegraph allows reusing instances, rendering it effectively a Directed Acyclic Graph (DAG).
Reusing Shape instances is especially useful if maintaining its position and scale, i.e. adding another view of the same thing as shown below by the new FontView01. The glyph `ae` is presented within two Groups, the main-grid on the left and the info-grid on the right....
It rocks, it's typically the kind of thing I'll have to do in ardor3d-web-ui to replace ardor3d-ui. Excellent job. Keep up the good work :) It's very promising for the future of UI in JogAmp with NEWT :)
GraphUI: Extract generalized AnimGroup functionality from UISceneDemo03*, providing sets of animated Shapes (GlyphShape or any other)
Hardcoding the whole animation process into user code is not feasible to allow a quick add-on.
GraphUI's new AnimGroup is a Group and allows to add multiple AnimGroup.Set of AnimGroup.ShapeData.
AnimGroup.ShapeData holds the actual Shape and its start- and target position
as well as its active animation state and an optional user object attachment.
AnimGroup.Set holds a list of AnimGroup.ShapeData as well as the animation properties
and states like acceleration and velocity for translation and angular operations.
It also contains the AnimGroup.LerpFunc for linear interpolation of the next position
as called via AnimGroup.tick() over all sets.
AnimGroup.LerpFunc is intended to perform the linear interpolation for the next position,
either user provided or one of the provided may be used, i.e. TargetLerp, ScrollLerp and SineLerp.
To setup the start- and target position for each AnimGroup.ShapeData,
a AnimGroup.ShapeSetup is used - user implementated or one of the build-in
of AnimGroup.addGlyphSetHorizScroll01(..), AnimGroup.assGlyphSetRandom01(..).
UISceneDemo03 consolidated UISceneDemo03 + UISceneDemo03b (deleted)
and shows the following AnimGroup capabilities:
- Two repetitive scrolling text lines. One text shorter than the line-width and one longer.
- One line of animated rectangles, rotating around their z-axis
- A text animation assembling one line of text,
each glyph coming from from a random 3D point moving to its destination all at once including rotation.
And now .. the painful but required call for related project work, funding or otherwise.
All big & medium sized firms – as well other hybrid commercial projects,
are strongly invited to contact me to discuss the next steps forward (if any).
I would suggest to setup meetings with their stakeholders and discuss a plan forward.
^^ this is not directed to any hobby or small-biz entity using the project,
but more so directed at whats left in the ethics department of the bigger corps & orgs :-/
Interestingly enough, it always were the small biz corps supporting this project the most!