interface TreeData id "tree:data" revision "tree:data@1" { operation reparent id "tree:reparent" : optional> -> unit { call id "tree:reparent:call" execution transaction targets [browser, server]; } queryable relation parent id "tree:parent" : optional-one interface TreeData { resolve id "tree:parent:resolve" execution snapshot targets [browser, server]; } queryable relation children id "tree:children" : many interface TreeData { resolve id "tree:children:resolve" execution snapshot targets [browser, server]; } }