Opened at 2010-09-25T23:24:19Z
Closed at 2010-10-08T00:27:14Z
#661 closed todo (done)
decide where to use the access path
| Reported by: | Ichthyostega | Owned by: | Ichthyostega |
|---|---|---|---|
| Priority: | normal | Milestone: | 0integration |
| Component: | lumieraSteam | Keywords: | design session |
| Sub Tickets: | #430, #663 | Parent Tickets: | #310, #321 |
Description
Because a Sequence can be used within multiple Timelines (and even meta-clips), necessarily the containment hierarchy becomes a DAG. The decision was to introduce a query focus -- allowing us to re-transfrom this into an effective tree.
We need a decision at which point exactly those effective and real paths will digress, and under which circumstances the implementation will actually switch over from using the placement tree (from the PlacementIndex) to using the memoized actual access path.
note: we do not need the fully generic implementation now, we only need to decide on the extension point
Change history (5)
comment:1 by , at 2010-09-26T03:34:27Z
| blocking: | 310 → 310, 321 |
|---|---|
| Status: | new → accepted |
comment:2 by , at 2010-10-01T15:31:12Z
wheeww... after re-reading my code written thus far, I must admit that the situation is quite messed up :-/
Definitively there should be a single location for adding the virtual/effective view we get when we'll implement meta-clips.
comment:3 by , at 2010-10-01T16:16:43Z
| blockedby: | 430 → 430, 663 |
|---|
comment:4 by , at 2010-10-08T00:27:14Z
| Resolution: | → done |
|---|---|
| Status: | accepted → closed |
So the decision is to place the border between Scope and ScopePath. The former can be seen as a "high-level view on a low-level facility" -- just a dressed-up placement. Contrary to that, the ScopePath is assumed to reflect the effective path, taking into account the current context used to access a given location within the model. ScopeLocator exposes both the raw and the effective path (ScopeLocator forms a link between several realms on the implementation level), while QueryFocus only exposes the effective path, together with the discovery functions for scope contents. The guideline for all these decisions was the analogy to the handling of symlinks in the os shell. See http://lumiera.org/wiki/renderengine.html#BindingScopeProblem
comment:5 by , at 2025-12-25T00:00:00Z
| blockedby: | 430, 663 |
|---|---|
| blocking: | 310, 321 |
| Parent Tickets: | → 310, 321 |
| Sub Tickets: | → 430, 663 |
Migration MasterTickets ⟼ Subtickets-plugin

see also the tracking ticket for context dependent paths.
More specifically, #424 drafted a solution for this problem, but meanwhile I think it would be better to keep this functionality as a responsibility of the ScopePath, as opposed to hiding it somewhere in the query functions for placement index.