@paged-media/idml-viewer 0.44.0 → 0.45.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paged-media/idml-viewer",
3
- "version": "0.44.0",
3
+ "version": "0.45.0",
4
4
  "description": "Standalone IDML viewer for the browser — camera, pages, input and events over the @paged-media/sdk WebGPU ViewerSession.",
5
5
  "license": "MPL-2.0 OR LicenseRef-PMEL",
6
6
  "repository": {
@@ -5,6 +5,14 @@
5
5
  */
6
6
  export type ScenePathSeg = { op: "moveTo"; x: number; y: number } | { op: "lineTo"; x: number; y: number } | { op: "cubicTo"; cx1: number; cy1: number; cx2: number; cy2: number; x: number; y: number } | { op: "close" };
7
7
 
8
+ /**
9
+ * A plugin gradient paint for [`SceneItem::FillPathGradient`] (C-1.3).
10
+ * Coordinates are frame-content points (mapped by the frame transform
11
+ * like the filled path). Colours are sRGB, linearised at lowering to
12
+ * composite identically to document colours.
13
+ */
14
+ export type SceneGradient = { type: "linear"; x0: number; y0: number; x1: number; y1: number; stops: SceneGradientStop[] } | { type: "radial"; cx: number; cy: number; radius: number; stops: SceneGradientStop[] };
15
+
8
16
  /**
9
17
  * A plugin-submitted vector layer in frame-content coordinates. Keyed
10
18
  * (on the wire) by the host element id of the frame it renders into.
@@ -65,10 +73,22 @@ export interface PagesLayout {
65
73
  pages: PageRect[];
66
74
  }
67
75
 
76
+ /**
77
+ * One colour stop in a [`SceneGradient`]. `offset` is `0.0..=1.0` along
78
+ * the gradient axis; the colour is sRGB (linearised at lowering).
79
+ */
80
+ export interface SceneGradientStop {
81
+ offset: number;
82
+ r: number;
83
+ g: number;
84
+ b: number;
85
+ a: number;
86
+ }
87
+
68
88
  /**
69
89
  * One drawable in a [`SceneLayer`]. Coordinates are frame-content points.
70
90
  */
71
- export type SceneItem = { kind: "fillPath"; path: ScenePathSeg[]; paint: ScenePaint } | { kind: "strokePath"; path: ScenePathSeg[]; paint: ScenePaint; width: number } | ({ kind: "text" } & SceneTextItem) | { kind: "image"; rgba: number[]; width: number; height: number; x: number; y: number; w: number; h: number };
91
+ export type SceneItem = { kind: "fillPath"; path: ScenePathSeg[]; paint: ScenePaint } | { kind: "strokePath"; path: ScenePathSeg[]; paint: ScenePaint; width: number } | ({ kind: "text" } & SceneTextItem) | { kind: "image"; rgba: number[]; width: number; height: number; x: number; y: number; w: number; h: number } | { kind: "fillPathGradient"; path: ScenePathSeg[]; gradient: SceneGradient };
72
92
 
73
93
  /**
74
94
  * Stable page identity, independent of position in the page vector.
Binary file