[L2Ork-dev] Patch private abstractions

Jonathan Wilkes jon.w.wilkes at gmail.com
Mon Aug 17 00:21:52 EDT 2020


On Sun, Aug 16, 2020 at 11:56 PM Matt Barber <brbrofsvl at gmail.com> wrote:
>
> Can you remind me how we're using "toplevel" and "root" here?

Let me paste back what I wrote inline to make sure the definitions I'm
thinking of match up. :)

1. [ab <name>] is global up to the toplevel.

Toplevel-- canvas where the gl_owner field is NULL. I thought we had
talked about the names being global
within each toplevel, but not shared across the running Purr instance.

2. [ab $0-<name>] is local to our root canvas, excluding child [ab]
objects which of course won't know our $0

root canvas-- canvas returned by canvas_getrootfor. E.g., either a
toplevel patch or the main canvas of an abstraction

3. We currently have no way to declare "local to root including child
[ab] objects"

Like the way preset_hub/preset_node works. E.g., if I'm in a deeply
nested abstraction and I want
to do some state-saving, I can put a [preset_hub
look_mom_no_nameclashes] on the abstraction canvas and
have [preset_node] by the same name in all child
subpatches/abstractions. The canvas of [preset_hub] defines
the scope to be local to root and children, so I am guaranteed there
won't be a nameclash with any preset_hub above me.

-Jonathan


More information about the L2Ork-dev mailing list