Align project paths with timeline model
This commit is contained in:
parent
9778b9023b
commit
7738c4e1c8
6 changed files with 56 additions and 55 deletions
|
|
@ -19,13 +19,9 @@
|
|||
clip/<cid>/timeline/<tid>/channel/<nid>/<prop>
|
||||
clip/<cid>/timeline/<tid>/measured/<nid> the channels a re-freeze owns
|
||||
|
||||
WHY NODES SIT UNDER A TIMELINE. They did not until the clip and the timeline came
|
||||
apart, and the flat `clip/<cid>/node/<nid>` was the persistence half of the same
|
||||
conflation: it could only ever address the nodes of the one bag a clip had. A
|
||||
library symbol is a timeline, an instance references one, and both need their
|
||||
nodes addressed — so the timeline id is a segment, the root is `main`, and a
|
||||
symbol's nodes are reachable by the same path shape as the clip's own. Adding it
|
||||
later would have meant rewriting every stored path.
|
||||
WHY NODES SIT UNDER A TIMELINE. A clip holds a library of timelines. Its root
|
||||
and each symbol have their own nodes, so the timeline id is a path segment.
|
||||
The root is `main`, and a symbol's nodes use the same path shape.
|
||||
|
||||
`:frames` MOVED OFF `timing` onto the timeline. A timeline is a frame space and a
|
||||
clip is a rate, so `timing` holds `:fps` alone. Both used to be in one leaf, which
|
||||
|
|
|
|||
|
|
@ -53,7 +53,8 @@
|
|||
round-trip a clip through `JSON.parse(JSON.stringify(...))` and be running the
|
||||
same conversion the network runs, rather than a CLJS-shaped rehearsal of it. The
|
||||
one thing a keywordising `js->clj` would quietly break is the leaf paths —
|
||||
`:clip/c1/node/mouth` is a keyword whose `name` is \"c1/node/mouth\", so the
|
||||
`:clip/c1/timeline/main/node/mouth` is a keyword whose `name` is
|
||||
\"c1/timeline/main/node/mouth\", so the
|
||||
\"clip/\" would be lost on the way back in.
|
||||
|
||||
Refuses a document `domain/leaf` calls unaddressable, which is where a hand-made
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
Everything here returns a promise of a PARSED JS VALUE, not of CLJS data, and
|
||||
that is deliberate: a leaf is transit, and `domain/project` reads it straight out
|
||||
of the response object. A keywordising `js->clj` on the way past would turn the
|
||||
leaf path \"clip/c1/node/mouth\" into a keyword whose name is \"c1/node/mouth\",
|
||||
leaf path \"clip/c1/timeline/main/node/mouth\" into a keyword whose name is
|
||||
\"c1/timeline/main/node/mouth\",
|
||||
losing the prefix — a corruption that only shows up on the way back in.
|
||||
|
||||
CSRF IS NOT EXEMPTED. The page renders `{% csrf_token %}`, so Django sets its
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue