import interface PresentationMount; import interface WebStudioPresentable; type Assignment = record {subject:interface-ref;presentation:string;presentationMount:optional>;}; type Observed = record {generation:uint32;sequence:uint32;status:string;error:string;}; type DisplayState = record {label:string;generation:uint32;presentation:optional;observed:optional;}; interface WebStudioDisplayTarget id "interface:org.quixos.web-studio.display-target" revision "interface:org.quixos.web-studio.display-target@1" { queryable value nonce id "display:nonce" : string {get id "display:nonce:get" execution snapshot;} queryable value status id "display:state" : DisplayState {get id "display:state:get" execution snapshot;} queryable relation subject id "display:subject" : optional-one interface WebStudioPresentable {resolve id "display:subject:resolve" execution snapshot;} queryable relation presentationMount id "display:presentation-mount" : optional-one interface PresentationMount {resolve id "display:presentation-mount:resolve" execution snapshot;} operation assign id "display:assign" : optional -> uint32 {call id "display:assign:call" execution transaction;} operation acknowledge id "display:acknowledge" : Observed -> bool {call id "display:acknowledge:call" execution transaction;} }