@mengine/medeo-client 1.2.1-alpha.8 → 1.3.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 +1 -63
- package/dist/document-C0o_cjAH.js +1654 -0
- package/dist/{index-CbuWTReu.d.ts → index-DWVYLTjv.d.ts} +625 -265
- package/dist/index.d.ts +54 -386
- package/dist/index.js +647 -2306
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +1 -40
- package/package.json +4 -8
- package/dist/document-Df6awJDH.js +0 -3206
- package/dist/index-CMa6ZCtX.d.ts +0 -609
- package/dist/schemas.d.ts +0 -2
- package/dist/schemas.js +0 -482
- package/dist/shared-iWnU2osE.js +0 -39
package/README.md
CHANGED
|
@@ -2,66 +2,4 @@
|
|
|
2
2
|
|
|
3
3
|
Medeo domain client for the `mengine` document path.
|
|
4
4
|
|
|
5
|
-
This package owns
|
|
6
|
-
compatibility projection, and the runtime-neutral HTTP/SSE clients. UI intent
|
|
7
|
-
adapters stay in product repositories; Harness only supplies environment and
|
|
8
|
-
asset facts, not an entity store implementation.
|
|
9
|
-
|
|
10
|
-
For entity-authoritative documents:
|
|
11
|
-
|
|
12
|
-
1. `EntityGraphHttpClient.fetchState()` obtains the complete graph and revision.
|
|
13
|
-
2. `importMediaAsset` reuses or creates media/Asset bindings from recalled facts.
|
|
14
|
-
Video duration must come from asset metadata, never a clip trim window. Asset
|
|
15
|
-
and media entities are not one-to-one; ambiguous graphs require an explicit
|
|
16
|
-
`MediaAssetSelection` (fourth argument), not an arbitrary first match.
|
|
17
|
-
3. `EntityTimelineEditor` edits Clip/Marker/Track relations and payloads.
|
|
18
|
-
4. `EntityGraphHttpClient.commit(baseState, nextRows)` performs revision CAS,
|
|
19
|
-
including explicit net deletions. The server writes entities and the derived
|
|
20
|
-
Loro read view in the same transaction.
|
|
21
|
-
|
|
22
|
-
`SequenceMarker` owns source/target ranges, duration, and time remapping. `Clip`
|
|
23
|
-
owns clip properties such as volume; `Track` owns track properties. References
|
|
24
|
-
between entities belong in Relations, not in payload IDs. There is no separate
|
|
25
|
-
timing profile. The compatibility reader supports the existing four lanes:
|
|
26
|
-
one image/video main track, Voice, Caption, and background Audio. It accepts
|
|
27
|
-
explicit millisecond media coordinates and linear visual remapping
|
|
28
|
-
`{ kind: 'linear', rate: 2 }` (including still-image display speed). Nonlinear
|
|
29
|
-
speed and multiple visual overlay tracks are not existing editor capabilities
|
|
30
|
-
and remain outside this adapter; unsupported layouts fail before persistence.
|
|
31
|
-
Effective duration and absolute target coordinates must be whole milliseconds
|
|
32
|
-
for this reader; generic DSL coordinates are not globally restricted to that
|
|
33
|
-
unit or precision. Sequential placement stays `Clip.order` plus no targetRange,
|
|
34
|
-
so later duration edits continue to move following Clips.
|
|
35
|
-
|
|
36
|
-
Entity-authoritative editor consumers use the Loro session only to receive the
|
|
37
|
-
server-authored compatibility view. Configure that session as read-only: even
|
|
38
|
-
cold-start reconciliation must not POST legacy `/updates`. Entity writes use
|
|
39
|
-
the independent graph CAS endpoint.
|
|
40
|
-
|
|
41
|
-
Anchored placement is a `clip-anchor` Relation from child Clip to host Clip
|
|
42
|
-
plus `SequenceMarker.anchorOffset`. Voice anchors to a visual Clip; Caption
|
|
43
|
-
anchors to a Voice Clip. `resolveEntityTimelineLayout` resolves this graph
|
|
44
|
-
without reparenting or synthesizing content. Move/delete operations must write
|
|
45
|
-
their follow, keep-absolute, cascade, or detach decisions into the same entity
|
|
46
|
-
plan. A speech-overlap shift is explicit placement on the real visual Clips;
|
|
47
|
-
an uncovered time interval does not require an invented empty-media entity.
|
|
48
|
-
|
|
49
|
-
Voice links to its AudioScript through `audio-script-render`; Caption links to
|
|
50
|
-
the same script and Voice through provenance/alignment relations. External
|
|
51
|
-
speech identity and physical storage key belong to Asset, separately from the
|
|
52
|
-
placed Clip identity. Caption styles belong to Caption; text can have a real
|
|
53
|
-
inline text Asset rather than a fabricated Memota ID. Background Audio's
|
|
54
|
-
Marker declares `durationPolicy: 'timeline'`: its source duration stays factual,
|
|
55
|
-
while the view fills the non-BGM timeline duration.
|
|
56
|
-
|
|
57
|
-
`migrateLegacyTimelineToEntities` is a one-time migration utility, **not** an
|
|
58
|
-
ordinary editing diff adapter. A configured legacy document requires a separate
|
|
59
|
-
CAS commit with `migrationBaseVv` equal to its current canonical base64 Loro
|
|
60
|
-
oplog version. The server calls `assertEntityProjectionPreservesLegacy` to reject
|
|
61
|
-
stale or lossy migrations. Only then can a new edit be committed.
|
|
62
|
-
|
|
63
|
-
The legacy `SemanticEditor` remains available for pre-cutover library consumers.
|
|
64
|
-
It rejects `video-document/entity-projection-v1` documents. Production entity
|
|
65
|
-
tools and editor adapters must not fall back to it or raw `/updates` on failure.
|
|
66
|
-
For an entity projection, `meta.version` is the committed entity revision; the
|
|
67
|
-
Loro version vector remains the transport-sync cursor.
|
|
5
|
+
This package owns the shared `VideoDocument` contract, semantic editing layer, and runtime-neutral HTTP/SSE client used by medeo-web, agent-harness, and server-side validation code. UI adapters such as `DraftMutationDriver` stay in product repositories.
|