@aelionsdk/project-schema 0.1.0-beta.1 → 1.0.0-rc.1
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 -1
- package/dist/types.d.ts +27 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +16 -3
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -4,4 +4,4 @@ Project v1 types, validation and canonical serialization for AelionSDK
|
|
|
4
4
|
|
|
5
5
|
Install with `npm install @aelionsdk/project-schema@next`.
|
|
6
6
|
|
|
7
|
-
Version
|
|
7
|
+
Version 1.0.0-rc.1 is a prerelease and its API may change before the first stable release. This package is part of [AelionSDK](https://github.com/FoyonaCZY/AelionSDK); see the repository README for supported browsers, examples and deployment requirements.
|
package/dist/types.d.ts
CHANGED
|
@@ -17,7 +17,34 @@ export interface ProjectSettings extends JsonObject {
|
|
|
17
17
|
export interface ProjectEntity extends JsonObject {
|
|
18
18
|
id: EntityId;
|
|
19
19
|
}
|
|
20
|
+
export interface SequenceColorFormat extends JsonObject {
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
pixelAspectRatio: Rational & JsonObject;
|
|
24
|
+
frameRate: Rational & JsonObject;
|
|
25
|
+
sampleRate: 44_100 | 48_000 | 96_000;
|
|
26
|
+
channelLayout: 'mono' | 'stereo' | '5.1';
|
|
27
|
+
workingColorSpace: 'srgb-linear' | 'display-p3-linear' | 'rec2020-linear';
|
|
28
|
+
/** Defaults to `bt709` for legacy Project v1 documents. */
|
|
29
|
+
colorPrimaries?: 'bt709' | 'display-p3' | 'bt2020';
|
|
30
|
+
/** Defaults to `srgb` for legacy Project v1 documents. */
|
|
31
|
+
transferFunction?: 'srgb' | 'gamma22' | 'pq' | 'hlg';
|
|
32
|
+
/** Defaults to `rgb` for the linear compositing surface. */
|
|
33
|
+
matrixCoefficients?: 'rgb' | 'bt709' | 'bt2020-ncl';
|
|
34
|
+
/** Defaults to `full` for the linear compositing surface. */
|
|
35
|
+
colorRange?: 'full' | 'limited';
|
|
36
|
+
/** Defaults to `4:4:4`; an encoder may require an explicit conversion to `4:2:0`. */
|
|
37
|
+
chromaSubsampling?: 'rgb' | '4:4:4' | '4:2:2' | '4:2:0';
|
|
38
|
+
/** Defaults to `premultiplied` inside the renderer. */
|
|
39
|
+
alphaMode?: 'opaque' | 'premultiplied';
|
|
40
|
+
/** Defaults to `none`; HDR must fail closed when it cannot be presented without conversion. */
|
|
41
|
+
toneMapping?: 'none' | 'bt2390' | 'reinhard';
|
|
42
|
+
/** Defaults to 8 for legacy Project v1 documents. */
|
|
43
|
+
bitDepth?: 8 | 10;
|
|
44
|
+
backgroundColor: JsonObject;
|
|
45
|
+
}
|
|
20
46
|
export interface SequenceEntity extends ProjectEntity {
|
|
47
|
+
format: SequenceColorFormat & JsonObject;
|
|
21
48
|
trackIds: EntityId[];
|
|
22
49
|
transitionIds: EntityId[];
|
|
23
50
|
materialInstanceIds: EntityId[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAc,UAAU,EAAa,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGjF,OAAO,EAAoB,KAAK,aAAa,EAAuB,MAAM,YAAY,CAAC;AAmCvF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;IACnC,QAAQ,CAAC,sBAAsB,EAAE,UAAU,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAc,UAAU,EAAa,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGjF,OAAO,EAAoB,KAAK,aAAa,EAAuB,MAAM,YAAY,CAAC;AAmCvF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;IACnC,QAAQ,CAAC,sBAAsB,EAAE,UAAU,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC;AA8tBD,qBAAa,gBAAgB;;gBAGR,OAAO,EAAE,uBAAuB;IAY5C,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,wBAAwB,CAAC;CA+ClE"}
|
package/dist/validate.js
CHANGED
|
@@ -352,11 +352,24 @@ function validateAudioSemantics(project, diagnostics) {
|
|
|
352
352
|
function validateColorSemantics(project, diagnostics) {
|
|
353
353
|
for (const sequence of Object.values(project.sequences)) {
|
|
354
354
|
const format = sequence.format;
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
355
|
+
const expectedPrimaries = format.workingColorSpace === 'display-p3-linear'
|
|
356
|
+
? 'display-p3'
|
|
357
|
+
: format.workingColorSpace === 'rec2020-linear'
|
|
358
|
+
? 'bt2020'
|
|
359
|
+
: 'bt709';
|
|
360
|
+
if (format.colorPrimaries !== undefined && format.colorPrimaries !== expectedPrimaries) {
|
|
361
|
+
diagnostics.push(semanticDiagnostic('PROJECT_COLOR_PRIMARIES_MISMATCH', `Sequence ${sequence.id} color primaries do not match its linear working space`, ['sequences', sequence.id, 'format', 'colorPrimaries'], sequence.id));
|
|
362
|
+
}
|
|
363
|
+
const hdr = format.transferFunction === 'pq' || format.transferFunction === 'hlg';
|
|
364
|
+
if (hdr && (format.workingColorSpace !== 'rec2020-linear' || format.bitDepth !== 10)) {
|
|
358
365
|
diagnostics.push(semanticDiagnostic('PROJECT_HDR_FORMAT_INVALID', `HDR Sequence ${sequence.id} requires rec2020-linear working space and 10-bit output`, ['sequences', sequence.id, 'format'], sequence.id));
|
|
359
366
|
}
|
|
367
|
+
if (format.toneMapping !== undefined && format.toneMapping !== 'none' && !hdr) {
|
|
368
|
+
diagnostics.push(semanticDiagnostic('PROJECT_TONE_MAPPING_INPUT_INVALID', `Sequence ${sequence.id} tone mapping requires PQ or HLG input`, ['sequences', sequence.id, 'format', 'toneMapping'], sequence.id));
|
|
369
|
+
}
|
|
370
|
+
if (format.chromaSubsampling === 'rgb' && format.matrixCoefficients !== 'rgb') {
|
|
371
|
+
diagnostics.push(semanticDiagnostic('PROJECT_RGB_MATRIX_INVALID', `Sequence ${sequence.id} RGB chroma requires RGB matrix coefficients`, ['sequences', sequence.id, 'format', 'matrixCoefficients'], sequence.id));
|
|
372
|
+
}
|
|
360
373
|
}
|
|
361
374
|
}
|
|
362
375
|
export class ProjectValidator {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aelionsdk/project-schema",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.0-rc.1",
|
|
4
4
|
"description": "Project v1 types, validation and canonical serialization for AelionSDK",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"provenance": true
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@aelionsdk/core": "
|
|
38
|
-
"ajv": "8.
|
|
37
|
+
"@aelionsdk/core": "1.0.0-rc.1",
|
|
38
|
+
"ajv": "8.18.0",
|
|
39
39
|
"ajv-formats": "3.0.1"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|