1import { DiffuseElement } from "@common/element.js";
2
3/**
4 * @import {ProxiedActions} from "@common/worker.d.ts"
5 * @import {Actions} from "./types.d.ts"
6 */
7
8////////////////////////////////////////////
9// ELEMENT
10////////////////////////////////////////////
11
12/**
13 * @implements {ProxiedActions<Actions>}
14 */
15class ArtworkProcessor extends DiffuseElement {
16 static NAME = "diffuse/processor/artwork";
17 static WORKER_URL = "components/processor/artwork/worker.js";
18
19 constructor() {
20 super();
21
22 /** @type {ProxiedActions<Actions>} */
23 const p = this.workerProxy();
24
25 this.artwork = p.artwork;
26 this.supply = p.supply;
27 }
28}
29
30export default ArtworkProcessor;
31
32////////////////////////////////////////////
33// REGISTER
34////////////////////////////////////////////
35
36export const CLASS = ArtworkProcessor;
37export const NAME = "dp-artwork";
38
39customElements.define(NAME, ArtworkProcessor);