Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion for Programmatic Layer Control in Animation Model #85

Open
NRCgg opened this issue May 20, 2024 Discussed in #84 · 4 comments
Open

Suggestion for Programmatic Layer Control in Animation Model #85

NRCgg opened this issue May 20, 2024 Discussed in #84 · 4 comments
Assignees
Labels
animation Issues related to the SNAP animation plugin enhancement New feature or request idea

Comments

@NRCgg
Copy link
Collaborator

NRCgg commented May 20, 2024

Discussed in #84

Originally posted by rradnev1 May 20, 2024
Dear SNAP development team,

I'd like to suggest adding programmatic layer control to the animation model. This would allow users to change the layer of drawn elements using Python scripting or a similar mechanism.

This enhancement would enable more dynamic and interactive visualizations, such as animations where components automatically appear or disappear based on certain conditions.

Sincerely,
Radko


@rradnev1

@NRCgg NRCgg added enhancement New feature or request animation Issues related to the SNAP animation plugin idea labels May 20, 2024
@NRCgg
Copy link
Collaborator Author

NRCgg commented May 20, 2024

@rradnev1 Posted this as a discussion but I think it relates directly to Issue #82

@WDunsford
Copy link
Collaborator

This is a SNAP core animation enhancement. I propose instead of the suggested enhancement, add an additional data channel to the display beans, with a "hidden" range of values, and a "shown" range of values. Then, when the view is locked, the display bean would use the value of that channel to determine whether or not to paint. This avoids having to either somehow reference a display bean in the python data source script, or spin up a python instance for every display bean in the view.

@NRCgg
Copy link
Collaborator Author

NRCgg commented May 23, 2024

HAHA, @WDunsford comment is good but in plain/common language that us users can understand! Here is my attempt at a Plain English version of your comment -please let me know if I have something wrong!

The improvement requires changing the SNAP core code; this is not merely an "Animation plugin" change.

The display elements/objects in the animation model are actually implementations of "JavaBeans", or "Display beans", or just "beans" in this context. SNAP display elements (beans) have a property called "Channels" that is used organize data used to communicate information to/from the display elements. The developer is proposing that instead of the "layer" approach mentioned in the original suggestion, that a data property "channel" be added that can be used to control whether the display element is visible or not. This "view/hide" data channel property could be used programmatically to control the display elements visibility.

@WDunsford
Copy link
Collaborator

@NRCgg Basically. We're talking in-house about also supporting hiding or showing whole layers, to simplify the process when you have a lot to update. We've had a request for "scenarios" which allow for remembering values (#66) that could also be taken into account.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
animation Issues related to the SNAP animation plugin enhancement New feature or request idea
Projects
None yet
Development

No branches or pull requests

3 participants