From 26e9283f6b7c660c0f76a3b82143a226cde70702 Mon Sep 17 00:00:00 2001 From: Vance Ingalls Date: Tue, 30 Jun 2026 14:45:54 -0700 Subject: [PATCH] docs(sdk): comprehensive SDK reference + guides (#1817) * docs(sdk): comprehensive SDK reference + guides Adds a dedicated SDK tab to the Mintlify docs documenting the entire @hyperframes/sdk surface, verified against source: Reference (6 pages): - openComposition + OpenCompositionOptions - Composition (every typed method, query, selection, dispatch/batch/can, events, serialize, override mode, lifecycle) - Edit Operations (all 33 EditOp variants for dispatch/can/batch) - Types (every exported type + constants) - Adapters (PersistAdapter/PreviewAdapter + memory/fs/headless/iframe factories) - Utilities & Constants (history, persist-queue, document utils, origins, errors) Guides (7) + Overview + Quickstart: - querying-and-editing, timing-and-animation, undo-redo-and-patches, persistence, embedded-override-mode, canvas-integration, editing-affordances The existing packages/sdk.mdx stays as the package card and now links the new SDK tab. editing-affordances documents the @hyperframes/sdk/editing subpath shipping in #1814 (flagged with a version Note). Co-Authored-By: Claude Opus 4.8 (1M context) * docs(sdk): address PR review feedback Correctness fixes from PR #1817 review (Miga + Rames): - types.mdx: FindQuery.text is a substring match (String.includes), not exact - persistence.mdx: import PersistAdapter/PersistVersionEntry/PersistErrorEvent from @hyperframes/sdk (no @hyperframes/sdk/adapters/types export exists) - open-composition.mdx: createHeadlessAdapter is a PreviewAdapter, not a persist adapter; PersistAdapter is exported from @hyperframes/sdk (no /adapters subpath) - types.mdx / adapters.mdx: note KeyframeSpec, ElementAtPointResult, DraftProps are structural shapes, not barrel exports (no import to copy) - overview.mdx: drop leaked authoring meta-comment - timing-and-animation.mdx: getElementTimings is keyed by scopedId - embedded-override-mode.mdx: history is already off by default in embedded mode - editing-affordances.mdx: /editing subpath is merged; soften the version note - querying-and-editing.mdx: bare id only resolves top-level; use find() for sub-composition leaves - canvas-integration.mdx + persistence.mdx: explain the comp closure forward-ref and the fs-adapter subpath (tree-shaking) asymmetry Co-Authored-By: Claude Opus 4.8 (1M context) --------- Co-authored-by: Claude Opus 4.8 (1M context) --- docs/docs.json | 35 ++ docs/packages/sdk.mdx | 4 + docs/sdk/guides/canvas-integration.mdx | 185 ++++++ docs/sdk/guides/editing-affordances.mdx | 185 ++++++ docs/sdk/guides/embedded-override-mode.mdx | 196 ++++++ docs/sdk/guides/persistence.mdx | 218 +++++++ docs/sdk/guides/querying-and-editing.mdx | 255 ++++++++ docs/sdk/guides/timing-and-animation.mdx | 288 +++++++++ docs/sdk/guides/undo-redo-and-patches.mdx | 242 ++++++++ docs/sdk/overview.mdx | 78 +++ docs/sdk/quickstart.mdx | 150 +++++ docs/sdk/reference/adapters.mdx | 321 ++++++++++ docs/sdk/reference/composition.mdx | 638 ++++++++++++++++++++ docs/sdk/reference/edit-operations.mdx | 540 +++++++++++++++++ docs/sdk/reference/open-composition.mdx | 174 ++++++ docs/sdk/reference/types.mdx | 667 +++++++++++++++++++++ docs/sdk/reference/utilities.mdx | 329 ++++++++++ 17 files changed, 4505 insertions(+) create mode 100644 docs/sdk/guides/canvas-integration.mdx create mode 100644 docs/sdk/guides/editing-affordances.mdx create mode 100644 docs/sdk/guides/embedded-override-mode.mdx create mode 100644 docs/sdk/guides/persistence.mdx create mode 100644 docs/sdk/guides/querying-and-editing.mdx create mode 100644 docs/sdk/guides/timing-and-animation.mdx create mode 100644 docs/sdk/guides/undo-redo-and-patches.mdx create mode 100644 docs/sdk/overview.mdx create mode 100644 docs/sdk/quickstart.mdx create mode 100644 docs/sdk/reference/adapters.mdx create mode 100644 docs/sdk/reference/composition.mdx create mode 100644 docs/sdk/reference/edit-operations.mdx create mode 100644 docs/sdk/reference/open-composition.mdx create mode 100644 docs/sdk/reference/types.mdx create mode 100644 docs/sdk/reference/utilities.mdx diff --git a/docs/docs.json b/docs/docs.json index 6048e8322..9e6829eb4 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -339,6 +339,41 @@ } ] }, + { + "tab": "SDK", + "groups": [ + { + "group": "Overview", + "pages": [ + "sdk/overview", + "sdk/quickstart" + ] + }, + { + "group": "Guides", + "pages": [ + "sdk/guides/querying-and-editing", + "sdk/guides/timing-and-animation", + "sdk/guides/undo-redo-and-patches", + "sdk/guides/persistence", + "sdk/guides/embedded-override-mode", + "sdk/guides/canvas-integration", + "sdk/guides/editing-affordances" + ] + }, + { + "group": "Reference", + "pages": [ + "sdk/reference/open-composition", + "sdk/reference/composition", + "sdk/reference/edit-operations", + "sdk/reference/types", + "sdk/reference/adapters", + "sdk/reference/utilities" + ] + } + ] + }, { "tab": "Reference", "groups": [ diff --git a/docs/packages/sdk.mdx b/docs/packages/sdk.mdx index df8b1ebfa..e6e11e565 100644 --- a/docs/packages/sdk.mdx +++ b/docs/packages/sdk.mdx @@ -29,6 +29,10 @@ npm install @hyperframes/sdk The SDK is the right layer for product integrations and agents that need structured edits. The CLI and Studio are user-facing tools built around the same composition format; the SDK is the editing engine you embed behind your own UI or automation. + + This page is the package overview. For the full API — guides and a complete reference for every method, operation, type, and adapter — see the [**SDK**](/sdk/overview) tab. + + ## Package Exports | Import | Description | diff --git a/docs/sdk/guides/canvas-integration.mdx b/docs/sdk/guides/canvas-integration.mdx new file mode 100644 index 000000000..e9d7bc57d --- /dev/null +++ b/docs/sdk/guides/canvas-integration.mdx @@ -0,0 +1,185 @@ +--- +title: "Canvas & Preview Integration" +description: "Connect a same-origin composition iframe to the SDK for hit-testing, draft preview, and selection." +--- + +The SDK's `PreviewAdapter` interface decouples the editing model from the visual surface. For browser-based editors, `createIframePreviewAdapter` bridges the SDK to a same-origin `