import interface WebStudioCanvasPlacement; external atom WebStudioCanvas id "atom:org.quixos.web-studio:canvas"; external atom WebStudioCanvasPlacement id "atom:org.quixos.web-studio:canvas-placement"; external interface WebStudioCanvasInterface revision "interface:org.quixos.web-studio.canvas@1"; external interface WebStudioPlaceable revision "interface:org.quixos.web-studio.placeable@1"; package WebStudioCanvasRuntime id "package:org.quixos.web-studio:canvas-runtime" revision "package:org.quixos.web-studio:canvas-runtime@1" { constructor createCanvas id "export:org.quixos.web-studio.canvas-runtime:create-canvas" constructs WebStudioCanvas : unit; constructor createPlacement id "export:org.quixos.web-studio.canvas-runtime:create-placement" constructs WebStudioCanvasPlacement : record { canvas_id: interface-ref; subject_id: interface-ref; x: double; y: double; width: double; height: double; z: int32; } requires { interface placement id "port:web-studio-placement-constructor:placement" : WebStudioCanvasPlacement; }; }