PaperScape Quick Reference
Cheat sheet for everyday scene authors working inside the PaperScape canvas.
Launch & Layout
- Open
/OpenForum/AddOn/PaperScape; the canvas fills the viewport and the off-canvas menu toggles with the hamburger icon.
- Use the mouse wheel (or pinch) to zoom; drag the backdrop to pan while no items are selected.
- Toggle full screen via Actions → Full Screen for maximum space.
Working with Items
- Drag files onto the canvas:
.giraffe.js components, .giraffe.json scenes, or images (JPG/PNG/SVG/WEBP).
- Each drop appears under Items in the side menu so you can reopen its edit window.
- Select an item and press Delete (or use the edit modal) to remove it.
- Need precision? Enable select-box via developer tools, or add snap-to-grid through custom scripts.
Saving & Loading
- Use Actions → Save to persist the current scene into
paperScape.json.
- Use Actions → Load to reload the saved scene. Note: loading currently adds to existing items; clear the canvas first.
- Saved images are embedded as data URLs; large assets will increase load/save time.
Editing Items
- Many components expose a modal configuration form. Click their entry in the side menu to reopen it.
- Use the Remove button inside the modal to delete the item and close the dialog.
- Measure tool: adjust the end points, open its modal to rename, change units, and recalibrate distance.
- Whiteboard: click a coloured circle to change pen width/color; draw by dragging on the board.
Developer Utilities
- Open Developer Console for the dual editors.
- Run executes the JavaScript editor content inside the live PaperScape instance.
- The JSON editor is handy for crafting
.giraffe.json snippets and sending them over IntraQ.
Queue Automation
- PaperScape now listens on the
PaperScape IntraQ queue—the same tab-to-tab bus used elsewhere in OpenForum.
- Load
/OpenForum/AddOn/PaperScape/paperscape-queue.js and run var psq = new PaperScapeQueue(); to start broadcasting.
psq.sendUrl("/OpenForum/AddOn/PaperScape/Apps/object-model-view.giraffe.js") queues a drop exactly like dragging the file onto the canvas.
psq.sendFile(fileInput.files0, {pointer:{x:300,y:200}}) converts any supported file into a data URL and spawns it near the chosen coordinates (defaults to the canvas centre).
psq.sendCode(editor.getValue(), {name:"Workflow Builder", replace:true}) hot-swaps custom apps—ideal for iterative development.
- Queued loads append just like manual drops; clear the canvas first when you intend to fully replace a scene.
Object Model Toolkit
- Drop
/HomeLab/ObjectModelView/object-model-view.giraffe.js to embed the editable object model canvas.
- Drag
.omv.json files/URLs onto the canvas to import or replace the current model—PaperScape prompts you before applying changes.
- Top-left controls include Save Model (server path), Open Model (file picker with import/replace), Download (save JSON to desktop), and New Model (blank scene with suggested file name).
- PaperScape reminds you if a file name does not end with
.omv.json so downloads and drops keep working everywhere.
- Use the + New Entity control button (top-left overlay) to spawn a new class box; it drops near the viewport centre.
- Hover an entity title to reveal the ✎ icon—click it to rename the entity or manage fields and methods. Identifiers must be unique.
- Hover the bottom-right ⇄ icon to add relationships: choose a target entity and type (association, inheritance, composition); existing links can be removed from the same dialog.
Tips
- Keep a backup of
paperScape.json before experimenting; there is no version history yet.
- Only load trusted
.giraffe.js files—drops execute code instantly.
- If the Items menu stops updating, refresh the page; duplicated load actions can confuse the registry.