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
Slides need the capability to decide if they will decline to process further steps. A babel init block should be able to decide to reject an entire slide and the slide should never even be visible.
This abort check would propagate up through parents. Slide actions and the deck can just move on to their next children. For actions with multiple or inline children, the result would be similar to if they filtered the slide.
In the same dynamically scoped filthy way we do other slide communication, a state will be checked. Calling dslide-abort within a babel slide should be enough.
So what state should be found? Slide objects don't always exists. Markers to headings on the other hand are robust enough to use this way.
In a single step, multiple rejections could occur. Each call to dslide-abort would push an element of a list. Parents would check this list and decide if they handle it or not, like error propagation.
Like any exception system, we need types. The format for abort could be something like (EPOM TYPE REASON) and any action or the deck can interpret and recover how it wants. EPOM is element, point, or marker. TYPE is a symbol or list of symbols for upstream callers to decide reactions on. REASON is for warning / erroring informatively.
There is no way to discover if a slide will abort without instantiating it, so the only way to do such a check for the contents screen is to make the abort decision in the init blocks of a presentation, if these are supported.
Aborting any child from any parent should be possible. The abort stack would be pushed when going into children and popped when coming back to parents. This fits the original design goal of stateful sequences. The parent state always lives longer than the child. The deck is the highest parent.
The text was updated successfully, but these errors were encountered:
Slides need the capability to decide if they will decline to process further steps. A babel init block should be able to decide to reject an entire slide and the slide should never even be visible.
This abort check would propagate up through parents. Slide actions and the deck can just move on to their next children. For actions with multiple or inline children, the result would be similar to if they filtered the slide.
In the same dynamically scoped filthy way we do other slide communication, a state will be checked. Calling
dslide-abort
within a babel slide should be enough.So what state should be found? Slide objects don't always exists. Markers to headings on the other hand are robust enough to use this way.
In a single step, multiple rejections could occur. Each call to
dslide-abort
would push an element of a list. Parents would check this list and decide if they handle it or not, like error propagation.Like any exception system, we need types. The format for abort could be something like
(EPOM TYPE REASON)
and any action or the deck can interpret and recover how it wants.EPOM
is element, point, or marker.TYPE
is a symbol or list of symbols for upstream callers to decide reactions on.REASON
is for warning / erroring informatively.There is no way to discover if a slide will abort without instantiating it, so the only way to do such a check for the contents screen is to make the abort decision in the init blocks of a presentation, if these are supported.
Aborting any child from any parent should be possible. The abort stack would be pushed when going into children and popped when coming back to parents. This fits the original design goal of stateful sequences. The parent state always lives longer than the child. The deck is the highest parent.
The text was updated successfully, but these errors were encountered: