@glissade/backend-canvas2d 0.7.0 → 0.8.0-pre.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/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DisplayList, DrawCommand, FontSpec, ShaderCaps, ShaderRef, TextMetricsLite, TextMetricsLite as TextMetricsLite$1, VideoFrameSource } from "@glissade/scene";
1
+ import { BackendCaps, DisplayList, DrawCommand, FontSpec, RenderBackend, ShaderCaps, ShaderRef, TextMetricsLite, TextMetricsLite as TextMetricsLite$1, VideoFrameSource } from "@glissade/scene";
2
2
 
3
3
  //#region src/index.d.ts
4
4
 
@@ -13,9 +13,11 @@ interface ShaderRunner {
13
13
  declare function setShaderRunner(runner: ShaderRunner | null): void;
14
14
  type Drawable = Exclude<CanvasImageSource, SVGImageElement>;
15
15
  type AnyCanvas = HTMLCanvasElement | OffscreenCanvas;
16
- declare class Canvas2DBackend {
16
+ declare class Canvas2DBackend implements RenderBackend {
17
17
  private readonly target;
18
18
  private readonly raster;
19
+ /** All document filters; shaders only when an effects-webgpu runner is registered (§3.7). */
20
+ get caps(): BackendCaps;
19
21
  constructor(target: AnyCanvas, opts?: {
20
22
  shaderCaps?: ShaderCaps;
21
23
  });
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Raster2D, fontString } from "@glissade/scene";
1
+ import { ALL_FILTER_KINDS, Raster2D, fontString } from "@glissade/scene";
2
2
  //#region src/index.ts
3
3
  /**
4
4
  * @glissade/backend-canvas2d — rasterize DisplayLists onto Canvas 2D
@@ -10,9 +10,19 @@ let shaderRunner = null;
10
10
  function setShaderRunner(runner) {
11
11
  shaderRunner = runner;
12
12
  }
13
+ /** Largest canvas dimension browsers reliably allocate. */
14
+ const MAX_TEXTURE = 16384;
13
15
  var Canvas2DBackend = class {
14
16
  target;
15
17
  raster;
18
+ /** All document filters; shaders only when an effects-webgpu runner is registered (§3.7). */
19
+ get caps() {
20
+ return {
21
+ filters: ALL_FILTER_KINDS,
22
+ shaders: shaderRunner !== null,
23
+ maxTextureSize: MAX_TEXTURE
24
+ };
25
+ }
16
26
  constructor(target, opts = {}) {
17
27
  this.target = target;
18
28
  this.raster = new Raster2D({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glissade/backend-canvas2d",
3
- "version": "0.7.0",
3
+ "version": "0.8.0-pre.0",
4
4
  "description": "glissade Canvas 2D render backend: DisplayList -> CanvasRenderingContext2D/OffscreenCanvas.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -15,8 +15,8 @@
15
15
  "dist"
16
16
  ],
17
17
  "dependencies": {
18
- "@glissade/core": "0.7.0",
19
- "@glissade/scene": "0.7.0"
18
+ "@glissade/core": "0.8.0-pre.0",
19
+ "@glissade/scene": "0.8.0-pre.0"
20
20
  },
21
21
  "repository": {
22
22
  "type": "git",