@webstudio-is/protocol 0.274.4 → 0.275.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,3 +10,25 @@ bundle compatibility/version helpers.
10
10
  Domain models such as pages, assets, and serialized builds remain owned by
11
11
  their domain packages and are composed here through schema-only entrypoints.
12
12
  Do not copy those schemas into this package.
13
+
14
+ ## Terminology
15
+
16
+ **Project bundle** is the authoritative external project artifact. It is used by
17
+ sync, `.webstudio/data.json`, project import, transferred asset files, and
18
+ prebuild.
19
+
20
+ **Data envelope** is a serialized single-key object whose key is a versioned
21
+ Webstudio marker, for example `{ "@webstudio/instance/v0.1": data }`. The
22
+ envelope identifies the payload version and lets consumers detect malformed
23
+ Webstudio-owned data before falling back to other formats.
24
+
25
+ **Transfer data** is the domain payload inside a data envelope. Examples include
26
+ `InstanceTransferData`, `InstancesTransferData`, and `PageTransferData`.
27
+ Transfer data is portable and detached from a project; insertion/import remaps
28
+ ids and merges it into authoritative project state. Runtime-owned transfer
29
+ formats live in `@webstudio-is/project-build/runtime/data-formats/*`.
30
+
31
+ **Clipboard data** is a UI transport concern. Builder copy/paste may serialize
32
+ transfer data into a data envelope and place it on the browser clipboard, but
33
+ runtime and protocol code should name the reusable format as data envelope or
34
+ transfer data, not clipboard.