Patch Studio help · 0.2 beta.36+

Build visually, keep the source visible.

Current help for project v4 resources, commands, multi-file editing, the source-backed Designer, recovery and Ready/offline builds.

Commands   Ctrl/Cmd + K
Source/Form F12
Run        Ctrl/Cmd + Enter
Build      Ctrl/Cmd + Shift + Enter
Components Ctrl/Cmd + Shift + A

Current contracts

Patch Studio uses project bundle v4, Change IR 0.10 and Native GUI IR 1.9 / payload v19 / runtime v1.10 on the current Ready/offline Windows, macOS and Linux line. Project v1-v3 inputs migrate explicitly. Payload v17/runtime v1.8 remains an explicit Offline Compiler compatibility path.

Projects and resources

Project v4 keeps bounded multi-file Patch source plus explicit image resources. The Resource Manager stores logical ids, project-relative paths, media type, size, SHA-256 and canonical project bytes. Current resource types are PNG, JPEG, WebP and SVG. Picture can name a resource and source-backed fit, center, opacity and description. Forms may declare icon "patch-resource:app.icon".

window "Counter" as counter size 520, 360 icon "patch-resource:app.icon":
  picture as logo from "patch-resource:app.logo" fit contain description "Product logo"
  imagelist as toolbar_images size 16, 16:
    image open from "patch-resource:icons.open"
  button "Open" as open_button image toolbar_images.open

Export, Import and Recovery preserve source and resources together.

Design a Window app

Choose a Window example or set Project Type to Window, then add controls from the searchable Component Palette. The Designer rewrites visible .patch source, while Properties and Events share the Object Inspector. Current layout tools include move/resize, alignment, same size, equal spacing, Bring/Send, Move Forward/Backward, grid snapping and source-backed Anchors/Dock. Source edits and atomic Designer source rewrites participate in Studio Undo/Redo. Multi-Form projects keep all Forms structurally available while rendering only the active Form at full cost, backed by the 10-Form / 200-control stress benchmark.

Designer scrollbars remain visible on scrollable editor, canvas and result surfaces so large Forms and source files do not look clipped.

Tabs and structural Properties

Tabs pages can contain Text, Button, Input, Checkbox, Radio, ComboBox, ListBox, Slider, Table and TreeView directly on that page. Table and TreeView keep their complete source-backed structure when moved, duplicated or edited.

Click Edit beside a nested Table to edit rows and columns. Click Edit beside a nested TreeView to edit hierarchy, labels, node order and optional ImageList image, hint and bounded state tone. TreeView state tones are muted, info, success, warning and danger; they are presentation only and do not change selection or Patch state.

Runtime event values

Table exposes the selected row as transient list-valued value, represented as a transient text-list of display strings. TreeView exposes the selected root-to-node path as a transient text-list. Toolkit selection itself does not mutate persistent Patch state; source must execute an explicit change to persist it.

Nonvisual components

Timer and ImageList live in the nonvisual tray and never expose Form geometry or Anchors/Dock. Timer exposes Interval and OnTick. ImageList exposes logical size plus ordered project-resource entries and has no event in Stage 1.

Graphics capability boundary

Picture supports project-resource authoring, Web rendering and current bounded native PNG/JPEG decoding under native-picture-formats/1.0. Native WebP/SVG remain deferred. Shape and PaintBox draw on Studio, Standalone Web and current native Ready/offline Windows, macOS and Linux. PaintBox supports clear/line/rectangle/ellipse/text plus bounded PNG/JPEG draw image. Buttons bind ImageList items with image list.item on Web and Current Ready native Windows/macOS/Linux through the preserved IR 1.8 / payload v18 layer. Window icons package as Studio/Web chrome and favicon under window-icon/1.0 and as native application/Form icons through Current Ready IR 1.9 / payload v19 / runtime v1.10.

PaintBox paint handlers are pure drawing handlers; persistent change operations are rejected inside them. The native PaintBox expression subset accepts bounded literals, count inside repeat, and simple number/text/boolean state names; invalid or unsupported state references fail closed.

Workshop Desk showcase

Workshop Desk is the running Current Ready acceptance app. Its seven Forms take a ticket from quote to ready, then open settings, job details, inventory, a customer profile, diagnostics and a native component gallery. It combines Forms, Text, Button, Input, Checkbox, Radio, ComboBox, ListBox, Slider, Table, TreeView, Tabs, Picture, Panel, Shape, PaintBox including draw image, StatusBar and Timer. Patch Studio Showcase is the separate running Project-v4 review desk for Things, recipes and the Studio/Web-only surface. Dedicated Button/ImageList and Window-icon fixtures separately verify the project-resource and platform-packaging paths.

Navigation and keyboard editing

Ctrl/Cmd+K opens commands and source symbols. F12 toggles between Source and Designer. From a selected Designer control, View Source reuses the Object Inspector Source action and jumps through the canonical source-backed selection path; from Source, F12 opens the Designer and restores Designer focus when possible. F12 is suppressed while a modal Studio dialog is open. Double-click a named Designer control to open or create its default event handler. In the Object Inspector Events view, double-click the event row to invoke the same existing Open/Create handler action. The editor tabs and Project Tree operate on the same v4 project. The editor tabs show live Parsed status and caret position from the current source only; this remains transient IDE state.

Structural editors use roving selection. Ctrl/Cmd + Arrow Up/Down reorders the selected item where supported. TreeView additionally uses Ctrl/Cmd + Arrow Left/Right for outdent/indent. Ctrl/Cmd+Enter commits supported inline edits. Escape closes the editor and restores focus without creating application state.

Builds

The normal Ready/offline Windows, macOS and Linux path requires no personal GitHub token. Runtime v1.10 templates are SHA-256 checked before sealing payload v19. Current native IR 1.9 preserves Table, ListBox, Menu, TreeView, Slider, Chrome Stage 1, Shape and PaintBox behavior while adding Button/ImageList and application/Form icon support. Explicit payload v17 links continue to use the separate runtime-v1.8 compatibility underlay. FreeBSD remains Console-only via portable C99.

Accessibility boundary

Keyboard/ARIA behavior is covered by automated tests, but manual Narrator, VoiceOver and Orca testing remains a separate validation gate. Patch does not claim WCAG conformance from automation alone.