@mengine/medeo-tool 1.4.1-alpha.5 → 2.0.1-alpha.11
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 +9 -0
- package/dist/{entity-contract-DlmUSouB.d.mts → entity-contract-Cf3AiSe7.d.mts} +45 -43
- package/dist/{entity-sandbox-TaUVT3on.mjs → entity-sandbox-BTR2cRl1.mjs} +255 -139
- package/dist/entity-sandbox-BTR2cRl1.mjs.map +1 -0
- package/dist/index.d.mts +37 -12
- package/dist/index.mjs +131 -137
- package/dist/index.mjs.map +1 -1
- package/dist/sandbox-api.d.mts +42 -44
- package/dist/worker-entry.d.mts +2 -1
- package/dist/worker-entry.mjs +105 -111
- package/dist/worker-entry.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/entity-sandbox-TaUVT3on.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -84,6 +84,15 @@ Resource-free Caption composition from AudioScript is also supported. Each
|
|
|
84
84
|
on-screen placement has its own Clip and display SequenceMarker, connected by
|
|
85
85
|
ordinary relations; intrinsic Caption timing remains independent.
|
|
86
86
|
|
|
87
|
+
Voice resources use `external: {system: 'memota-speech', key: speechId}`.
|
|
88
|
+
Await `rgetAssetFromEntity(voiceId)` before constructing placement relations: the
|
|
89
|
+
host supplies `storageKey`, the full millisecond `extent`, and the optional TTS
|
|
90
|
+
`voice` locator. The loader returns `{assetId, content: {storageKey, durationMs,
|
|
91
|
+
voice?}}` from a project-scoped Speech lookup. Recorded speech omits `voice`;
|
|
92
|
+
TTS retains its explicit PhoneticScript relation. Resource reads do not create
|
|
93
|
+
script text or display markers. New or changed Speech references are also
|
|
94
|
+
resolved before commit, and failed reads publish no partial edits.
|
|
95
|
+
|
|
87
96
|
`materializeResources` and generation/resource loaders are host APIs. The model
|
|
88
97
|
never receives these capabilities. Project initialization and historical data
|
|
89
98
|
migration also remain outside script execution. Retrying an unconfirmed commit
|
|
@@ -8,47 +8,39 @@ interface JsonObject {
|
|
|
8
8
|
}
|
|
9
9
|
type KnownEntityKind = 'axvideo' | 'timeline' | 'track' | 'clip' | 'asset' | 'video' | 'audio' | 'voice' | 'image' | 'sequence-marker' | 'viewport' | 'audio-script' | 'phonetic-script' | 'caption';
|
|
10
10
|
/** Asset identity, either an old physical-only row or a directly composed media variant. */
|
|
11
|
-
type ResourceEntityKind = 'image' | 'video' | 'audio'
|
|
12
|
-
type KnownRelationKind = 'timeline-track' | 'track-clip' | 'clip-marker' | 'marker-content' | 'axvideo-marker' | 'marker-timeline' | '
|
|
11
|
+
type ResourceEntityKind = 'image' | 'video' | 'audio';
|
|
12
|
+
type KnownRelationKind = 'timeline-track' | 'track-clip' | 'clip-marker' | 'marker-content' | 'axvideo-marker' | 'marker-timeline' | 'from-asset' | 'generated' | 'caption-alignment' | 'clip-anchor' | 'phonetic-script-render' | 'voice-timbre' | 'audio-script-source' | 'audio-script-marker';
|
|
13
13
|
type AuthorableRelationKind = KnownRelationKind;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
extent: {
|
|
26
|
-
kind: 'unbounded';
|
|
27
|
-
start: number;
|
|
28
|
-
};
|
|
29
|
-
sampling: 'constant';
|
|
30
|
-
coordinateSpace: JsonValue;
|
|
31
|
-
}
|
|
32
|
-
interface BoundedDerivedSequencePayload extends JsonObject {
|
|
33
|
-
extent: {
|
|
34
|
-
kind: 'bounded';
|
|
35
|
-
start: number;
|
|
36
|
-
end: number;
|
|
37
|
-
};
|
|
38
|
-
sampling: 'derived';
|
|
39
|
-
coordinateSpace: JsonValue;
|
|
14
|
+
/**
|
|
15
|
+
* Content states how long it runs and nothing else: where it is taken from and
|
|
16
|
+
* where it lands both belong to its Sequence Marker.
|
|
17
|
+
*/
|
|
18
|
+
interface OwnDurationPayload extends JsonObject {
|
|
19
|
+
/** Factual whole milliseconds from recalled media metadata; never invented. */
|
|
20
|
+
durationMs: number;
|
|
21
|
+
}
|
|
22
|
+
/** A still frame runs for as long as its use asks, so it states no length. */
|
|
23
|
+
interface NoDurationPayload extends JsonObject {
|
|
24
|
+
durationMs: null;
|
|
40
25
|
}
|
|
41
26
|
type ScriptTextSegment = JsonObject & {
|
|
42
27
|
segmentId: string;
|
|
43
28
|
text: string;
|
|
44
29
|
language?: string;
|
|
45
30
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
31
|
+
/** Only an Asset entity states where bytes live; everything else links to one. */
|
|
32
|
+
type AssetPayload = JsonObject & {
|
|
33
|
+
system: 'memota' | 'memota-speech';
|
|
34
|
+
key: string;
|
|
35
|
+
storageKey?: string;
|
|
36
|
+
};
|
|
37
|
+
/** The voice-library timbre a synthesized Audio was rendered with. */
|
|
38
|
+
type VoiceIdentityPayload = JsonObject & {
|
|
39
|
+
voice: {
|
|
40
|
+
system: 'voice-library';
|
|
49
41
|
key: string;
|
|
42
|
+
name?: string;
|
|
50
43
|
};
|
|
51
|
-
storageKey?: string;
|
|
52
44
|
};
|
|
53
45
|
type CaptionTextSelection = JsonObject & {
|
|
54
46
|
segmentId: string; /** Half-open Unicode code-point range within the selected source segment. */
|
|
@@ -58,19 +50,22 @@ type CaptionTextSelection = JsonObject & {
|
|
|
58
50
|
};
|
|
59
51
|
};
|
|
60
52
|
interface EntityPayloadByKind {
|
|
61
|
-
|
|
53
|
+
/** Its Timeline decides how long it runs, so it stores no length. */
|
|
54
|
+
axvideo: JsonObject;
|
|
62
55
|
timeline: JsonObject;
|
|
63
56
|
track: JsonObject & {
|
|
64
57
|
hidden?: boolean;
|
|
65
58
|
role?: string;
|
|
66
59
|
};
|
|
67
60
|
clip: JsonObject;
|
|
68
|
-
/**
|
|
69
|
-
asset:
|
|
70
|
-
video:
|
|
71
|
-
audio
|
|
72
|
-
|
|
73
|
-
|
|
61
|
+
/** Where the bytes live. Reached from other entities by from-asset. */
|
|
62
|
+
asset: AssetPayload;
|
|
63
|
+
video: OwnDurationPayload;
|
|
64
|
+
/** Every playable sound, including video original audio and synthesized voiceovers. */
|
|
65
|
+
audio: OwnDurationPayload;
|
|
66
|
+
/** A timbre identity, never playable content; the rendered take is an `audio` entity. */
|
|
67
|
+
voice: VoiceIdentityPayload;
|
|
68
|
+
image: NoDurationPayload;
|
|
74
69
|
'sequence-marker': JsonObject & {
|
|
75
70
|
sourceRange: {
|
|
76
71
|
start: number;
|
|
@@ -104,7 +99,7 @@ interface EntityPayloadByKind {
|
|
|
104
99
|
phonemeScript?: string;
|
|
105
100
|
prosody?: JsonObject;
|
|
106
101
|
};
|
|
107
|
-
caption:
|
|
102
|
+
caption: OwnDurationPayload & {
|
|
108
103
|
baseEntityIds: string[];
|
|
109
104
|
selection: CaptionTextSelection;
|
|
110
105
|
style?: JsonObject;
|
|
@@ -115,8 +110,15 @@ interface EntityPayloadByKind {
|
|
|
115
110
|
}[];
|
|
116
111
|
};
|
|
117
112
|
}
|
|
118
|
-
/**
|
|
119
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Stored own fields; a variant may obtain required content fields from its
|
|
115
|
+
* declared bases.
|
|
116
|
+
*
|
|
117
|
+
* Caption and Audio may also be declared resource-only: the ASR transcript and
|
|
118
|
+
* the synthesized voiceover are attached by the host, which then fills in the
|
|
119
|
+
* remaining factual fields.
|
|
120
|
+
*/
|
|
121
|
+
type StoredEntityPayload<K extends KnownEntityKind> = EntityPayloadByKind[K] | (K extends 'caption' | 'audio' ? Record<string, never> : never) | (JsonObject & Partial<EntityPayloadByKind[K]> & {
|
|
120
122
|
baseEntityIds: string[];
|
|
121
123
|
});
|
|
122
124
|
interface SandboxEntity<K extends KnownEntityKind = KnownEntityKind> {
|
|
@@ -238,4 +240,4 @@ interface BusinessRelationFacade {
|
|
|
238
240
|
}
|
|
239
241
|
//#endregion
|
|
240
242
|
export { UpdateEntityInput as C, UnlinkRelationInput as S, LinkRelationInput as _, DeleteEntityInput as a, SandboxEntity as b, EntitySandboxCheckpoint as c, JsonObject as d, JsonPrimitive as f, LinkGeneratedRelationInput as g, KnownRelationKind as h, CreateEntityInput as i, EntityStoreSnapshot as l, KnownEntityKind as m, BusinessEntityFacade as n, EntityCommand as o, JsonValue as p, BusinessRelationFacade as r, EntityPlanState as s, AuthorableRelationKind as t, EntityUpdateInput as u, RelationUpdateInput as v, SandboxRelation as x, ResourceEntityKind as y };
|
|
241
|
-
//# sourceMappingURL=entity-contract-
|
|
243
|
+
//# sourceMappingURL=entity-contract-Cf3AiSe7.d.mts.map
|