@canvist/canvas 0.0.0-stage → 0.2.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.
@@ -0,0 +1,186 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /**
5
+ * The canvist canvas on a `<canvas>` element.
6
+ */
7
+ export class CanvasApp {
8
+ private constructor();
9
+ free(): void;
10
+ [Symbol.dispose](): void;
11
+ /**
12
+ * Add `count` rectangles below the demo: a heavier scene for measuring
13
+ * frame times.
14
+ */
15
+ add_stress(count: number): void;
16
+ /**
17
+ * Integrate a collaborator's update. Returns whether anything changed.
18
+ */
19
+ apply_update(update: Uint8Array): boolean;
20
+ /**
21
+ * `"webgpu"` or `"cpu"`.
22
+ */
23
+ backend(): string;
24
+ /**
25
+ * Start the canvas on `canvas` as peer `client` (any id but 1), from
26
+ * `scene` (scene JSON text) or, without one, the demo scene, on WebGPU
27
+ * when `prefer_gpu` is set and the browser supports it.
28
+ */
29
+ static create(canvas: HTMLCanvasElement, client: number, prefer_gpu: boolean, scene?: string | null): Promise<CanvasApp>;
30
+ /**
31
+ * The CSS cursor the canvas wants.
32
+ */
33
+ cursor(): string;
34
+ /**
35
+ * Whether a text frame is open in the text editor.
36
+ */
37
+ editing(): boolean;
38
+ /**
39
+ * Everything the peer with state vector `state_vector` lacks.
40
+ */
41
+ encode_diff(state_vector: Uint8Array): Uint8Array;
42
+ /**
43
+ * The whole shared scene as one v1 Yjs update.
44
+ */
45
+ encode_state(): Uint8Array;
46
+ /**
47
+ * Advance camera momentum by `elapsed` seconds. Returns whether to
48
+ * paint another frame.
49
+ */
50
+ frame(elapsed: number): boolean;
51
+ /**
52
+ * A key event; `key` is the DOM `KeyboardEvent.key`. Returns whether
53
+ * the canvas used it, so the host can prevent the browser's default.
54
+ */
55
+ key(key: string, down: boolean, modifiers: number, time: number): boolean;
56
+ /**
57
+ * How many nodes the scene shows.
58
+ */
59
+ node_count(): number;
60
+ /**
61
+ * A pointer event: `phase` is `down`, `move`, `up`, or `cancel`, and
62
+ * `kind` is `mouse`, `pen`, or `touch`. Positions are CSS pixels from
63
+ * the canvas's top left; `time` is milliseconds. Returns whether to
64
+ * repaint.
65
+ */
66
+ pointer(phase: string, id: number, kind: string, x: number, y: number, buttons: number, modifiers: number, time: number): boolean;
67
+ /**
68
+ * Paint and present a frame.
69
+ */
70
+ render(): void;
71
+ /**
72
+ * Size the canvas to `width` by `height` CSS pixels at `scale` device
73
+ * pixels per CSS pixel.
74
+ */
75
+ resize(width: number, height: number, scale: number): void;
76
+ /**
77
+ * The scene as canonical JSON, to store or to compare peers.
78
+ */
79
+ scene_json(): string;
80
+ /**
81
+ * How many nodes are selected.
82
+ */
83
+ selected_count(): number;
84
+ /**
85
+ * Switch to the tool named `name`. Returns whether one exists.
86
+ */
87
+ set_tool(name: string): boolean;
88
+ /**
89
+ * The shared document's state vector, to ask a peer for what this peer
90
+ * lacks.
91
+ */
92
+ state_vector(): Uint8Array;
93
+ /**
94
+ * The updates made since the last call, to broadcast.
95
+ */
96
+ take_updates(): Uint8Array[];
97
+ /**
98
+ * The active tool's name.
99
+ */
100
+ tool(): string;
101
+ /**
102
+ * The registered tools' names.
103
+ */
104
+ tools(): string[];
105
+ /**
106
+ * Text from an IME or a paste, typed into the open text frame.
107
+ */
108
+ type_text(text: string, time: number): boolean;
109
+ /**
110
+ * A wheel event in CSS pixels. `pinch` marks a trackpad pinch, which
111
+ * browsers report as a wheel event with Ctrl held.
112
+ */
113
+ wheel(dx: number, dy: number, x: number, y: number, modifiers: number, pinch: boolean, time: number): boolean;
114
+ /**
115
+ * The camera zoom.
116
+ */
117
+ zoom(): number;
118
+ }
119
+
120
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
121
+
122
+ export interface InitOutput {
123
+ readonly memory: WebAssembly.Memory;
124
+ readonly __wbg_canvasapp_free: (a: number, b: number) => void;
125
+ readonly canvasapp_add_stress: (a: number, b: number) => [number, number];
126
+ readonly canvasapp_apply_update: (a: number, b: number, c: number) => [number, number, number];
127
+ readonly canvasapp_backend: (a: number) => [number, number];
128
+ readonly canvasapp_create: (a: any, b: number, c: number, d: number, e: number) => any;
129
+ readonly canvasapp_cursor: (a: number) => [number, number];
130
+ readonly canvasapp_editing: (a: number) => number;
131
+ readonly canvasapp_encode_diff: (a: number, b: number, c: number) => [number, number, number, number];
132
+ readonly canvasapp_encode_state: (a: number) => [number, number];
133
+ readonly canvasapp_frame: (a: number, b: number) => number;
134
+ readonly canvasapp_key: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
135
+ readonly canvasapp_node_count: (a: number) => number;
136
+ readonly canvasapp_pointer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number, number];
137
+ readonly canvasapp_render: (a: number) => [number, number];
138
+ readonly canvasapp_resize: (a: number, b: number, c: number, d: number) => void;
139
+ readonly canvasapp_scene_json: (a: number) => [number, number];
140
+ readonly canvasapp_selected_count: (a: number) => number;
141
+ readonly canvasapp_set_tool: (a: number, b: number, c: number) => [number, number, number];
142
+ readonly canvasapp_state_vector: (a: number) => [number, number];
143
+ readonly canvasapp_take_updates: (a: number) => [number, number];
144
+ readonly canvasapp_tool: (a: number) => [number, number];
145
+ readonly canvasapp_tools: (a: number) => [number, number];
146
+ readonly canvasapp_type_text: (a: number, b: number, c: number, d: number) => [number, number, number];
147
+ readonly canvasapp_wheel: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
148
+ readonly canvasapp_zoom: (a: number) => number;
149
+ readonly wasm_bindgen__convert__closures_____invoke__h33ea48098cd73632: (a: number, b: number, c: any) => [number, number];
150
+ readonly wasm_bindgen__convert__closures_____invoke__h33ea48098cd73632_27: (a: number, b: number, c: any) => [number, number];
151
+ readonly wasm_bindgen__convert__closures_____invoke__h33ea48098cd73632_28: (a: number, b: number, c: any) => [number, number];
152
+ readonly wasm_bindgen__convert__closures_____invoke__h4851abff709ee24b: (a: number, b: number, c: any) => [number, number];
153
+ readonly wasm_bindgen__convert__closures_____invoke__h570d8909b223014a: (a: number, b: number, c: any, d: any) => void;
154
+ readonly __wbindgen_malloc: (a: number, b: number) => number;
155
+ readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
156
+ readonly __wbindgen_exn_store: (a: number) => void;
157
+ readonly __externref_table_alloc: () => number;
158
+ readonly __wbindgen_externrefs: WebAssembly.Table;
159
+ readonly __wbindgen_destroy_closure: (a: number, b: number) => void;
160
+ readonly __externref_table_dealloc: (a: number) => void;
161
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
162
+ readonly __externref_drop_slice: (a: number, b: number) => void;
163
+ readonly __wbindgen_start: () => void;
164
+ }
165
+
166
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
167
+
168
+ /**
169
+ * Instantiates the given `module`, which can either be bytes or
170
+ * a precompiled `WebAssembly.Module`.
171
+ *
172
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
173
+ *
174
+ * @returns {InitOutput}
175
+ */
176
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
177
+
178
+ /**
179
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
180
+ * for everything else, calls `WebAssembly.instantiate` directly.
181
+ *
182
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
183
+ *
184
+ * @returns {Promise<InitOutput>}
185
+ */
186
+ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;