Experiment to rebuild Diffuse using web applets.
1import type { ManagedOutput } from "@applets/core/types";
2import { applet } from "@scripts/applet/common";
3
4////////////////////////////////////////////
5// 🗂️ Applets
6////////////////////////////////////////////
7import type * as QueueEngine from "@applets/engine/queue/types.d.ts";
8
9const container = document.querySelector("main");
10if (!container) throw new Error("Missing container");
11
12const labelA = "Deck A";
13const labelB = "Deck B";
14
15const configurator = {
16 output: await applet<ManagedOutput>("/configurator/output"),
17};
18
19const _constituent = {
20 a: applet("/constituent/blur/artwork-controller", { container, groupId: labelA }),
21 b: applet("/constituent/blur/artwork-controller", { container, groupId: labelB }),
22};
23
24// TODO:
25// const _orchestrator = {
26// primary: applet("/orchestrator/primary", { groupId: labelA }),
27// };
28
29// const engine = {
30// queue: {
31// a: await applet<QueueEngine.State>("/engine/queue", { groupId: labelA }),
32// b: await applet<QueueEngine.State>("/engine/queue", { groupId: labelB }),
33// },
34// };
35
36// const deckA = engine.queue.a;
37// const deckB = engine.queue.b;