Glyphfield Studio
Use the supported window.glyphfield.studio adapter instead of private component state or coordinate-only automation.
Connect
- Open the authorized Glyphfield origin at
/studio. - Wait for
window.glyphfield.studioor theglyphfield:studio-api-readyevent. - Call
describe()andcontrols()before using tool-specific actions or labels. The descriptor includes capability metadata and per-action input/output contracts. - Re-read the global after changing tools; every tool installs its own adapter.
Read references/browser-api.md for exact control, source, file, and action recipes.
Choose the operation
- Use
activate(label)for buttons and other activatable controls. - Use
set(label, value)for text, numeric, select, checkbox, contenteditable, and file controls. - Use
readSource()andapplySource()for exact document changes whendescribe().sourcepermits them. - Use
invoke(action, input)for exports, sequences, and other stable long-running actions. - Use
download(artifact)only after verifying a returned artifact.
Accessible labels are the automation contract. Operations are scoped to the active workspace, so a duplicate label in another retained project cannot receive the action. Do not invent labels, and do not assume a label from another tool exists in the active adapter.
Source protocol
Read the current source, preserve unknown fields and stable IDs, make the smallest intended change, apply through the validator, then re-read. A resolved apply is a React commit boundary; wait longer when WebGL, fonts, image decode, or encoding still has work.
Design Lab's public ID is material. Never expect the legacy internal draft scope logo-shader from integrations.
All navigable tools except Brand book keep their source adapter registered even when the Code drawer is closed. Brand book is derived from Brand identity and truthfully reports no source boundary.
Local data and privacy
Browser file controls require a real File or File[], never a filesystem path string. Construct files only from bytes the user authorized. Do not write localStorage, IndexedDB, React internals, or object URLs directly to automate the product.
Before clearing data or changing origin/profile, follow /docs/artifacts/backup-and-restore. For graphics, storage, codec, or adapter failures, preserve source and use /docs/reference/browser-support plus /docs/reference/troubleshooting before retrying.
Completion
After mutation, verify source or control state and inspect the visible result. After export, verify the Blob, filename, MIME type, dimensions, and—for motion—multiple frames. Do not treat an action resolving as proof that the requested artifact is correct.