import interface PresentationMount; import interface PresentationState; import interface ReadingDocument; import interface ReadingJob; import interface ReadingReader; import interface ReadingFeature; interface ReadingNavigation id "interface:reading:navigation" revision "interface:reading:navigation@1" requires PresentationState { queryable relation document id "reading:navigation:document" : optional-one interface ReadingDocument {resolve id "reading:navigation:document:resolve" execution snapshot;} operation open id "reading:navigation:open" : optional> -> unit {call id "reading:navigation:open:call" execution transaction;} queryable value reading id "reading:navigation:reading" : record {displayMode:string;position:uint32;} {get id "reading:navigation:reading:get" execution snapshot;set id "reading:navigation:reading:set" execution transaction;} queryable field annotationTarget id "reading:navigation:annotation-target" : optional {get id "reading:navigation:annotation-target:get" execution snapshot;set id "reading:navigation:annotation-target:set" execution transaction;} queryable value viewports id "reading:navigation:viewports" : list {get id "reading:navigation:viewports:get" execution snapshot;} operation reportViewport id "reading:navigation:report-viewport" : record {client:string;width:uint32;height:uint32;} -> unit {call id "reading:navigation:report-viewport:call" execution transaction;} queryable value cursor id "reading:navigation:cursor" : record {anchor:uint32;focus:uint32;size:uint32;} {get id "reading:navigation:cursor:get" execution snapshot;set id "reading:navigation:cursor:set" execution transaction;} queryable value draft id "reading:navigation:draft" : record {title:string;text:string;custom:string;} {get id "reading:navigation:draft:get" execution snapshot;edit id "reading:navigation:draft:edit" execution transaction;} queryable value ui id "reading:navigation:ui" : record {page:string;panel:string;section:string;sourceTab:string;} {get id "reading:navigation:ui:get" execution snapshot;set id "reading:navigation:ui:set" execution transaction;} queryable relation settingsReader id "reading:navigation:settings-reader" : optional-one interface ReadingReader {resolve id "reading:navigation:settings-reader:resolve" execution snapshot;connect id "reading:navigation:settings-reader:connect" execution transaction;disconnect id "reading:navigation:settings-reader:disconnect" execution transaction;} queryable relation settingsFeature id "reading:navigation:settings-feature" : optional-one interface ReadingFeature {resolve id "reading:navigation:settings-feature:resolve" execution snapshot;connect id "reading:navigation:settings-feature:connect" execution transaction;disconnect id "reading:navigation:settings-feature:disconnect" execution transaction;} operation selectSettings id "reading:navigation:select-settings" : record {reader:optional>;feature:optional>;section:string;open:bool;document:optional>;} -> unit {call id "reading:navigation:select-settings:call" execution transaction;} queryable value builder id "reading:navigation:builder" : record {style:string;reveal:string;color:string;options:string;} {get id "reading:navigation:builder:get" execution snapshot;set id "reading:navigation:builder:set" execution transaction;} queryable value prompts id "reading:navigation:prompts" : record {name:string;change:string;followup:string;generate:string;} {get id "reading:navigation:prompts:get" execution snapshot;edit id "reading:navigation:prompts:edit" execution transaction;} }