You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By default, paused movies re-render every time any change that could alter the pixels in the frame is made. This can be disabled by setting the autoRefresh option to false when creating the movie.
Implementation
I didn't document this feature very much, and its API and implementation are somewhat magical. Every etro object (movie, layer and effect) is really a proxy. Whenever a public property (or a property of a property, recursively) not included in the object's publicExcludes is modified, refresh() is called on the object's movie.
Deprecation Rationale
This issue is part of an overarching effort to simplify and streamline etro's architecture.
This proxy system is too complicated and prone to bugs. Every time a user creates a new layer or effect, they need to remember to add properties that should not trigger rerenders to publicExcludes. If they don't, confusing errors can arise (it's happened to me many times).
Deprecation Repercussions
The user will have to manually call refresh if a paused movie needs to be re-rendered.
Generic change events are called when a proxy's property is updated. When we remove the proxy system, we will no longer be able to emit these. All change-related events should ideally be removed for consistency.
Should this feature be removed? Leave your thoughts below!
The text was updated successfully, but these errors were encountered:
Feature Overview
By default, paused movies re-render every time any change that could alter the pixels in the frame is made. This can be disabled by setting the
autoRefresh
option to false when creating the movie.Implementation
I didn't document this feature very much, and its API and implementation are somewhat magical. Every etro object (movie, layer and effect) is really a proxy. Whenever a public property (or a property of a property, recursively) not included in the object's
publicExcludes
is modified,refresh()
is called on the object's movie.Deprecation Rationale
This issue is part of an overarching effort to simplify and streamline etro's architecture.
This proxy system is too complicated and prone to bugs. Every time a user creates a new layer or effect, they need to remember to add properties that should not trigger rerenders to
publicExcludes
. If they don't, confusing errors can arise (it's happened to me many times).Deprecation Repercussions
The user will have to manually call
refresh
if a paused movie needs to be re-rendered.Generic
change
events are called when a proxy's property is updated. When we remove the proxy system, we will no longer be able to emit these. All change-related events should ideally be removed for consistency.Should this feature be removed? Leave your thoughts below!
The text was updated successfully, but these errors were encountered: