@oim-media/spec 1.27.8 → 1.27.9

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.
Files changed (57) hide show
  1. package/BINARY_SPEC.md +190 -186
  2. package/CANONICAL_SPEC.md +409 -409
  3. package/LICENSE +55 -55
  4. package/NOTICE +6 -6
  5. package/README.md +446 -444
  6. package/action-cases.json +13 -13
  7. package/artistic-text-cases.json +690 -690
  8. package/canonical-cases.json +6 -0
  9. package/keyframe-cases.json +32 -32
  10. package/keys.json +22 -22
  11. package/marks-cases.json +34 -34
  12. package/package.json +2 -1
  13. package/pattern-cases.json +552 -552
  14. package/schema/oim.schema.json +2920 -2920
  15. package/schema/ovm.schema.json +2701 -2701
  16. package/text-effect-cases.json +835 -835
  17. package/tools/parity-core.mjs +122 -122
  18. package/tools/parity.mjs +86 -86
  19. package/vectors/README.md +103 -103
  20. package/vectors/accessibility.expected.json +67 -67
  21. package/vectors/artistic-text.expected.json +84 -84
  22. package/vectors/asymmetric-borders.expected.json +29 -29
  23. package/vectors/background-pattern-order.expected.json +95 -95
  24. package/vectors/basic-text.expected.json +29 -29
  25. package/vectors/color-blending-opacity.expected.json +47 -47
  26. package/vectors/crop.expected.json +32 -32
  27. package/vectors/embedded-font-woff.expected.json +57 -57
  28. package/vectors/extreme-aspect-ratios.expected.json +29 -29
  29. package/vectors/filter-effects.expected.json +33 -33
  30. package/vectors/flip.expected.json +47 -47
  31. package/vectors/frame-shapes.expected.json +73 -73
  32. package/vectors/full-monty-composite.expected.json +96 -96
  33. package/vectors/golden/exceptions.json +3 -3
  34. package/vectors/groups-and-parallax.expected.json +90 -90
  35. package/vectors/image-fill.expected.json +54 -54
  36. package/vectors/interactive-chained-actions.expected.json +77 -77
  37. package/vectors/interactive-hover.expected.json +36 -36
  38. package/vectors/interactive.expected.json +121 -121
  39. package/vectors/layer-blur.expected.json +48 -48
  40. package/vectors/layer-grain.expected.json +52 -52
  41. package/vectors/layer-ordering-zindex.expected.json +62 -62
  42. package/vectors/legacy-text-chunk.expected.json +29 -29
  43. package/vectors/media-filters.expected.json +50 -50
  44. package/vectors/multi-container-layout.expected.json +45 -45
  45. package/vectors/multilang-cjk-rtl.expected.json +30 -30
  46. package/vectors/nested-groups.expected.json +68 -68
  47. package/vectors/palettes.expected.json +57 -57
  48. package/vectors/parallax-infinite.expected.json +39 -39
  49. package/vectors/pattern-color-roles.expected.json +68 -68
  50. package/vectors/reedit-english.expected.json +45 -45
  51. package/vectors/reveal-and-play.expected.json +107 -107
  52. package/vectors/shadow-effects.expected.json +34 -34
  53. package/vectors/shape-shadows.expected.json +62 -62
  54. package/vectors/strokes-and-borders.expected.json +31 -31
  55. package/vectors/text-runs-precalculated.expected.json +46 -46
  56. package/vectors/transparent-background.expected.json +30 -30
  57. package/vectors/typography-styling.expected.json +34 -34
@@ -1,121 +1,121 @@
1
- {
2
- "description": "A button with a click action, per-side corners and two languages. Exported from the editor, not generated here.",
3
- "canvas": {
4
- "natural_height": 600,
5
- "natural_width": 800
6
- },
7
- "languages": [
8
- "es",
9
- "en"
10
- ],
11
- "signed": true,
12
- "key_version": "v1",
13
- "slots": [
14
- {
15
- "id": "esquinas",
16
- "type": "geo",
17
- "position": [
18
- 7.5,
19
- 10
20
- ],
21
- "name": "Esquinas asimetricas",
22
- "content": {
23
- "en": "",
24
- "es": ""
25
- },
26
- "style": {
27
- "width": "32.5cqw",
28
- "height": "18.75cqw",
29
- "fontSize": "1.75cqw",
30
- "borderRadius": "0.0cqw 0.0cqw 0.0cqw 6.0cqw",
31
- "fillColor": "#2563EB",
32
- "isInteractive": false,
33
- "fontFamily": "Inter",
34
- "shadowEnabled": false,
35
- "shadowColor": "#000000",
36
- "shadowBlur": 8,
37
- "shadowOffsetX": 0,
38
- "shadowOffsetY": 4,
39
- "shadowOpacity": 30,
40
- "blendMode": "normal",
41
- "strokeStyle": "solid",
42
- "layerBlur": 0,
43
- "geoShape": "rectangle"
44
- }
45
- },
46
- {
47
- "id": "ficha",
48
- "type": "text",
49
- "position": [
50
- 47.5,
51
- 10
52
- ],
53
- "name": "Ficha",
54
- "content": {
55
- "en": "SOY LA FICHA",
56
- "es": "SOY LA FICHA"
57
- },
58
- "style": {
59
- "width": "42.5cqw",
60
- "height": "18.75cqw",
61
- "fontSize": "3.5cqw",
62
- "borderRadius": "0.0cqw",
63
- "fillColor": "#0f766e",
64
- "isInteractive": false,
65
- "fontFamily": "Inter",
66
- "shadowEnabled": false,
67
- "shadowColor": "#000000",
68
- "shadowBlur": 8,
69
- "shadowOffsetX": 0,
70
- "shadowOffsetY": 4,
71
- "shadowOpacity": 30,
72
- "blendMode": "normal",
73
- "strokeStyle": "solid",
74
- "layerBlur": 0,
75
- "geoShape": "rectangle"
76
- }
77
- },
78
- {
79
- "id": "boton",
80
- "type": "text",
81
- "position": [
82
- 7.5,
83
- 53.3333
84
- ],
85
- "name": "Boton",
86
- "content": {
87
- "en": "PULSAME",
88
- "es": "PULSAME"
89
- },
90
- "style": {
91
- "width": "32.5cqw",
92
- "height": "8.75cqw",
93
- "fontSize": "2.75cqw",
94
- "borderRadius": "0.0cqw",
95
- "fillColor": "#b91c1c",
96
- "isInteractive": true,
97
- "states": {
98
- "active": {
99
- "actions": [
100
- {
101
- "target": "ficha",
102
- "type": "toggle"
103
- }
104
- ]
105
- }
106
- },
107
- "fontFamily": "Inter",
108
- "shadowEnabled": false,
109
- "shadowColor": "#000000",
110
- "shadowBlur": 8,
111
- "shadowOffsetX": 0,
112
- "shadowOffsetY": 4,
113
- "shadowOpacity": 30,
114
- "blendMode": "normal",
115
- "strokeStyle": "solid",
116
- "layerBlur": 0,
117
- "geoShape": "rectangle"
118
- }
119
- }
120
- ]
121
- }
1
+ {
2
+ "description": "A button with a click action, per-side corners and two languages. Exported from the editor, not generated here.",
3
+ "canvas": {
4
+ "natural_height": 600,
5
+ "natural_width": 800
6
+ },
7
+ "languages": [
8
+ "es",
9
+ "en"
10
+ ],
11
+ "signed": true,
12
+ "key_version": "v1",
13
+ "slots": [
14
+ {
15
+ "id": "esquinas",
16
+ "type": "geo",
17
+ "position": [
18
+ 7.5,
19
+ 10
20
+ ],
21
+ "name": "Esquinas asimetricas",
22
+ "content": {
23
+ "en": "",
24
+ "es": ""
25
+ },
26
+ "style": {
27
+ "width": "32.5cqw",
28
+ "height": "18.75cqw",
29
+ "fontSize": "1.75cqw",
30
+ "borderRadius": "0.0cqw 0.0cqw 0.0cqw 6.0cqw",
31
+ "fillColor": "#2563EB",
32
+ "isInteractive": false,
33
+ "fontFamily": "Inter",
34
+ "shadowEnabled": false,
35
+ "shadowColor": "#000000",
36
+ "shadowBlur": 8,
37
+ "shadowOffsetX": 0,
38
+ "shadowOffsetY": 4,
39
+ "shadowOpacity": 30,
40
+ "blendMode": "normal",
41
+ "strokeStyle": "solid",
42
+ "layerBlur": 0,
43
+ "geoShape": "rectangle"
44
+ }
45
+ },
46
+ {
47
+ "id": "ficha",
48
+ "type": "text",
49
+ "position": [
50
+ 47.5,
51
+ 10
52
+ ],
53
+ "name": "Ficha",
54
+ "content": {
55
+ "en": "SOY LA FICHA",
56
+ "es": "SOY LA FICHA"
57
+ },
58
+ "style": {
59
+ "width": "42.5cqw",
60
+ "height": "18.75cqw",
61
+ "fontSize": "3.5cqw",
62
+ "borderRadius": "0.0cqw",
63
+ "fillColor": "#0f766e",
64
+ "isInteractive": false,
65
+ "fontFamily": "Inter",
66
+ "shadowEnabled": false,
67
+ "shadowColor": "#000000",
68
+ "shadowBlur": 8,
69
+ "shadowOffsetX": 0,
70
+ "shadowOffsetY": 4,
71
+ "shadowOpacity": 30,
72
+ "blendMode": "normal",
73
+ "strokeStyle": "solid",
74
+ "layerBlur": 0,
75
+ "geoShape": "rectangle"
76
+ }
77
+ },
78
+ {
79
+ "id": "boton",
80
+ "type": "text",
81
+ "position": [
82
+ 7.5,
83
+ 53.3333
84
+ ],
85
+ "name": "Boton",
86
+ "content": {
87
+ "en": "PULSAME",
88
+ "es": "PULSAME"
89
+ },
90
+ "style": {
91
+ "width": "32.5cqw",
92
+ "height": "8.75cqw",
93
+ "fontSize": "2.75cqw",
94
+ "borderRadius": "0.0cqw",
95
+ "fillColor": "#b91c1c",
96
+ "isInteractive": true,
97
+ "states": {
98
+ "active": {
99
+ "actions": [
100
+ {
101
+ "target": "ficha",
102
+ "type": "toggle"
103
+ }
104
+ ]
105
+ }
106
+ },
107
+ "fontFamily": "Inter",
108
+ "shadowEnabled": false,
109
+ "shadowColor": "#000000",
110
+ "shadowBlur": 8,
111
+ "shadowOffsetX": 0,
112
+ "shadowOffsetY": 4,
113
+ "shadowOpacity": 30,
114
+ "blendMode": "normal",
115
+ "strokeStyle": "solid",
116
+ "layerBlur": 0,
117
+ "geoShape": "rectangle"
118
+ }
119
+ }
120
+ ]
121
+ }
@@ -1,48 +1,48 @@
1
- {
2
- "description": "Layer blur: `layerBlur` on the style of a text and of a shape.",
3
- "canvas": {
4
- "natural_height": 600,
5
- "natural_width": 800
6
- },
7
- "signed": true,
8
- "key_version": "v1",
9
- "slots": [
10
- {
11
- "id": "titulo",
12
- "type": "text",
13
- "position": [
14
- 10,
15
- 10
16
- ],
17
- "name": "Titulo",
18
- "content": {
19
- "en": "Blurred",
20
- "es": "Borroso"
21
- },
22
- "style": {
23
- "width": "50.0cqw",
24
- "height": "11.25cqw",
25
- "fontSize": "5.0cqw",
26
- "layerBlur": 4
27
- }
28
- },
29
- {
30
- "id": "fondo",
31
- "type": "geo",
32
- "position": [
33
- 50,
34
- 33.3333
35
- ],
36
- "name": "Fondo",
37
- "content": {
38
- "es": ""
39
- },
40
- "style": {
41
- "width": "37.5cqw",
42
- "height": "37.5cqw",
43
- "fillColor": "#3366cc",
44
- "layerBlur": 12
45
- }
46
- }
47
- ]
48
- }
1
+ {
2
+ "description": "Layer blur: `layerBlur` on the style of a text and of a shape.",
3
+ "canvas": {
4
+ "natural_height": 600,
5
+ "natural_width": 800
6
+ },
7
+ "signed": true,
8
+ "key_version": "v1",
9
+ "slots": [
10
+ {
11
+ "id": "titulo",
12
+ "type": "text",
13
+ "position": [
14
+ 10,
15
+ 10
16
+ ],
17
+ "name": "Titulo",
18
+ "content": {
19
+ "en": "Blurred",
20
+ "es": "Borroso"
21
+ },
22
+ "style": {
23
+ "width": "50.0cqw",
24
+ "height": "11.25cqw",
25
+ "fontSize": "5.0cqw",
26
+ "layerBlur": 4
27
+ }
28
+ },
29
+ {
30
+ "id": "fondo",
31
+ "type": "geo",
32
+ "position": [
33
+ 50,
34
+ 33.3333
35
+ ],
36
+ "name": "Fondo",
37
+ "content": {
38
+ "es": ""
39
+ },
40
+ "style": {
41
+ "width": "37.5cqw",
42
+ "height": "37.5cqw",
43
+ "fillColor": "#3366cc",
44
+ "layerBlur": 12
45
+ }
46
+ }
47
+ ]
48
+ }
@@ -1,52 +1,52 @@
1
- {
2
- "description": "Per-layer grain (contract 1.10.0): intensity, size and blend on the style of a text and of a shape.",
3
- "canvas": {
4
- "natural_height": 600,
5
- "natural_width": 800
6
- },
7
- "signed": true,
8
- "key_version": "v1",
9
- "slots": [
10
- {
11
- "id": "titulo",
12
- "type": "text",
13
- "position": [
14
- 10,
15
- 10
16
- ],
17
- "name": "Titulo",
18
- "content": {
19
- "en": "Grain",
20
- "es": "Grano"
21
- },
22
- "style": {
23
- "width": "50.0cqw",
24
- "height": "11.25cqw",
25
- "fontSize": "5.0cqw",
26
- "grain": true,
27
- "grainIntensity": 30,
28
- "grainSize": 70,
29
- "grainBlend": "soft-light"
30
- }
31
- },
32
- {
33
- "id": "circulo",
34
- "type": "geo",
35
- "position": [
36
- 65,
37
- 33.3333
38
- ],
39
- "name": "Circulo",
40
- "content": {
41
- "es": ""
42
- },
43
- "style": {
44
- "width": "25.0cqw",
45
- "height": "25.0cqw",
46
- "fillColor": "#3366cc",
47
- "grain": true,
48
- "grainIntensity": 20
49
- }
50
- }
51
- ]
52
- }
1
+ {
2
+ "description": "Per-layer grain (contract 1.10.0): intensity, size and blend on the style of a text and of a shape.",
3
+ "canvas": {
4
+ "natural_height": 600,
5
+ "natural_width": 800
6
+ },
7
+ "signed": true,
8
+ "key_version": "v1",
9
+ "slots": [
10
+ {
11
+ "id": "titulo",
12
+ "type": "text",
13
+ "position": [
14
+ 10,
15
+ 10
16
+ ],
17
+ "name": "Titulo",
18
+ "content": {
19
+ "en": "Grain",
20
+ "es": "Grano"
21
+ },
22
+ "style": {
23
+ "width": "50.0cqw",
24
+ "height": "11.25cqw",
25
+ "fontSize": "5.0cqw",
26
+ "grain": true,
27
+ "grainIntensity": 30,
28
+ "grainSize": 70,
29
+ "grainBlend": "soft-light"
30
+ }
31
+ },
32
+ {
33
+ "id": "circulo",
34
+ "type": "geo",
35
+ "position": [
36
+ 65,
37
+ 33.3333
38
+ ],
39
+ "name": "Circulo",
40
+ "content": {
41
+ "es": ""
42
+ },
43
+ "style": {
44
+ "width": "25.0cqw",
45
+ "height": "25.0cqw",
46
+ "fillColor": "#3366cc",
47
+ "grain": true,
48
+ "grainIntensity": 20
49
+ }
50
+ }
51
+ ]
52
+ }
@@ -1,62 +1,62 @@
1
- {
2
- "description": "A stack of layers overlapping at identical coordinates, to check the paint order.",
3
- "canvas": {
4
- "natural_height": 600,
5
- "natural_width": 800
6
- },
7
- "signed": true,
8
- "key_version": "v1",
9
- "slots": [
10
- {
11
- "id": "capa_fondo",
12
- "type": "geo",
13
- "position": [
14
- 12.5,
15
- 16.6667
16
- ],
17
- "name": "Capa Fondo (1)",
18
- "content": {
19
- "es": ""
20
- },
21
- "style": {
22
- "width": "25.0cqw",
23
- "height": "25.0cqw",
24
- "fillColor": "#1e3a8a"
25
- }
26
- },
27
- {
28
- "id": "capa_medio",
29
- "type": "geo",
30
- "position": [
31
- 15,
32
- 20
33
- ],
34
- "name": "Capa Medio (2)",
35
- "content": {
36
- "es": ""
37
- },
38
- "style": {
39
- "width": "25.0cqw",
40
- "height": "25.0cqw",
41
- "fillColor": "#3b82f6"
42
- }
43
- },
44
- {
45
- "id": "capa_frente",
46
- "type": "geo",
47
- "position": [
48
- 17.5,
49
- 23.3333
50
- ],
51
- "name": "Capa Frente (3)",
52
- "content": {
53
- "es": ""
54
- },
55
- "style": {
56
- "width": "25.0cqw",
57
- "height": "25.0cqw",
58
- "fillColor": "#93c5fd"
59
- }
60
- }
61
- ]
62
- }
1
+ {
2
+ "description": "A stack of layers overlapping at identical coordinates, to check the paint order.",
3
+ "canvas": {
4
+ "natural_height": 600,
5
+ "natural_width": 800
6
+ },
7
+ "signed": true,
8
+ "key_version": "v1",
9
+ "slots": [
10
+ {
11
+ "id": "capa_fondo",
12
+ "type": "geo",
13
+ "position": [
14
+ 12.5,
15
+ 16.6667
16
+ ],
17
+ "name": "Capa Fondo (1)",
18
+ "content": {
19
+ "es": ""
20
+ },
21
+ "style": {
22
+ "width": "25.0cqw",
23
+ "height": "25.0cqw",
24
+ "fillColor": "#1e3a8a"
25
+ }
26
+ },
27
+ {
28
+ "id": "capa_medio",
29
+ "type": "geo",
30
+ "position": [
31
+ 15,
32
+ 20
33
+ ],
34
+ "name": "Capa Medio (2)",
35
+ "content": {
36
+ "es": ""
37
+ },
38
+ "style": {
39
+ "width": "25.0cqw",
40
+ "height": "25.0cqw",
41
+ "fillColor": "#3b82f6"
42
+ }
43
+ },
44
+ {
45
+ "id": "capa_frente",
46
+ "type": "geo",
47
+ "position": [
48
+ 17.5,
49
+ 23.3333
50
+ ],
51
+ "name": "Capa Frente (3)",
52
+ "content": {
53
+ "es": ""
54
+ },
55
+ "style": {
56
+ "width": "25.0cqw",
57
+ "height": "25.0cqw",
58
+ "fillColor": "#93c5fd"
59
+ }
60
+ }
61
+ ]
62
+ }
@@ -1,29 +1,29 @@
1
- {
2
- "description": "The same document as basic-text in the old container: a tEXt chunk with base64 of raw deflate. A conforming reader keeps reading it.",
3
- "canvas": {
4
- "natural_height": 600,
5
- "natural_width": 800
6
- },
7
- "signed": true,
8
- "key_version": "v1",
9
- "slots": [
10
- {
11
- "id": "titulo",
12
- "type": "text",
13
- "position": [
14
- 10,
15
- 10
16
- ],
17
- "name": "Titulo",
18
- "content": {
19
- "en": "Hello",
20
- "es": "Hola"
21
- },
22
- "style": {
23
- "width": "50.0cqw",
24
- "height": "11.25cqw",
25
- "fontSize": "5.0cqw"
26
- }
27
- }
28
- ]
29
- }
1
+ {
2
+ "description": "The same document as basic-text in the old container: a tEXt chunk with base64 of raw deflate. A conforming reader keeps reading it.",
3
+ "canvas": {
4
+ "natural_height": 600,
5
+ "natural_width": 800
6
+ },
7
+ "signed": true,
8
+ "key_version": "v1",
9
+ "slots": [
10
+ {
11
+ "id": "titulo",
12
+ "type": "text",
13
+ "position": [
14
+ 10,
15
+ 10
16
+ ],
17
+ "name": "Titulo",
18
+ "content": {
19
+ "en": "Hello",
20
+ "es": "Hola"
21
+ },
22
+ "style": {
23
+ "width": "50.0cqw",
24
+ "height": "11.25cqw",
25
+ "fontSize": "5.0cqw"
26
+ }
27
+ }
28
+ ]
29
+ }