@lvl99dotcom/paintcanvas 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.
- package/LICENSE +201 -0
- package/README.md +131 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -0
- package/dist/lib/brushes/BrushTipCache/index.d.ts +32 -0
- package/dist/lib/brushes/BrushTipCache/index.js +60 -0
- package/dist/lib/brushes/StrokeEngine/index.d.ts +171 -0
- package/dist/lib/brushes/StrokeEngine/index.js +324 -0
- package/dist/lib/brushes/StrokePath/index.d.ts +53 -0
- package/dist/lib/brushes/StrokePath/index.js +161 -0
- package/dist/lib/brushes/StrokeSampler/index.d.ts +55 -0
- package/dist/lib/brushes/StrokeSampler/index.js +75 -0
- package/dist/lib/brushes/authors/index.d.ts +55 -0
- package/dist/lib/brushes/authors/index.js +60 -0
- package/dist/lib/brushes/configRanges/index.d.ts +52 -0
- package/dist/lib/brushes/configRanges/index.js +206 -0
- package/dist/lib/brushes/index.d.ts +5 -0
- package/dist/lib/brushes/index.js +19 -0
- package/dist/lib/brushes/params/index.d.ts +108 -0
- package/dist/lib/brushes/params/index.js +139 -0
- package/dist/lib/brushes/presetFile/index.d.ts +32 -0
- package/dist/lib/brushes/presetFile/index.js +55 -0
- package/dist/lib/brushes/presets/drawing/brush-pen.js +3 -0
- package/dist/lib/brushes/presets/drawing/felt-pen.js +3 -0
- package/dist/lib/brushes/presets/drawing/index.d.ts +13 -0
- package/dist/lib/brushes/presets/drawing/index.js +88 -0
- package/dist/lib/brushes/presets/drawing/pencil-2b.js +3 -0
- package/dist/lib/brushes/presets/drawing/pencil-hb.js +3 -0
- package/dist/lib/brushes/presets/painting/grass.js +3 -0
- package/dist/lib/brushes/presets/painting/hair.js +3 -0
- package/dist/lib/brushes/presets/painting/index.d.ts +18 -0
- package/dist/lib/brushes/presets/painting/index.js +118 -0
- package/dist/lib/brushes/presets/painting/splatter.js +3 -0
- package/dist/lib/brushes/presets/painting/textured-paint.js +3 -0
- package/dist/lib/brushes/presets/painting/watery-paint.js +3 -0
- package/dist/lib/brushes/presets/round/index.d.ts +9 -0
- package/dist/lib/brushes/presets/round/index.js +44 -0
- package/dist/lib/brushes/presets/round/round.js +3 -0
- package/dist/lib/brushes/presets/round/soft-round.js +3 -0
- package/dist/lib/brushes/presets/sized/index.d.ts +20 -0
- package/dist/lib/brushes/presets/sized/index.js +30 -0
- package/dist/lib/brushes/presets/sketching/index.d.ts +14 -0
- package/dist/lib/brushes/presets/sketching/index.js +107 -0
- package/dist/lib/brushes/presets/square/index.d.ts +7 -0
- package/dist/lib/brushes/presets/square/index.js +22 -0
- package/dist/lib/brushes/presets/square/square.js +3 -0
- package/dist/lib/brushes/shapeImage/index.d.ts +40 -0
- package/dist/lib/brushes/shapeImage/index.js +61 -0
- package/dist/lib/brushes/types/index.d.ts +243 -0
- package/dist/lib/brushes/types/index.js +20 -0
- package/dist/lib/classes/BackgroundWork/index.d.ts +55 -0
- package/dist/lib/classes/BackgroundWork/index.js +97 -0
- package/dist/lib/classes/BrushSettings/index.d.ts +91 -0
- package/dist/lib/classes/BrushSettings/index.js +152 -0
- package/dist/lib/classes/CustomPresets/index.d.ts +53 -0
- package/dist/lib/classes/CustomPresets/index.js +71 -0
- package/dist/lib/classes/ExternalSheets/index.d.ts +64 -0
- package/dist/lib/classes/ExternalSheets/index.js +112 -0
- package/dist/lib/classes/GestureTracker/index.d.ts +62 -0
- package/dist/lib/classes/GestureTracker/index.js +122 -0
- package/dist/lib/classes/History/index.d.ts +83 -0
- package/dist/lib/classes/History/index.js +126 -0
- package/dist/lib/classes/HistoryGuard/index.d.ts +58 -0
- package/dist/lib/classes/HistoryGuard/index.js +97 -0
- package/dist/lib/classes/InputSettings/index.d.ts +74 -0
- package/dist/lib/classes/InputSettings/index.js +101 -0
- package/dist/lib/classes/KeyboardShortcuts/index.d.ts +48 -0
- package/dist/lib/classes/KeyboardShortcuts/index.js +137 -0
- package/dist/lib/classes/Layer/index.d.ts +86 -0
- package/dist/lib/classes/Layer/index.js +111 -0
- package/dist/lib/classes/LayerAutosave/index.d.ts +180 -0
- package/dist/lib/classes/LayerAutosave/index.js +346 -0
- package/dist/lib/classes/LayerStack/index.d.ts +177 -0
- package/dist/lib/classes/LayerStack/index.js +394 -0
- package/dist/lib/classes/PaintCanvas/index.d.ts +537 -0
- package/dist/lib/classes/PaintCanvas/index.js +965 -0
- package/dist/lib/classes/StrokeLog/index.d.ts +149 -0
- package/dist/lib/classes/StrokeLog/index.js +257 -0
- package/dist/lib/classes/Viewport/index.d.ts +108 -0
- package/dist/lib/classes/Viewport/index.js +194 -0
- package/dist/lib/document/index.d.ts +17 -0
- package/dist/lib/document/index.js +25 -0
- package/dist/lib/document/schema.d.ts +132 -0
- package/dist/lib/document/schema.js +110 -0
- package/dist/lib/i18n/index.d.ts +94 -0
- package/dist/lib/i18n/index.js +182 -0
- package/dist/lib/image/index.d.ts +90 -0
- package/dist/lib/image/index.js +147 -0
- package/dist/lib/messages/PatchSender/index.d.ts +75 -0
- package/dist/lib/messages/PatchSender/index.js +125 -0
- package/dist/lib/messages/index.d.ts +26 -0
- package/dist/lib/messages/index.js +59 -0
- package/dist/lib/messages/schema.d.ts +1775 -0
- package/dist/lib/messages/schema.js +192 -0
- package/dist/lib/presets/index.d.ts +32 -0
- package/dist/lib/presets/index.js +35 -0
- package/dist/lib/presets/schema.d.ts +753 -0
- package/dist/lib/presets/schema.js +181 -0
- package/dist/lib/rendering/BrushTip/index.d.ts +63 -0
- package/dist/lib/rendering/BrushTip/index.js +112 -0
- package/dist/lib/rendering/checkerboard/index.d.ts +22 -0
- package/dist/lib/rendering/checkerboard/index.js +31 -0
- package/dist/lib/rendering/compositing/index.d.ts +64 -0
- package/dist/lib/rendering/compositing/index.js +124 -0
- package/dist/lib/rendering/cursor/index.d.ts +14 -0
- package/dist/lib/rendering/cursor/index.js +39 -0
- package/dist/lib/rendering/cursors/index.d.ts +18 -0
- package/dist/lib/rendering/cursors/index.js +23 -0
- package/dist/lib/rendering/maskOutline/index.d.ts +22 -0
- package/dist/lib/rendering/maskOutline/index.js +78 -0
- package/dist/lib/rendering/outline/index.d.ts +36 -0
- package/dist/lib/rendering/outline/index.js +120 -0
- package/dist/lib/rendering/sample/index.d.ts +55 -0
- package/dist/lib/rendering/sample/index.js +83 -0
- package/dist/lib/rendering/screenshot/index.d.ts +67 -0
- package/dist/lib/rendering/screenshot/index.js +96 -0
- package/dist/lib/rendering/transformBox/index.d.ts +10 -0
- package/dist/lib/rendering/transformBox/index.js +57 -0
- package/dist/lib/selection/Lasso/index.d.ts +70 -0
- package/dist/lib/selection/Lasso/index.js +156 -0
- package/dist/lib/selection/Selection/index.d.ts +86 -0
- package/dist/lib/selection/Selection/index.js +228 -0
- package/dist/lib/selection/geometry/index.d.ts +37 -0
- package/dist/lib/selection/geometry/index.js +57 -0
- package/dist/lib/storage/index.d.ts +63 -0
- package/dist/lib/storage/index.js +114 -0
- package/dist/lib/transform/Transformer/index.d.ts +124 -0
- package/dist/lib/transform/Transformer/index.js +286 -0
- package/dist/lib/transform/geometry/index.d.ts +95 -0
- package/dist/lib/transform/geometry/index.js +258 -0
- package/dist/lib/utils/array/index.d.ts +10 -0
- package/dist/lib/utils/array/index.js +21 -0
- package/dist/lib/utils/gestures/index.d.ts +35 -0
- package/dist/lib/utils/gestures/index.js +81 -0
- package/dist/lib/utils/navigation/index.d.ts +51 -0
- package/dist/lib/utils/navigation/index.js +59 -0
- package/dist/lib/utils/random/index.d.ts +18 -0
- package/dist/lib/utils/random/index.js +27 -0
- package/dist/lib/utils/shortcuts/index.d.ts +74 -0
- package/dist/lib/utils/shortcuts/index.js +189 -0
- package/dist/lib/validation/validators.generated.d.ts +27 -0
- package/dist/lib/validation/validators.generated.js +19826 -0
- package/dist/locales/en-GB.js +188 -0
- package/dist/locales/en-US.js +188 -0
- package/dist/locales/fr.js +188 -0
- package/dist/locales/ja.js +188 -0
- package/dist/locales/ko.js +188 -0
- package/dist/locales/zh-Hans.js +188 -0
- package/dist/locales/zh-Hant.js +188 -0
- package/dist/package.js +3 -0
- package/dist/testing/app.d.ts +7 -0
- package/dist/testing/app.js +16 -0
- package/dist/testing/elements.d.ts +42 -0
- package/dist/testing/elements.js +58 -0
- package/dist/testing/fakeCanvas.d.ts +21 -0
- package/dist/testing/fakeCanvas.js +26 -0
- package/dist/testing/layerStore.d.ts +26 -0
- package/dist/testing/layerStore.js +43 -0
- package/dist/testing/locks.d.ts +15 -0
- package/dist/testing/locks.js +41 -0
- package/dist/testing/recordingCanvas.d.ts +14 -0
- package/dist/testing/recordingCanvas.js +28 -0
- package/dist/testing/recordingContext.d.ts +10 -0
- package/dist/testing/recordingContext.js +19 -0
- package/dist/ui/ChangeController/index.d.ts +40 -0
- package/dist/ui/ChangeController/index.js +62 -0
- package/dist/ui/base/index.d.ts +69 -0
- package/dist/ui/base/index.js +94 -0
- package/dist/ui/elements/PaintCanvas/index.d.ts +249 -0
- package/dist/ui/elements/PaintCanvas/index.js +584 -0
- package/dist/ui/elements/PaintCanvas/style.js +3 -0
- package/dist/ui/elements/PcBrushConfig/index.d.ts +130 -0
- package/dist/ui/elements/PcBrushConfig/index.js +463 -0
- package/dist/ui/elements/PcBrushConfig/style.js +3 -0
- package/dist/ui/elements/PcBrushMenu/index.d.ts +121 -0
- package/dist/ui/elements/PcBrushMenu/index.js +362 -0
- package/dist/ui/elements/PcBrushMenu/style.js +3 -0
- package/dist/ui/elements/PcBrushTest/index.d.ts +71 -0
- package/dist/ui/elements/PcBrushTest/index.js +136 -0
- package/dist/ui/elements/PcBrushTest/style.js +3 -0
- package/dist/ui/elements/PcButton/index.d.ts +57 -0
- package/dist/ui/elements/PcButton/index.js +124 -0
- package/dist/ui/elements/PcButtonGroup/index.d.ts +44 -0
- package/dist/ui/elements/PcButtonGroup/index.js +93 -0
- package/dist/ui/elements/PcCanvas/index.d.ts +356 -0
- package/dist/ui/elements/PcCanvas/index.js +1004 -0
- package/dist/ui/elements/PcCanvas/style.js +3 -0
- package/dist/ui/elements/PcCanvasMap/index.d.ts +96 -0
- package/dist/ui/elements/PcCanvasMap/index.js +187 -0
- package/dist/ui/elements/PcCanvasMap/style.js +3 -0
- package/dist/ui/elements/PcContextMenu/index.d.ts +72 -0
- package/dist/ui/elements/PcContextMenu/index.js +148 -0
- package/dist/ui/elements/PcDialog/index.d.ts +63 -0
- package/dist/ui/elements/PcDialog/index.js +114 -0
- package/dist/ui/elements/PcIcon/index.d.ts +36 -0
- package/dist/ui/elements/PcIcon/index.js +43 -0
- package/dist/ui/elements/PcIconToggle/index.d.ts +46 -0
- package/dist/ui/elements/PcIconToggle/index.js +87 -0
- package/dist/ui/elements/PcInfoTip/index.d.ts +40 -0
- package/dist/ui/elements/PcInfoTip/index.js +95 -0
- package/dist/ui/elements/PcInputSettings/index.d.ts +69 -0
- package/dist/ui/elements/PcInputSettings/index.js +150 -0
- package/dist/ui/elements/PcLayerItem/index.d.ts +221 -0
- package/dist/ui/elements/PcLayerItem/index.js +561 -0
- package/dist/ui/elements/PcLayerItem/style.js +3 -0
- package/dist/ui/elements/PcLayersMenu/index.d.ts +108 -0
- package/dist/ui/elements/PcLayersMenu/index.js +208 -0
- package/dist/ui/elements/PcLayersMenu/style.js +3 -0
- package/dist/ui/elements/PcMatch/index.d.ts +31 -0
- package/dist/ui/elements/PcMatch/index.js +58 -0
- package/dist/ui/elements/PcPanel/index.d.ts +43 -0
- package/dist/ui/elements/PcPanel/index.js +51 -0
- package/dist/ui/elements/PcPopover/index.d.ts +48 -0
- package/dist/ui/elements/PcPopover/index.js +86 -0
- package/dist/ui/elements/PcSlider/index.d.ts +57 -0
- package/dist/ui/elements/PcSlider/index.js +88 -0
- package/dist/ui/elements/PcStats/index.d.ts +54 -0
- package/dist/ui/elements/PcStats/index.js +141 -0
- package/dist/ui/elements/PcThemePicker/index.d.ts +56 -0
- package/dist/ui/elements/PcThemePicker/index.js +134 -0
- package/dist/ui/elements/PcToast/index.d.ts +58 -0
- package/dist/ui/elements/PcToast/index.js +110 -0
- package/dist/ui/elements/PcToggleCheckbox/index.d.ts +37 -0
- package/dist/ui/elements/PcToggleCheckbox/index.js +105 -0
- package/dist/ui/elements/PcToolSettings/index.d.ts +128 -0
- package/dist/ui/elements/PcToolSettings/index.js +543 -0
- package/dist/ui/elements/PcToolSettings/style.js +3 -0
- package/dist/ui/elements/PcToolbar/index.d.ts +71 -0
- package/dist/ui/elements/PcToolbar/index.js +190 -0
- package/dist/ui/elements/PcToolbar/style.js +3 -0
- package/dist/ui/icons/images/brush.js +3 -0
- package/dist/ui/icons/images/circle-mask.js +3 -0
- package/dist/ui/icons/images/clipboard.js +3 -0
- package/dist/ui/icons/images/cursor.js +3 -0
- package/dist/ui/icons/images/eraser.js +3 -0
- package/dist/ui/icons/images/eyedropper.js +3 -0
- package/dist/ui/icons/images/flip-horizontal.js +3 -0
- package/dist/ui/icons/images/flip-vertical.js +3 -0
- package/dist/ui/icons/images/focus-pen.js +3 -0
- package/dist/ui/icons/images/freehand-mask.js +3 -0
- package/dist/ui/icons/images/hidden.js +3 -0
- package/dist/ui/icons/images/layers.js +3 -0
- package/dist/ui/icons/images/linked.js +3 -0
- package/dist/ui/icons/images/locked.js +3 -0
- package/dist/ui/icons/images/moon.js +3 -0
- package/dist/ui/icons/images/pan.js +3 -0
- package/dist/ui/icons/images/polygon-mask.js +3 -0
- package/dist/ui/icons/images/pressure.js +3 -0
- package/dist/ui/icons/images/randomise.js +3 -0
- package/dist/ui/icons/images/rectangle-mask.js +3 -0
- package/dist/ui/icons/images/redo.js +3 -0
- package/dist/ui/icons/images/rotate-90-left.js +3 -0
- package/dist/ui/icons/images/rotate-90-right.js +3 -0
- package/dist/ui/icons/images/smoothing-bezier-cubic.js +3 -0
- package/dist/ui/icons/images/smoothing-bezier-quad.js +3 -0
- package/dist/ui/icons/images/smoothing-linear.js +3 -0
- package/dist/ui/icons/images/star.js +3 -0
- package/dist/ui/icons/images/sun.js +3 -0
- package/dist/ui/icons/images/tilt.js +3 -0
- package/dist/ui/icons/images/undo.js +3 -0
- package/dist/ui/icons/images/unlinked.js +3 -0
- package/dist/ui/icons/images/unlocked.js +3 -0
- package/dist/ui/icons/images/visible.js +3 -0
- package/dist/ui/icons/images/zoom-in.js +3 -0
- package/dist/ui/icons/images/zoom-out.js +3 -0
- package/dist/ui/icons/images/zoom.js +3 -0
- package/dist/ui/icons/index.d.ts +42 -0
- package/dist/ui/icons/index.js +130 -0
- package/dist/ui/index.d.ts +21 -0
- package/dist/ui/index.js +22 -0
- package/dist/ui/layout/index.d.ts +88 -0
- package/dist/ui/layout/index.js +96 -0
- package/dist/ui/styles/index.d.ts +13 -0
- package/dist/ui/styles/index.js +195 -0
- package/dist/ui/tokens/index.d.ts +29 -0
- package/dist/ui/tokens/index.js +114 -0
- package/locales/en-GB.json +186 -0
- package/locales/en-US.json +186 -0
- package/locales/fr.json +186 -0
- package/locales/ja.json +186 -0
- package/locales/ko.json +186 -0
- package/locales/zh-Hans.json +186 -0
- package/locales/zh-Hant.json +186 -0
- package/package.json +97 -3
|
@@ -0,0 +1,1775 @@
|
|
|
1
|
+
import { ImageEncoding, type BoundingBox } from "../image/index.ts";
|
|
2
|
+
import type { BrushConfig, BrushStrokePoint } from "../brushes/types/index.ts";
|
|
3
|
+
/** Version of the drawing message protocol, sent in every message */
|
|
4
|
+
export declare const PROTOCOL_VERSION = 1;
|
|
5
|
+
/** Kinds of drawing message */
|
|
6
|
+
export declare const CanvasMessageType: {
|
|
7
|
+
/** Pixels of the sender's whole drawing (all their layers, flattened) within an area */
|
|
8
|
+
readonly Patch: "patch";
|
|
9
|
+
/** A finished brush or eraser stroke */
|
|
10
|
+
readonly Stroke: "stroke";
|
|
11
|
+
/** The sender undid a step */
|
|
12
|
+
readonly Undo: "undo";
|
|
13
|
+
/** The sender redid a step */
|
|
14
|
+
readonly Redo: "redo";
|
|
15
|
+
};
|
|
16
|
+
export type CanvasMessageType = (typeof CanvasMessageType)[keyof typeof CanvasMessageType];
|
|
17
|
+
/** Largest canvas width or height a message may refer to */
|
|
18
|
+
export declare const MAX_MESSAGE_CANVAS_SIZE = 10000;
|
|
19
|
+
/** Most points in one stroke message */
|
|
20
|
+
export declare const MAX_STROKE_POINTS = 100000;
|
|
21
|
+
/** Longest encoded image data in a patch (characters): a whole 10000 × 10000 canvas as base64 RGBA */
|
|
22
|
+
export declare const MAX_PATCH_DATA_LENGTH: number;
|
|
23
|
+
interface BaseCanvasMessage {
|
|
24
|
+
/** Protocol version (`PROTOCOL_VERSION`) */
|
|
25
|
+
protocol: typeof PROTOCOL_VERSION;
|
|
26
|
+
}
|
|
27
|
+
/** Pixels of the sender's whole drawing within an area, replacing what was there */
|
|
28
|
+
export interface PatchMessage extends BaseCanvasMessage {
|
|
29
|
+
type: typeof CanvasMessageType.Patch;
|
|
30
|
+
/** Area the pixels cover */
|
|
31
|
+
coords: BoundingBox;
|
|
32
|
+
encoding: ImageEncoding;
|
|
33
|
+
/** Encoded image data (base64) */
|
|
34
|
+
data: string;
|
|
35
|
+
}
|
|
36
|
+
/** A stroke point with the time it was recorded */
|
|
37
|
+
export interface TimedStrokePoint extends BrushStrokePoint {
|
|
38
|
+
/** Milliseconds, from the same clock as the stroke's other points (e.g. `PointerEvent.timeStamp`) */
|
|
39
|
+
time: number;
|
|
40
|
+
}
|
|
41
|
+
/** A finished brush or eraser stroke, with everything needed to draw it again */
|
|
42
|
+
export interface StrokeMessage extends BaseCanvasMessage {
|
|
43
|
+
type: typeof CanvasMessageType.Stroke;
|
|
44
|
+
/** The history step the stroke made (see undo and redo messages) */
|
|
45
|
+
step: string;
|
|
46
|
+
/** ID of the sender's layer it was drawn on */
|
|
47
|
+
layer: string;
|
|
48
|
+
mode: "paint" | "erase";
|
|
49
|
+
/** Brush settings */
|
|
50
|
+
preset: BrushConfig;
|
|
51
|
+
/** Size chosen by the user */
|
|
52
|
+
size: {
|
|
53
|
+
width: number;
|
|
54
|
+
height: number;
|
|
55
|
+
};
|
|
56
|
+
/** Paint colour as `#rrggbb` */
|
|
57
|
+
colour: string;
|
|
58
|
+
/** Whether input came from a pen (pressure and tilt apply) */
|
|
59
|
+
isPen: boolean;
|
|
60
|
+
/** Seed for the stroke's random variation, so it draws the same again */
|
|
61
|
+
seed: number;
|
|
62
|
+
/** Input points, in order */
|
|
63
|
+
points: TimedStrokePoint[];
|
|
64
|
+
}
|
|
65
|
+
/** The sender undid or redid a step */
|
|
66
|
+
export interface HistoryMessage extends BaseCanvasMessage {
|
|
67
|
+
type: typeof CanvasMessageType.Undo | typeof CanvasMessageType.Redo;
|
|
68
|
+
/** The step undone or redone */
|
|
69
|
+
step: string;
|
|
70
|
+
}
|
|
71
|
+
/** Any drawing message */
|
|
72
|
+
export type CanvasMessage = PatchMessage | StrokeMessage | HistoryMessage;
|
|
73
|
+
/** JSON schema for the brush settings in a stroke message: a brush preset whose ID can be any name (built-in presets
|
|
74
|
+
* have names like `round1`, not UUIDs) */
|
|
75
|
+
export declare const strokePresetSchema: {
|
|
76
|
+
readonly $id: "paintcanvas/stroke-preset";
|
|
77
|
+
readonly properties: {
|
|
78
|
+
readonly id: {
|
|
79
|
+
readonly type: "string";
|
|
80
|
+
readonly minLength: 1;
|
|
81
|
+
readonly maxLength: 100;
|
|
82
|
+
};
|
|
83
|
+
readonly name: {
|
|
84
|
+
readonly type: "string";
|
|
85
|
+
readonly minLength: 1;
|
|
86
|
+
readonly maxLength: 100;
|
|
87
|
+
};
|
|
88
|
+
readonly group: {
|
|
89
|
+
readonly type: "string";
|
|
90
|
+
readonly minLength: 1;
|
|
91
|
+
readonly maxLength: 100;
|
|
92
|
+
};
|
|
93
|
+
readonly version: {
|
|
94
|
+
readonly type: "string";
|
|
95
|
+
readonly maxLength: 20;
|
|
96
|
+
};
|
|
97
|
+
readonly author: {
|
|
98
|
+
readonly anyOf: readonly [{
|
|
99
|
+
readonly type: "string";
|
|
100
|
+
readonly minLength: 1;
|
|
101
|
+
readonly maxLength: 100;
|
|
102
|
+
}, {
|
|
103
|
+
readonly type: "object";
|
|
104
|
+
readonly additionalProperties: false;
|
|
105
|
+
readonly required: readonly ["name"];
|
|
106
|
+
readonly properties: {
|
|
107
|
+
readonly name: {
|
|
108
|
+
readonly type: "string";
|
|
109
|
+
readonly minLength: 1;
|
|
110
|
+
readonly maxLength: 100;
|
|
111
|
+
};
|
|
112
|
+
readonly handle: {
|
|
113
|
+
readonly type: "string";
|
|
114
|
+
readonly minLength: 1;
|
|
115
|
+
readonly maxLength: 100;
|
|
116
|
+
};
|
|
117
|
+
readonly email: {
|
|
118
|
+
readonly type: "string";
|
|
119
|
+
readonly maxLength: 254;
|
|
120
|
+
};
|
|
121
|
+
readonly website: {
|
|
122
|
+
readonly type: "string";
|
|
123
|
+
readonly maxLength: 2048;
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
}];
|
|
127
|
+
};
|
|
128
|
+
readonly image: {
|
|
129
|
+
readonly type: "string";
|
|
130
|
+
readonly pattern: "^data:image/png;base64,[A-Za-z0-9+/]+={0,2}$";
|
|
131
|
+
readonly maxLength: number;
|
|
132
|
+
};
|
|
133
|
+
readonly colourMode: {
|
|
134
|
+
readonly enum: readonly [0, 1];
|
|
135
|
+
};
|
|
136
|
+
readonly hue: {
|
|
137
|
+
readonly anyOf: readonly [{
|
|
138
|
+
readonly type: "number";
|
|
139
|
+
}, {
|
|
140
|
+
readonly type: "string";
|
|
141
|
+
readonly maxLength: 20;
|
|
142
|
+
}];
|
|
143
|
+
};
|
|
144
|
+
readonly hueConfig: {
|
|
145
|
+
readonly type: "object";
|
|
146
|
+
readonly additionalProperties: false;
|
|
147
|
+
readonly properties: {
|
|
148
|
+
readonly useRandomise: {
|
|
149
|
+
readonly type: "boolean";
|
|
150
|
+
};
|
|
151
|
+
readonly minRandomise: {
|
|
152
|
+
readonly type: "number";
|
|
153
|
+
readonly minimum: 0;
|
|
154
|
+
readonly maximum: 1;
|
|
155
|
+
};
|
|
156
|
+
readonly maxRandomise: {
|
|
157
|
+
readonly type: "number";
|
|
158
|
+
readonly minimum: 0;
|
|
159
|
+
readonly maximum: 1;
|
|
160
|
+
};
|
|
161
|
+
readonly usePressure: {
|
|
162
|
+
readonly type: "boolean";
|
|
163
|
+
};
|
|
164
|
+
readonly minPressure: {
|
|
165
|
+
readonly type: "number";
|
|
166
|
+
readonly minimum: 0;
|
|
167
|
+
readonly maximum: 1;
|
|
168
|
+
};
|
|
169
|
+
readonly maxPressure: {
|
|
170
|
+
readonly type: "number";
|
|
171
|
+
readonly minimum: 0;
|
|
172
|
+
readonly maximum: 1;
|
|
173
|
+
};
|
|
174
|
+
readonly useTilt: {
|
|
175
|
+
readonly type: "boolean";
|
|
176
|
+
};
|
|
177
|
+
readonly minTilt: {
|
|
178
|
+
readonly type: "number";
|
|
179
|
+
readonly minimum: 0;
|
|
180
|
+
readonly maximum: 1;
|
|
181
|
+
};
|
|
182
|
+
readonly maxTilt: {
|
|
183
|
+
readonly type: "number";
|
|
184
|
+
readonly minimum: 0;
|
|
185
|
+
readonly maximum: 1;
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
readonly saturation: {
|
|
190
|
+
readonly anyOf: readonly [{
|
|
191
|
+
readonly type: "number";
|
|
192
|
+
}, {
|
|
193
|
+
readonly type: "string";
|
|
194
|
+
readonly maxLength: 20;
|
|
195
|
+
}];
|
|
196
|
+
};
|
|
197
|
+
readonly saturationConfig: {
|
|
198
|
+
readonly type: "object";
|
|
199
|
+
readonly additionalProperties: false;
|
|
200
|
+
readonly properties: {
|
|
201
|
+
readonly useRandomise: {
|
|
202
|
+
readonly type: "boolean";
|
|
203
|
+
};
|
|
204
|
+
readonly minRandomise: {
|
|
205
|
+
readonly type: "number";
|
|
206
|
+
readonly minimum: 0;
|
|
207
|
+
readonly maximum: 1;
|
|
208
|
+
};
|
|
209
|
+
readonly maxRandomise: {
|
|
210
|
+
readonly type: "number";
|
|
211
|
+
readonly minimum: 0;
|
|
212
|
+
readonly maximum: 1;
|
|
213
|
+
};
|
|
214
|
+
readonly usePressure: {
|
|
215
|
+
readonly type: "boolean";
|
|
216
|
+
};
|
|
217
|
+
readonly minPressure: {
|
|
218
|
+
readonly type: "number";
|
|
219
|
+
readonly minimum: 0;
|
|
220
|
+
readonly maximum: 1;
|
|
221
|
+
};
|
|
222
|
+
readonly maxPressure: {
|
|
223
|
+
readonly type: "number";
|
|
224
|
+
readonly minimum: 0;
|
|
225
|
+
readonly maximum: 1;
|
|
226
|
+
};
|
|
227
|
+
readonly useTilt: {
|
|
228
|
+
readonly type: "boolean";
|
|
229
|
+
};
|
|
230
|
+
readonly minTilt: {
|
|
231
|
+
readonly type: "number";
|
|
232
|
+
readonly minimum: 0;
|
|
233
|
+
readonly maximum: 1;
|
|
234
|
+
};
|
|
235
|
+
readonly maxTilt: {
|
|
236
|
+
readonly type: "number";
|
|
237
|
+
readonly minimum: 0;
|
|
238
|
+
readonly maximum: 1;
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
};
|
|
242
|
+
readonly lightness: {
|
|
243
|
+
readonly anyOf: readonly [{
|
|
244
|
+
readonly type: "number";
|
|
245
|
+
}, {
|
|
246
|
+
readonly type: "string";
|
|
247
|
+
readonly maxLength: 20;
|
|
248
|
+
}];
|
|
249
|
+
};
|
|
250
|
+
readonly lightnessConfig: {
|
|
251
|
+
readonly type: "object";
|
|
252
|
+
readonly additionalProperties: false;
|
|
253
|
+
readonly properties: {
|
|
254
|
+
readonly useRandomise: {
|
|
255
|
+
readonly type: "boolean";
|
|
256
|
+
};
|
|
257
|
+
readonly minRandomise: {
|
|
258
|
+
readonly type: "number";
|
|
259
|
+
readonly minimum: 0;
|
|
260
|
+
readonly maximum: 1;
|
|
261
|
+
};
|
|
262
|
+
readonly maxRandomise: {
|
|
263
|
+
readonly type: "number";
|
|
264
|
+
readonly minimum: 0;
|
|
265
|
+
readonly maximum: 1;
|
|
266
|
+
};
|
|
267
|
+
readonly usePressure: {
|
|
268
|
+
readonly type: "boolean";
|
|
269
|
+
};
|
|
270
|
+
readonly minPressure: {
|
|
271
|
+
readonly type: "number";
|
|
272
|
+
readonly minimum: 0;
|
|
273
|
+
readonly maximum: 1;
|
|
274
|
+
};
|
|
275
|
+
readonly maxPressure: {
|
|
276
|
+
readonly type: "number";
|
|
277
|
+
readonly minimum: 0;
|
|
278
|
+
readonly maximum: 1;
|
|
279
|
+
};
|
|
280
|
+
readonly useTilt: {
|
|
281
|
+
readonly type: "boolean";
|
|
282
|
+
};
|
|
283
|
+
readonly minTilt: {
|
|
284
|
+
readonly type: "number";
|
|
285
|
+
readonly minimum: 0;
|
|
286
|
+
readonly maximum: 1;
|
|
287
|
+
};
|
|
288
|
+
readonly maxTilt: {
|
|
289
|
+
readonly type: "number";
|
|
290
|
+
readonly minimum: 0;
|
|
291
|
+
readonly maximum: 1;
|
|
292
|
+
};
|
|
293
|
+
};
|
|
294
|
+
};
|
|
295
|
+
readonly red: {
|
|
296
|
+
readonly anyOf: readonly [{
|
|
297
|
+
readonly type: "number";
|
|
298
|
+
}, {
|
|
299
|
+
readonly type: "string";
|
|
300
|
+
readonly maxLength: 20;
|
|
301
|
+
}];
|
|
302
|
+
};
|
|
303
|
+
readonly redConfig: {
|
|
304
|
+
readonly type: "object";
|
|
305
|
+
readonly additionalProperties: false;
|
|
306
|
+
readonly properties: {
|
|
307
|
+
readonly useRandomise: {
|
|
308
|
+
readonly type: "boolean";
|
|
309
|
+
};
|
|
310
|
+
readonly minRandomise: {
|
|
311
|
+
readonly type: "number";
|
|
312
|
+
readonly minimum: 0;
|
|
313
|
+
readonly maximum: 1;
|
|
314
|
+
};
|
|
315
|
+
readonly maxRandomise: {
|
|
316
|
+
readonly type: "number";
|
|
317
|
+
readonly minimum: 0;
|
|
318
|
+
readonly maximum: 1;
|
|
319
|
+
};
|
|
320
|
+
readonly usePressure: {
|
|
321
|
+
readonly type: "boolean";
|
|
322
|
+
};
|
|
323
|
+
readonly minPressure: {
|
|
324
|
+
readonly type: "number";
|
|
325
|
+
readonly minimum: 0;
|
|
326
|
+
readonly maximum: 1;
|
|
327
|
+
};
|
|
328
|
+
readonly maxPressure: {
|
|
329
|
+
readonly type: "number";
|
|
330
|
+
readonly minimum: 0;
|
|
331
|
+
readonly maximum: 1;
|
|
332
|
+
};
|
|
333
|
+
readonly useTilt: {
|
|
334
|
+
readonly type: "boolean";
|
|
335
|
+
};
|
|
336
|
+
readonly minTilt: {
|
|
337
|
+
readonly type: "number";
|
|
338
|
+
readonly minimum: 0;
|
|
339
|
+
readonly maximum: 1;
|
|
340
|
+
};
|
|
341
|
+
readonly maxTilt: {
|
|
342
|
+
readonly type: "number";
|
|
343
|
+
readonly minimum: 0;
|
|
344
|
+
readonly maximum: 1;
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
};
|
|
348
|
+
readonly green: {
|
|
349
|
+
readonly anyOf: readonly [{
|
|
350
|
+
readonly type: "number";
|
|
351
|
+
}, {
|
|
352
|
+
readonly type: "string";
|
|
353
|
+
readonly maxLength: 20;
|
|
354
|
+
}];
|
|
355
|
+
};
|
|
356
|
+
readonly greenConfig: {
|
|
357
|
+
readonly type: "object";
|
|
358
|
+
readonly additionalProperties: false;
|
|
359
|
+
readonly properties: {
|
|
360
|
+
readonly useRandomise: {
|
|
361
|
+
readonly type: "boolean";
|
|
362
|
+
};
|
|
363
|
+
readonly minRandomise: {
|
|
364
|
+
readonly type: "number";
|
|
365
|
+
readonly minimum: 0;
|
|
366
|
+
readonly maximum: 1;
|
|
367
|
+
};
|
|
368
|
+
readonly maxRandomise: {
|
|
369
|
+
readonly type: "number";
|
|
370
|
+
readonly minimum: 0;
|
|
371
|
+
readonly maximum: 1;
|
|
372
|
+
};
|
|
373
|
+
readonly usePressure: {
|
|
374
|
+
readonly type: "boolean";
|
|
375
|
+
};
|
|
376
|
+
readonly minPressure: {
|
|
377
|
+
readonly type: "number";
|
|
378
|
+
readonly minimum: 0;
|
|
379
|
+
readonly maximum: 1;
|
|
380
|
+
};
|
|
381
|
+
readonly maxPressure: {
|
|
382
|
+
readonly type: "number";
|
|
383
|
+
readonly minimum: 0;
|
|
384
|
+
readonly maximum: 1;
|
|
385
|
+
};
|
|
386
|
+
readonly useTilt: {
|
|
387
|
+
readonly type: "boolean";
|
|
388
|
+
};
|
|
389
|
+
readonly minTilt: {
|
|
390
|
+
readonly type: "number";
|
|
391
|
+
readonly minimum: 0;
|
|
392
|
+
readonly maximum: 1;
|
|
393
|
+
};
|
|
394
|
+
readonly maxTilt: {
|
|
395
|
+
readonly type: "number";
|
|
396
|
+
readonly minimum: 0;
|
|
397
|
+
readonly maximum: 1;
|
|
398
|
+
};
|
|
399
|
+
};
|
|
400
|
+
};
|
|
401
|
+
readonly blue: {
|
|
402
|
+
readonly anyOf: readonly [{
|
|
403
|
+
readonly type: "number";
|
|
404
|
+
}, {
|
|
405
|
+
readonly type: "string";
|
|
406
|
+
readonly maxLength: 20;
|
|
407
|
+
}];
|
|
408
|
+
};
|
|
409
|
+
readonly blueConfig: {
|
|
410
|
+
readonly type: "object";
|
|
411
|
+
readonly additionalProperties: false;
|
|
412
|
+
readonly properties: {
|
|
413
|
+
readonly useRandomise: {
|
|
414
|
+
readonly type: "boolean";
|
|
415
|
+
};
|
|
416
|
+
readonly minRandomise: {
|
|
417
|
+
readonly type: "number";
|
|
418
|
+
readonly minimum: 0;
|
|
419
|
+
readonly maximum: 1;
|
|
420
|
+
};
|
|
421
|
+
readonly maxRandomise: {
|
|
422
|
+
readonly type: "number";
|
|
423
|
+
readonly minimum: 0;
|
|
424
|
+
readonly maximum: 1;
|
|
425
|
+
};
|
|
426
|
+
readonly usePressure: {
|
|
427
|
+
readonly type: "boolean";
|
|
428
|
+
};
|
|
429
|
+
readonly minPressure: {
|
|
430
|
+
readonly type: "number";
|
|
431
|
+
readonly minimum: 0;
|
|
432
|
+
readonly maximum: 1;
|
|
433
|
+
};
|
|
434
|
+
readonly maxPressure: {
|
|
435
|
+
readonly type: "number";
|
|
436
|
+
readonly minimum: 0;
|
|
437
|
+
readonly maximum: 1;
|
|
438
|
+
};
|
|
439
|
+
readonly useTilt: {
|
|
440
|
+
readonly type: "boolean";
|
|
441
|
+
};
|
|
442
|
+
readonly minTilt: {
|
|
443
|
+
readonly type: "number";
|
|
444
|
+
readonly minimum: 0;
|
|
445
|
+
readonly maximum: 1;
|
|
446
|
+
};
|
|
447
|
+
readonly maxTilt: {
|
|
448
|
+
readonly type: "number";
|
|
449
|
+
readonly minimum: 0;
|
|
450
|
+
readonly maximum: 1;
|
|
451
|
+
};
|
|
452
|
+
};
|
|
453
|
+
};
|
|
454
|
+
readonly alpha: {
|
|
455
|
+
readonly type: "number";
|
|
456
|
+
readonly minimum: 0;
|
|
457
|
+
readonly maximum: 1;
|
|
458
|
+
};
|
|
459
|
+
readonly alphaConfig: {
|
|
460
|
+
readonly type: "object";
|
|
461
|
+
readonly additionalProperties: false;
|
|
462
|
+
readonly properties: {
|
|
463
|
+
readonly useRandomise: {
|
|
464
|
+
readonly type: "boolean";
|
|
465
|
+
};
|
|
466
|
+
readonly minRandomise: {
|
|
467
|
+
readonly type: "number";
|
|
468
|
+
readonly minimum: 0;
|
|
469
|
+
readonly maximum: 1;
|
|
470
|
+
};
|
|
471
|
+
readonly maxRandomise: {
|
|
472
|
+
readonly type: "number";
|
|
473
|
+
readonly minimum: 0;
|
|
474
|
+
readonly maximum: 1;
|
|
475
|
+
};
|
|
476
|
+
readonly usePressure: {
|
|
477
|
+
readonly type: "boolean";
|
|
478
|
+
};
|
|
479
|
+
readonly minPressure: {
|
|
480
|
+
readonly type: "number";
|
|
481
|
+
readonly minimum: 0;
|
|
482
|
+
readonly maximum: 1;
|
|
483
|
+
};
|
|
484
|
+
readonly maxPressure: {
|
|
485
|
+
readonly type: "number";
|
|
486
|
+
readonly minimum: 0;
|
|
487
|
+
readonly maximum: 1;
|
|
488
|
+
};
|
|
489
|
+
readonly useTilt: {
|
|
490
|
+
readonly type: "boolean";
|
|
491
|
+
};
|
|
492
|
+
readonly minTilt: {
|
|
493
|
+
readonly type: "number";
|
|
494
|
+
readonly minimum: 0;
|
|
495
|
+
readonly maximum: 1;
|
|
496
|
+
};
|
|
497
|
+
readonly maxTilt: {
|
|
498
|
+
readonly type: "number";
|
|
499
|
+
readonly minimum: 0;
|
|
500
|
+
readonly maximum: 1;
|
|
501
|
+
};
|
|
502
|
+
};
|
|
503
|
+
};
|
|
504
|
+
readonly width: {
|
|
505
|
+
readonly type: "number";
|
|
506
|
+
readonly minimum: 1;
|
|
507
|
+
readonly maximum: 256;
|
|
508
|
+
};
|
|
509
|
+
readonly widthConfig: {
|
|
510
|
+
readonly type: "object";
|
|
511
|
+
readonly additionalProperties: false;
|
|
512
|
+
readonly properties: {
|
|
513
|
+
readonly useRandomise: {
|
|
514
|
+
readonly type: "boolean";
|
|
515
|
+
};
|
|
516
|
+
readonly minRandomise: {
|
|
517
|
+
readonly type: "number";
|
|
518
|
+
readonly minimum: 0;
|
|
519
|
+
readonly maximum: 1;
|
|
520
|
+
};
|
|
521
|
+
readonly maxRandomise: {
|
|
522
|
+
readonly type: "number";
|
|
523
|
+
readonly minimum: 0;
|
|
524
|
+
readonly maximum: 1;
|
|
525
|
+
};
|
|
526
|
+
readonly usePressure: {
|
|
527
|
+
readonly type: "boolean";
|
|
528
|
+
};
|
|
529
|
+
readonly minPressure: {
|
|
530
|
+
readonly type: "number";
|
|
531
|
+
readonly minimum: 0;
|
|
532
|
+
readonly maximum: 1;
|
|
533
|
+
};
|
|
534
|
+
readonly maxPressure: {
|
|
535
|
+
readonly type: "number";
|
|
536
|
+
readonly minimum: 0;
|
|
537
|
+
readonly maximum: 1;
|
|
538
|
+
};
|
|
539
|
+
readonly useTilt: {
|
|
540
|
+
readonly type: "boolean";
|
|
541
|
+
};
|
|
542
|
+
readonly minTilt: {
|
|
543
|
+
readonly type: "number";
|
|
544
|
+
readonly minimum: 0;
|
|
545
|
+
readonly maximum: 1;
|
|
546
|
+
};
|
|
547
|
+
readonly maxTilt: {
|
|
548
|
+
readonly type: "number";
|
|
549
|
+
readonly minimum: 0;
|
|
550
|
+
readonly maximum: 1;
|
|
551
|
+
};
|
|
552
|
+
};
|
|
553
|
+
};
|
|
554
|
+
readonly height: {
|
|
555
|
+
readonly type: "number";
|
|
556
|
+
readonly minimum: 1;
|
|
557
|
+
readonly maximum: 256;
|
|
558
|
+
};
|
|
559
|
+
readonly heightConfig: {
|
|
560
|
+
readonly type: "object";
|
|
561
|
+
readonly additionalProperties: false;
|
|
562
|
+
readonly properties: {
|
|
563
|
+
readonly useRandomise: {
|
|
564
|
+
readonly type: "boolean";
|
|
565
|
+
};
|
|
566
|
+
readonly minRandomise: {
|
|
567
|
+
readonly type: "number";
|
|
568
|
+
readonly minimum: 0;
|
|
569
|
+
readonly maximum: 1;
|
|
570
|
+
};
|
|
571
|
+
readonly maxRandomise: {
|
|
572
|
+
readonly type: "number";
|
|
573
|
+
readonly minimum: 0;
|
|
574
|
+
readonly maximum: 1;
|
|
575
|
+
};
|
|
576
|
+
readonly usePressure: {
|
|
577
|
+
readonly type: "boolean";
|
|
578
|
+
};
|
|
579
|
+
readonly minPressure: {
|
|
580
|
+
readonly type: "number";
|
|
581
|
+
readonly minimum: 0;
|
|
582
|
+
readonly maximum: 1;
|
|
583
|
+
};
|
|
584
|
+
readonly maxPressure: {
|
|
585
|
+
readonly type: "number";
|
|
586
|
+
readonly minimum: 0;
|
|
587
|
+
readonly maximum: 1;
|
|
588
|
+
};
|
|
589
|
+
readonly useTilt: {
|
|
590
|
+
readonly type: "boolean";
|
|
591
|
+
};
|
|
592
|
+
readonly minTilt: {
|
|
593
|
+
readonly type: "number";
|
|
594
|
+
readonly minimum: 0;
|
|
595
|
+
readonly maximum: 1;
|
|
596
|
+
};
|
|
597
|
+
readonly maxTilt: {
|
|
598
|
+
readonly type: "number";
|
|
599
|
+
readonly minimum: 0;
|
|
600
|
+
readonly maximum: 1;
|
|
601
|
+
};
|
|
602
|
+
};
|
|
603
|
+
};
|
|
604
|
+
readonly constrainProportions: {
|
|
605
|
+
readonly type: "boolean";
|
|
606
|
+
};
|
|
607
|
+
readonly rotation: {
|
|
608
|
+
readonly type: "number";
|
|
609
|
+
readonly minimum: -360;
|
|
610
|
+
readonly maximum: 360;
|
|
611
|
+
};
|
|
612
|
+
readonly rotationConfig: {
|
|
613
|
+
readonly type: "object";
|
|
614
|
+
readonly additionalProperties: false;
|
|
615
|
+
readonly properties: {
|
|
616
|
+
readonly useRandomise: {
|
|
617
|
+
readonly type: "boolean";
|
|
618
|
+
};
|
|
619
|
+
readonly minRandomise: {
|
|
620
|
+
readonly type: "number";
|
|
621
|
+
readonly minimum: 0;
|
|
622
|
+
readonly maximum: 1;
|
|
623
|
+
};
|
|
624
|
+
readonly maxRandomise: {
|
|
625
|
+
readonly type: "number";
|
|
626
|
+
readonly minimum: 0;
|
|
627
|
+
readonly maximum: 1;
|
|
628
|
+
};
|
|
629
|
+
readonly usePressure: {
|
|
630
|
+
readonly type: "boolean";
|
|
631
|
+
};
|
|
632
|
+
readonly minPressure: {
|
|
633
|
+
readonly type: "number";
|
|
634
|
+
readonly minimum: 0;
|
|
635
|
+
readonly maximum: 1;
|
|
636
|
+
};
|
|
637
|
+
readonly maxPressure: {
|
|
638
|
+
readonly type: "number";
|
|
639
|
+
readonly minimum: 0;
|
|
640
|
+
readonly maximum: 1;
|
|
641
|
+
};
|
|
642
|
+
readonly useTilt: {
|
|
643
|
+
readonly type: "boolean";
|
|
644
|
+
};
|
|
645
|
+
readonly minTilt: {
|
|
646
|
+
readonly type: "number";
|
|
647
|
+
readonly minimum: 0;
|
|
648
|
+
readonly maximum: 1;
|
|
649
|
+
};
|
|
650
|
+
readonly maxTilt: {
|
|
651
|
+
readonly type: "number";
|
|
652
|
+
readonly minimum: 0;
|
|
653
|
+
readonly maximum: 1;
|
|
654
|
+
};
|
|
655
|
+
};
|
|
656
|
+
};
|
|
657
|
+
readonly offsetX: {
|
|
658
|
+
readonly type: "number";
|
|
659
|
+
readonly minimum: -256;
|
|
660
|
+
readonly maximum: 256;
|
|
661
|
+
};
|
|
662
|
+
readonly offsetXConfig: {
|
|
663
|
+
readonly type: "object";
|
|
664
|
+
readonly additionalProperties: false;
|
|
665
|
+
readonly properties: {
|
|
666
|
+
readonly useRandomise: {
|
|
667
|
+
readonly type: "boolean";
|
|
668
|
+
};
|
|
669
|
+
readonly minRandomise: {
|
|
670
|
+
readonly type: "number";
|
|
671
|
+
readonly minimum: 0;
|
|
672
|
+
readonly maximum: 1;
|
|
673
|
+
};
|
|
674
|
+
readonly maxRandomise: {
|
|
675
|
+
readonly type: "number";
|
|
676
|
+
readonly minimum: 0;
|
|
677
|
+
readonly maximum: 1;
|
|
678
|
+
};
|
|
679
|
+
readonly usePressure: {
|
|
680
|
+
readonly type: "boolean";
|
|
681
|
+
};
|
|
682
|
+
readonly minPressure: {
|
|
683
|
+
readonly type: "number";
|
|
684
|
+
readonly minimum: 0;
|
|
685
|
+
readonly maximum: 1;
|
|
686
|
+
};
|
|
687
|
+
readonly maxPressure: {
|
|
688
|
+
readonly type: "number";
|
|
689
|
+
readonly minimum: 0;
|
|
690
|
+
readonly maximum: 1;
|
|
691
|
+
};
|
|
692
|
+
readonly useTilt: {
|
|
693
|
+
readonly type: "boolean";
|
|
694
|
+
};
|
|
695
|
+
readonly minTilt: {
|
|
696
|
+
readonly type: "number";
|
|
697
|
+
readonly minimum: 0;
|
|
698
|
+
readonly maximum: 1;
|
|
699
|
+
};
|
|
700
|
+
readonly maxTilt: {
|
|
701
|
+
readonly type: "number";
|
|
702
|
+
readonly minimum: 0;
|
|
703
|
+
readonly maximum: 1;
|
|
704
|
+
};
|
|
705
|
+
};
|
|
706
|
+
};
|
|
707
|
+
readonly offsetY: {
|
|
708
|
+
readonly type: "number";
|
|
709
|
+
readonly minimum: -256;
|
|
710
|
+
readonly maximum: 256;
|
|
711
|
+
};
|
|
712
|
+
readonly offsetYConfig: {
|
|
713
|
+
readonly type: "object";
|
|
714
|
+
readonly additionalProperties: false;
|
|
715
|
+
readonly properties: {
|
|
716
|
+
readonly useRandomise: {
|
|
717
|
+
readonly type: "boolean";
|
|
718
|
+
};
|
|
719
|
+
readonly minRandomise: {
|
|
720
|
+
readonly type: "number";
|
|
721
|
+
readonly minimum: 0;
|
|
722
|
+
readonly maximum: 1;
|
|
723
|
+
};
|
|
724
|
+
readonly maxRandomise: {
|
|
725
|
+
readonly type: "number";
|
|
726
|
+
readonly minimum: 0;
|
|
727
|
+
readonly maximum: 1;
|
|
728
|
+
};
|
|
729
|
+
readonly usePressure: {
|
|
730
|
+
readonly type: "boolean";
|
|
731
|
+
};
|
|
732
|
+
readonly minPressure: {
|
|
733
|
+
readonly type: "number";
|
|
734
|
+
readonly minimum: 0;
|
|
735
|
+
readonly maximum: 1;
|
|
736
|
+
};
|
|
737
|
+
readonly maxPressure: {
|
|
738
|
+
readonly type: "number";
|
|
739
|
+
readonly minimum: 0;
|
|
740
|
+
readonly maximum: 1;
|
|
741
|
+
};
|
|
742
|
+
readonly useTilt: {
|
|
743
|
+
readonly type: "boolean";
|
|
744
|
+
};
|
|
745
|
+
readonly minTilt: {
|
|
746
|
+
readonly type: "number";
|
|
747
|
+
readonly minimum: 0;
|
|
748
|
+
readonly maximum: 1;
|
|
749
|
+
};
|
|
750
|
+
readonly maxTilt: {
|
|
751
|
+
readonly type: "number";
|
|
752
|
+
readonly minimum: 0;
|
|
753
|
+
readonly maximum: 1;
|
|
754
|
+
};
|
|
755
|
+
};
|
|
756
|
+
};
|
|
757
|
+
readonly sampleRate: {
|
|
758
|
+
readonly type: "number";
|
|
759
|
+
readonly minimum: 5;
|
|
760
|
+
readonly maximum: 400;
|
|
761
|
+
};
|
|
762
|
+
readonly smoothingType: {
|
|
763
|
+
readonly enum: readonly [0, 1, 2, 3];
|
|
764
|
+
};
|
|
765
|
+
readonly spacing: {
|
|
766
|
+
readonly type: "number";
|
|
767
|
+
readonly minimum: 0;
|
|
768
|
+
readonly maximum: 200;
|
|
769
|
+
};
|
|
770
|
+
readonly snapToPixelGrid: {
|
|
771
|
+
readonly type: "boolean";
|
|
772
|
+
};
|
|
773
|
+
};
|
|
774
|
+
readonly type: "object";
|
|
775
|
+
readonly additionalProperties: false;
|
|
776
|
+
readonly required: readonly ["id"];
|
|
777
|
+
};
|
|
778
|
+
/** JSON schema for a patch message */
|
|
779
|
+
export declare const patchMessageSchema: {
|
|
780
|
+
readonly $id: "paintcanvas/message/patch";
|
|
781
|
+
readonly type: "object";
|
|
782
|
+
readonly additionalProperties: false;
|
|
783
|
+
readonly required: readonly ["protocol", "type", "coords", "encoding", "data"];
|
|
784
|
+
readonly properties: {
|
|
785
|
+
readonly protocol: {
|
|
786
|
+
readonly const: 1;
|
|
787
|
+
};
|
|
788
|
+
readonly type: {
|
|
789
|
+
readonly const: "patch";
|
|
790
|
+
};
|
|
791
|
+
readonly coords: {
|
|
792
|
+
readonly type: "array";
|
|
793
|
+
readonly items: {
|
|
794
|
+
readonly type: "integer";
|
|
795
|
+
readonly minimum: 0;
|
|
796
|
+
readonly maximum: 10000;
|
|
797
|
+
};
|
|
798
|
+
readonly minItems: 4;
|
|
799
|
+
readonly maxItems: 4;
|
|
800
|
+
};
|
|
801
|
+
readonly encoding: {
|
|
802
|
+
readonly enum: ("rgba-deflate" | "png")[];
|
|
803
|
+
};
|
|
804
|
+
readonly data: {
|
|
805
|
+
readonly type: "string";
|
|
806
|
+
readonly pattern: "^[A-Za-z0-9+/]*={0,2}$";
|
|
807
|
+
readonly maxLength: number;
|
|
808
|
+
};
|
|
809
|
+
};
|
|
810
|
+
};
|
|
811
|
+
/** JSON schema for a stroke message */
|
|
812
|
+
export declare const strokeMessageSchema: {
|
|
813
|
+
readonly $id: "paintcanvas/message/stroke";
|
|
814
|
+
readonly type: "object";
|
|
815
|
+
readonly additionalProperties: false;
|
|
816
|
+
readonly required: readonly ["protocol", "type", "step", "layer", "mode", "preset", "size", "colour", "isPen", "seed", "points"];
|
|
817
|
+
readonly properties: {
|
|
818
|
+
readonly protocol: {
|
|
819
|
+
readonly const: 1;
|
|
820
|
+
};
|
|
821
|
+
readonly type: {
|
|
822
|
+
readonly const: "stroke";
|
|
823
|
+
};
|
|
824
|
+
readonly step: {
|
|
825
|
+
readonly type: "string";
|
|
826
|
+
readonly pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
|
|
827
|
+
};
|
|
828
|
+
readonly layer: {
|
|
829
|
+
readonly type: "string";
|
|
830
|
+
readonly minLength: 1;
|
|
831
|
+
readonly maxLength: 100;
|
|
832
|
+
};
|
|
833
|
+
readonly mode: {
|
|
834
|
+
readonly enum: readonly ["paint", "erase"];
|
|
835
|
+
};
|
|
836
|
+
readonly preset: {
|
|
837
|
+
readonly $ref: "../stroke-preset";
|
|
838
|
+
};
|
|
839
|
+
readonly size: {
|
|
840
|
+
readonly type: "object";
|
|
841
|
+
readonly additionalProperties: false;
|
|
842
|
+
readonly required: readonly ["width", "height"];
|
|
843
|
+
readonly properties: {
|
|
844
|
+
readonly width: {
|
|
845
|
+
readonly type: "number";
|
|
846
|
+
readonly minimum: 0;
|
|
847
|
+
readonly maximum: 10000;
|
|
848
|
+
};
|
|
849
|
+
readonly height: {
|
|
850
|
+
readonly type: "number";
|
|
851
|
+
readonly minimum: 0;
|
|
852
|
+
readonly maximum: 10000;
|
|
853
|
+
};
|
|
854
|
+
};
|
|
855
|
+
};
|
|
856
|
+
readonly colour: {
|
|
857
|
+
readonly type: "string";
|
|
858
|
+
readonly pattern: "^#[0-9a-fA-F]{6}$";
|
|
859
|
+
};
|
|
860
|
+
readonly isPen: {
|
|
861
|
+
readonly type: "boolean";
|
|
862
|
+
};
|
|
863
|
+
readonly seed: {
|
|
864
|
+
readonly type: "integer";
|
|
865
|
+
readonly minimum: 0;
|
|
866
|
+
readonly maximum: 4294967295;
|
|
867
|
+
};
|
|
868
|
+
readonly points: {
|
|
869
|
+
readonly type: "array";
|
|
870
|
+
readonly minItems: 1;
|
|
871
|
+
readonly maxItems: 100000;
|
|
872
|
+
readonly items: {
|
|
873
|
+
readonly type: "object";
|
|
874
|
+
readonly additionalProperties: false;
|
|
875
|
+
readonly required: readonly ["x", "y", "time"];
|
|
876
|
+
readonly properties: {
|
|
877
|
+
readonly x: {
|
|
878
|
+
readonly type: "number";
|
|
879
|
+
};
|
|
880
|
+
readonly y: {
|
|
881
|
+
readonly type: "number";
|
|
882
|
+
};
|
|
883
|
+
readonly time: {
|
|
884
|
+
readonly type: "number";
|
|
885
|
+
};
|
|
886
|
+
readonly rotation: {
|
|
887
|
+
readonly type: "number";
|
|
888
|
+
};
|
|
889
|
+
readonly pressure: {
|
|
890
|
+
readonly type: "number";
|
|
891
|
+
readonly minimum: 0;
|
|
892
|
+
readonly maximum: 1;
|
|
893
|
+
};
|
|
894
|
+
readonly tiltX: {
|
|
895
|
+
readonly type: "number";
|
|
896
|
+
readonly minimum: -90;
|
|
897
|
+
readonly maximum: 90;
|
|
898
|
+
};
|
|
899
|
+
readonly tiltY: {
|
|
900
|
+
readonly type: "number";
|
|
901
|
+
readonly minimum: -90;
|
|
902
|
+
readonly maximum: 90;
|
|
903
|
+
};
|
|
904
|
+
};
|
|
905
|
+
};
|
|
906
|
+
};
|
|
907
|
+
};
|
|
908
|
+
};
|
|
909
|
+
/** JSON schema for an undo or redo message */
|
|
910
|
+
export declare const historyMessageSchema: {
|
|
911
|
+
readonly $id: "paintcanvas/message/history";
|
|
912
|
+
readonly type: "object";
|
|
913
|
+
readonly additionalProperties: false;
|
|
914
|
+
readonly required: readonly ["protocol", "type", "step"];
|
|
915
|
+
readonly properties: {
|
|
916
|
+
readonly protocol: {
|
|
917
|
+
readonly const: 1;
|
|
918
|
+
};
|
|
919
|
+
readonly type: {
|
|
920
|
+
readonly enum: readonly ["undo", "redo"];
|
|
921
|
+
};
|
|
922
|
+
readonly step: {
|
|
923
|
+
readonly type: "string";
|
|
924
|
+
readonly pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
|
|
925
|
+
};
|
|
926
|
+
};
|
|
927
|
+
};
|
|
928
|
+
export declare const messageSchemas: readonly [{
|
|
929
|
+
readonly $id: "paintcanvas/stroke-preset";
|
|
930
|
+
readonly properties: {
|
|
931
|
+
readonly id: {
|
|
932
|
+
readonly type: "string";
|
|
933
|
+
readonly minLength: 1;
|
|
934
|
+
readonly maxLength: 100;
|
|
935
|
+
};
|
|
936
|
+
readonly name: {
|
|
937
|
+
readonly type: "string";
|
|
938
|
+
readonly minLength: 1;
|
|
939
|
+
readonly maxLength: 100;
|
|
940
|
+
};
|
|
941
|
+
readonly group: {
|
|
942
|
+
readonly type: "string";
|
|
943
|
+
readonly minLength: 1;
|
|
944
|
+
readonly maxLength: 100;
|
|
945
|
+
};
|
|
946
|
+
readonly version: {
|
|
947
|
+
readonly type: "string";
|
|
948
|
+
readonly maxLength: 20;
|
|
949
|
+
};
|
|
950
|
+
readonly author: {
|
|
951
|
+
readonly anyOf: readonly [{
|
|
952
|
+
readonly type: "string";
|
|
953
|
+
readonly minLength: 1;
|
|
954
|
+
readonly maxLength: 100;
|
|
955
|
+
}, {
|
|
956
|
+
readonly type: "object";
|
|
957
|
+
readonly additionalProperties: false;
|
|
958
|
+
readonly required: readonly ["name"];
|
|
959
|
+
readonly properties: {
|
|
960
|
+
readonly name: {
|
|
961
|
+
readonly type: "string";
|
|
962
|
+
readonly minLength: 1;
|
|
963
|
+
readonly maxLength: 100;
|
|
964
|
+
};
|
|
965
|
+
readonly handle: {
|
|
966
|
+
readonly type: "string";
|
|
967
|
+
readonly minLength: 1;
|
|
968
|
+
readonly maxLength: 100;
|
|
969
|
+
};
|
|
970
|
+
readonly email: {
|
|
971
|
+
readonly type: "string";
|
|
972
|
+
readonly maxLength: 254;
|
|
973
|
+
};
|
|
974
|
+
readonly website: {
|
|
975
|
+
readonly type: "string";
|
|
976
|
+
readonly maxLength: 2048;
|
|
977
|
+
};
|
|
978
|
+
};
|
|
979
|
+
}];
|
|
980
|
+
};
|
|
981
|
+
readonly image: {
|
|
982
|
+
readonly type: "string";
|
|
983
|
+
readonly pattern: "^data:image/png;base64,[A-Za-z0-9+/]+={0,2}$";
|
|
984
|
+
readonly maxLength: number;
|
|
985
|
+
};
|
|
986
|
+
readonly colourMode: {
|
|
987
|
+
readonly enum: readonly [0, 1];
|
|
988
|
+
};
|
|
989
|
+
readonly hue: {
|
|
990
|
+
readonly anyOf: readonly [{
|
|
991
|
+
readonly type: "number";
|
|
992
|
+
}, {
|
|
993
|
+
readonly type: "string";
|
|
994
|
+
readonly maxLength: 20;
|
|
995
|
+
}];
|
|
996
|
+
};
|
|
997
|
+
readonly hueConfig: {
|
|
998
|
+
readonly type: "object";
|
|
999
|
+
readonly additionalProperties: false;
|
|
1000
|
+
readonly properties: {
|
|
1001
|
+
readonly useRandomise: {
|
|
1002
|
+
readonly type: "boolean";
|
|
1003
|
+
};
|
|
1004
|
+
readonly minRandomise: {
|
|
1005
|
+
readonly type: "number";
|
|
1006
|
+
readonly minimum: 0;
|
|
1007
|
+
readonly maximum: 1;
|
|
1008
|
+
};
|
|
1009
|
+
readonly maxRandomise: {
|
|
1010
|
+
readonly type: "number";
|
|
1011
|
+
readonly minimum: 0;
|
|
1012
|
+
readonly maximum: 1;
|
|
1013
|
+
};
|
|
1014
|
+
readonly usePressure: {
|
|
1015
|
+
readonly type: "boolean";
|
|
1016
|
+
};
|
|
1017
|
+
readonly minPressure: {
|
|
1018
|
+
readonly type: "number";
|
|
1019
|
+
readonly minimum: 0;
|
|
1020
|
+
readonly maximum: 1;
|
|
1021
|
+
};
|
|
1022
|
+
readonly maxPressure: {
|
|
1023
|
+
readonly type: "number";
|
|
1024
|
+
readonly minimum: 0;
|
|
1025
|
+
readonly maximum: 1;
|
|
1026
|
+
};
|
|
1027
|
+
readonly useTilt: {
|
|
1028
|
+
readonly type: "boolean";
|
|
1029
|
+
};
|
|
1030
|
+
readonly minTilt: {
|
|
1031
|
+
readonly type: "number";
|
|
1032
|
+
readonly minimum: 0;
|
|
1033
|
+
readonly maximum: 1;
|
|
1034
|
+
};
|
|
1035
|
+
readonly maxTilt: {
|
|
1036
|
+
readonly type: "number";
|
|
1037
|
+
readonly minimum: 0;
|
|
1038
|
+
readonly maximum: 1;
|
|
1039
|
+
};
|
|
1040
|
+
};
|
|
1041
|
+
};
|
|
1042
|
+
readonly saturation: {
|
|
1043
|
+
readonly anyOf: readonly [{
|
|
1044
|
+
readonly type: "number";
|
|
1045
|
+
}, {
|
|
1046
|
+
readonly type: "string";
|
|
1047
|
+
readonly maxLength: 20;
|
|
1048
|
+
}];
|
|
1049
|
+
};
|
|
1050
|
+
readonly saturationConfig: {
|
|
1051
|
+
readonly type: "object";
|
|
1052
|
+
readonly additionalProperties: false;
|
|
1053
|
+
readonly properties: {
|
|
1054
|
+
readonly useRandomise: {
|
|
1055
|
+
readonly type: "boolean";
|
|
1056
|
+
};
|
|
1057
|
+
readonly minRandomise: {
|
|
1058
|
+
readonly type: "number";
|
|
1059
|
+
readonly minimum: 0;
|
|
1060
|
+
readonly maximum: 1;
|
|
1061
|
+
};
|
|
1062
|
+
readonly maxRandomise: {
|
|
1063
|
+
readonly type: "number";
|
|
1064
|
+
readonly minimum: 0;
|
|
1065
|
+
readonly maximum: 1;
|
|
1066
|
+
};
|
|
1067
|
+
readonly usePressure: {
|
|
1068
|
+
readonly type: "boolean";
|
|
1069
|
+
};
|
|
1070
|
+
readonly minPressure: {
|
|
1071
|
+
readonly type: "number";
|
|
1072
|
+
readonly minimum: 0;
|
|
1073
|
+
readonly maximum: 1;
|
|
1074
|
+
};
|
|
1075
|
+
readonly maxPressure: {
|
|
1076
|
+
readonly type: "number";
|
|
1077
|
+
readonly minimum: 0;
|
|
1078
|
+
readonly maximum: 1;
|
|
1079
|
+
};
|
|
1080
|
+
readonly useTilt: {
|
|
1081
|
+
readonly type: "boolean";
|
|
1082
|
+
};
|
|
1083
|
+
readonly minTilt: {
|
|
1084
|
+
readonly type: "number";
|
|
1085
|
+
readonly minimum: 0;
|
|
1086
|
+
readonly maximum: 1;
|
|
1087
|
+
};
|
|
1088
|
+
readonly maxTilt: {
|
|
1089
|
+
readonly type: "number";
|
|
1090
|
+
readonly minimum: 0;
|
|
1091
|
+
readonly maximum: 1;
|
|
1092
|
+
};
|
|
1093
|
+
};
|
|
1094
|
+
};
|
|
1095
|
+
readonly lightness: {
|
|
1096
|
+
readonly anyOf: readonly [{
|
|
1097
|
+
readonly type: "number";
|
|
1098
|
+
}, {
|
|
1099
|
+
readonly type: "string";
|
|
1100
|
+
readonly maxLength: 20;
|
|
1101
|
+
}];
|
|
1102
|
+
};
|
|
1103
|
+
readonly lightnessConfig: {
|
|
1104
|
+
readonly type: "object";
|
|
1105
|
+
readonly additionalProperties: false;
|
|
1106
|
+
readonly properties: {
|
|
1107
|
+
readonly useRandomise: {
|
|
1108
|
+
readonly type: "boolean";
|
|
1109
|
+
};
|
|
1110
|
+
readonly minRandomise: {
|
|
1111
|
+
readonly type: "number";
|
|
1112
|
+
readonly minimum: 0;
|
|
1113
|
+
readonly maximum: 1;
|
|
1114
|
+
};
|
|
1115
|
+
readonly maxRandomise: {
|
|
1116
|
+
readonly type: "number";
|
|
1117
|
+
readonly minimum: 0;
|
|
1118
|
+
readonly maximum: 1;
|
|
1119
|
+
};
|
|
1120
|
+
readonly usePressure: {
|
|
1121
|
+
readonly type: "boolean";
|
|
1122
|
+
};
|
|
1123
|
+
readonly minPressure: {
|
|
1124
|
+
readonly type: "number";
|
|
1125
|
+
readonly minimum: 0;
|
|
1126
|
+
readonly maximum: 1;
|
|
1127
|
+
};
|
|
1128
|
+
readonly maxPressure: {
|
|
1129
|
+
readonly type: "number";
|
|
1130
|
+
readonly minimum: 0;
|
|
1131
|
+
readonly maximum: 1;
|
|
1132
|
+
};
|
|
1133
|
+
readonly useTilt: {
|
|
1134
|
+
readonly type: "boolean";
|
|
1135
|
+
};
|
|
1136
|
+
readonly minTilt: {
|
|
1137
|
+
readonly type: "number";
|
|
1138
|
+
readonly minimum: 0;
|
|
1139
|
+
readonly maximum: 1;
|
|
1140
|
+
};
|
|
1141
|
+
readonly maxTilt: {
|
|
1142
|
+
readonly type: "number";
|
|
1143
|
+
readonly minimum: 0;
|
|
1144
|
+
readonly maximum: 1;
|
|
1145
|
+
};
|
|
1146
|
+
};
|
|
1147
|
+
};
|
|
1148
|
+
readonly red: {
|
|
1149
|
+
readonly anyOf: readonly [{
|
|
1150
|
+
readonly type: "number";
|
|
1151
|
+
}, {
|
|
1152
|
+
readonly type: "string";
|
|
1153
|
+
readonly maxLength: 20;
|
|
1154
|
+
}];
|
|
1155
|
+
};
|
|
1156
|
+
readonly redConfig: {
|
|
1157
|
+
readonly type: "object";
|
|
1158
|
+
readonly additionalProperties: false;
|
|
1159
|
+
readonly properties: {
|
|
1160
|
+
readonly useRandomise: {
|
|
1161
|
+
readonly type: "boolean";
|
|
1162
|
+
};
|
|
1163
|
+
readonly minRandomise: {
|
|
1164
|
+
readonly type: "number";
|
|
1165
|
+
readonly minimum: 0;
|
|
1166
|
+
readonly maximum: 1;
|
|
1167
|
+
};
|
|
1168
|
+
readonly maxRandomise: {
|
|
1169
|
+
readonly type: "number";
|
|
1170
|
+
readonly minimum: 0;
|
|
1171
|
+
readonly maximum: 1;
|
|
1172
|
+
};
|
|
1173
|
+
readonly usePressure: {
|
|
1174
|
+
readonly type: "boolean";
|
|
1175
|
+
};
|
|
1176
|
+
readonly minPressure: {
|
|
1177
|
+
readonly type: "number";
|
|
1178
|
+
readonly minimum: 0;
|
|
1179
|
+
readonly maximum: 1;
|
|
1180
|
+
};
|
|
1181
|
+
readonly maxPressure: {
|
|
1182
|
+
readonly type: "number";
|
|
1183
|
+
readonly minimum: 0;
|
|
1184
|
+
readonly maximum: 1;
|
|
1185
|
+
};
|
|
1186
|
+
readonly useTilt: {
|
|
1187
|
+
readonly type: "boolean";
|
|
1188
|
+
};
|
|
1189
|
+
readonly minTilt: {
|
|
1190
|
+
readonly type: "number";
|
|
1191
|
+
readonly minimum: 0;
|
|
1192
|
+
readonly maximum: 1;
|
|
1193
|
+
};
|
|
1194
|
+
readonly maxTilt: {
|
|
1195
|
+
readonly type: "number";
|
|
1196
|
+
readonly minimum: 0;
|
|
1197
|
+
readonly maximum: 1;
|
|
1198
|
+
};
|
|
1199
|
+
};
|
|
1200
|
+
};
|
|
1201
|
+
readonly green: {
|
|
1202
|
+
readonly anyOf: readonly [{
|
|
1203
|
+
readonly type: "number";
|
|
1204
|
+
}, {
|
|
1205
|
+
readonly type: "string";
|
|
1206
|
+
readonly maxLength: 20;
|
|
1207
|
+
}];
|
|
1208
|
+
};
|
|
1209
|
+
readonly greenConfig: {
|
|
1210
|
+
readonly type: "object";
|
|
1211
|
+
readonly additionalProperties: false;
|
|
1212
|
+
readonly properties: {
|
|
1213
|
+
readonly useRandomise: {
|
|
1214
|
+
readonly type: "boolean";
|
|
1215
|
+
};
|
|
1216
|
+
readonly minRandomise: {
|
|
1217
|
+
readonly type: "number";
|
|
1218
|
+
readonly minimum: 0;
|
|
1219
|
+
readonly maximum: 1;
|
|
1220
|
+
};
|
|
1221
|
+
readonly maxRandomise: {
|
|
1222
|
+
readonly type: "number";
|
|
1223
|
+
readonly minimum: 0;
|
|
1224
|
+
readonly maximum: 1;
|
|
1225
|
+
};
|
|
1226
|
+
readonly usePressure: {
|
|
1227
|
+
readonly type: "boolean";
|
|
1228
|
+
};
|
|
1229
|
+
readonly minPressure: {
|
|
1230
|
+
readonly type: "number";
|
|
1231
|
+
readonly minimum: 0;
|
|
1232
|
+
readonly maximum: 1;
|
|
1233
|
+
};
|
|
1234
|
+
readonly maxPressure: {
|
|
1235
|
+
readonly type: "number";
|
|
1236
|
+
readonly minimum: 0;
|
|
1237
|
+
readonly maximum: 1;
|
|
1238
|
+
};
|
|
1239
|
+
readonly useTilt: {
|
|
1240
|
+
readonly type: "boolean";
|
|
1241
|
+
};
|
|
1242
|
+
readonly minTilt: {
|
|
1243
|
+
readonly type: "number";
|
|
1244
|
+
readonly minimum: 0;
|
|
1245
|
+
readonly maximum: 1;
|
|
1246
|
+
};
|
|
1247
|
+
readonly maxTilt: {
|
|
1248
|
+
readonly type: "number";
|
|
1249
|
+
readonly minimum: 0;
|
|
1250
|
+
readonly maximum: 1;
|
|
1251
|
+
};
|
|
1252
|
+
};
|
|
1253
|
+
};
|
|
1254
|
+
readonly blue: {
|
|
1255
|
+
readonly anyOf: readonly [{
|
|
1256
|
+
readonly type: "number";
|
|
1257
|
+
}, {
|
|
1258
|
+
readonly type: "string";
|
|
1259
|
+
readonly maxLength: 20;
|
|
1260
|
+
}];
|
|
1261
|
+
};
|
|
1262
|
+
readonly blueConfig: {
|
|
1263
|
+
readonly type: "object";
|
|
1264
|
+
readonly additionalProperties: false;
|
|
1265
|
+
readonly properties: {
|
|
1266
|
+
readonly useRandomise: {
|
|
1267
|
+
readonly type: "boolean";
|
|
1268
|
+
};
|
|
1269
|
+
readonly minRandomise: {
|
|
1270
|
+
readonly type: "number";
|
|
1271
|
+
readonly minimum: 0;
|
|
1272
|
+
readonly maximum: 1;
|
|
1273
|
+
};
|
|
1274
|
+
readonly maxRandomise: {
|
|
1275
|
+
readonly type: "number";
|
|
1276
|
+
readonly minimum: 0;
|
|
1277
|
+
readonly maximum: 1;
|
|
1278
|
+
};
|
|
1279
|
+
readonly usePressure: {
|
|
1280
|
+
readonly type: "boolean";
|
|
1281
|
+
};
|
|
1282
|
+
readonly minPressure: {
|
|
1283
|
+
readonly type: "number";
|
|
1284
|
+
readonly minimum: 0;
|
|
1285
|
+
readonly maximum: 1;
|
|
1286
|
+
};
|
|
1287
|
+
readonly maxPressure: {
|
|
1288
|
+
readonly type: "number";
|
|
1289
|
+
readonly minimum: 0;
|
|
1290
|
+
readonly maximum: 1;
|
|
1291
|
+
};
|
|
1292
|
+
readonly useTilt: {
|
|
1293
|
+
readonly type: "boolean";
|
|
1294
|
+
};
|
|
1295
|
+
readonly minTilt: {
|
|
1296
|
+
readonly type: "number";
|
|
1297
|
+
readonly minimum: 0;
|
|
1298
|
+
readonly maximum: 1;
|
|
1299
|
+
};
|
|
1300
|
+
readonly maxTilt: {
|
|
1301
|
+
readonly type: "number";
|
|
1302
|
+
readonly minimum: 0;
|
|
1303
|
+
readonly maximum: 1;
|
|
1304
|
+
};
|
|
1305
|
+
};
|
|
1306
|
+
};
|
|
1307
|
+
readonly alpha: {
|
|
1308
|
+
readonly type: "number";
|
|
1309
|
+
readonly minimum: 0;
|
|
1310
|
+
readonly maximum: 1;
|
|
1311
|
+
};
|
|
1312
|
+
readonly alphaConfig: {
|
|
1313
|
+
readonly type: "object";
|
|
1314
|
+
readonly additionalProperties: false;
|
|
1315
|
+
readonly properties: {
|
|
1316
|
+
readonly useRandomise: {
|
|
1317
|
+
readonly type: "boolean";
|
|
1318
|
+
};
|
|
1319
|
+
readonly minRandomise: {
|
|
1320
|
+
readonly type: "number";
|
|
1321
|
+
readonly minimum: 0;
|
|
1322
|
+
readonly maximum: 1;
|
|
1323
|
+
};
|
|
1324
|
+
readonly maxRandomise: {
|
|
1325
|
+
readonly type: "number";
|
|
1326
|
+
readonly minimum: 0;
|
|
1327
|
+
readonly maximum: 1;
|
|
1328
|
+
};
|
|
1329
|
+
readonly usePressure: {
|
|
1330
|
+
readonly type: "boolean";
|
|
1331
|
+
};
|
|
1332
|
+
readonly minPressure: {
|
|
1333
|
+
readonly type: "number";
|
|
1334
|
+
readonly minimum: 0;
|
|
1335
|
+
readonly maximum: 1;
|
|
1336
|
+
};
|
|
1337
|
+
readonly maxPressure: {
|
|
1338
|
+
readonly type: "number";
|
|
1339
|
+
readonly minimum: 0;
|
|
1340
|
+
readonly maximum: 1;
|
|
1341
|
+
};
|
|
1342
|
+
readonly useTilt: {
|
|
1343
|
+
readonly type: "boolean";
|
|
1344
|
+
};
|
|
1345
|
+
readonly minTilt: {
|
|
1346
|
+
readonly type: "number";
|
|
1347
|
+
readonly minimum: 0;
|
|
1348
|
+
readonly maximum: 1;
|
|
1349
|
+
};
|
|
1350
|
+
readonly maxTilt: {
|
|
1351
|
+
readonly type: "number";
|
|
1352
|
+
readonly minimum: 0;
|
|
1353
|
+
readonly maximum: 1;
|
|
1354
|
+
};
|
|
1355
|
+
};
|
|
1356
|
+
};
|
|
1357
|
+
readonly width: {
|
|
1358
|
+
readonly type: "number";
|
|
1359
|
+
readonly minimum: 1;
|
|
1360
|
+
readonly maximum: 256;
|
|
1361
|
+
};
|
|
1362
|
+
readonly widthConfig: {
|
|
1363
|
+
readonly type: "object";
|
|
1364
|
+
readonly additionalProperties: false;
|
|
1365
|
+
readonly properties: {
|
|
1366
|
+
readonly useRandomise: {
|
|
1367
|
+
readonly type: "boolean";
|
|
1368
|
+
};
|
|
1369
|
+
readonly minRandomise: {
|
|
1370
|
+
readonly type: "number";
|
|
1371
|
+
readonly minimum: 0;
|
|
1372
|
+
readonly maximum: 1;
|
|
1373
|
+
};
|
|
1374
|
+
readonly maxRandomise: {
|
|
1375
|
+
readonly type: "number";
|
|
1376
|
+
readonly minimum: 0;
|
|
1377
|
+
readonly maximum: 1;
|
|
1378
|
+
};
|
|
1379
|
+
readonly usePressure: {
|
|
1380
|
+
readonly type: "boolean";
|
|
1381
|
+
};
|
|
1382
|
+
readonly minPressure: {
|
|
1383
|
+
readonly type: "number";
|
|
1384
|
+
readonly minimum: 0;
|
|
1385
|
+
readonly maximum: 1;
|
|
1386
|
+
};
|
|
1387
|
+
readonly maxPressure: {
|
|
1388
|
+
readonly type: "number";
|
|
1389
|
+
readonly minimum: 0;
|
|
1390
|
+
readonly maximum: 1;
|
|
1391
|
+
};
|
|
1392
|
+
readonly useTilt: {
|
|
1393
|
+
readonly type: "boolean";
|
|
1394
|
+
};
|
|
1395
|
+
readonly minTilt: {
|
|
1396
|
+
readonly type: "number";
|
|
1397
|
+
readonly minimum: 0;
|
|
1398
|
+
readonly maximum: 1;
|
|
1399
|
+
};
|
|
1400
|
+
readonly maxTilt: {
|
|
1401
|
+
readonly type: "number";
|
|
1402
|
+
readonly minimum: 0;
|
|
1403
|
+
readonly maximum: 1;
|
|
1404
|
+
};
|
|
1405
|
+
};
|
|
1406
|
+
};
|
|
1407
|
+
readonly height: {
|
|
1408
|
+
readonly type: "number";
|
|
1409
|
+
readonly minimum: 1;
|
|
1410
|
+
readonly maximum: 256;
|
|
1411
|
+
};
|
|
1412
|
+
readonly heightConfig: {
|
|
1413
|
+
readonly type: "object";
|
|
1414
|
+
readonly additionalProperties: false;
|
|
1415
|
+
readonly properties: {
|
|
1416
|
+
readonly useRandomise: {
|
|
1417
|
+
readonly type: "boolean";
|
|
1418
|
+
};
|
|
1419
|
+
readonly minRandomise: {
|
|
1420
|
+
readonly type: "number";
|
|
1421
|
+
readonly minimum: 0;
|
|
1422
|
+
readonly maximum: 1;
|
|
1423
|
+
};
|
|
1424
|
+
readonly maxRandomise: {
|
|
1425
|
+
readonly type: "number";
|
|
1426
|
+
readonly minimum: 0;
|
|
1427
|
+
readonly maximum: 1;
|
|
1428
|
+
};
|
|
1429
|
+
readonly usePressure: {
|
|
1430
|
+
readonly type: "boolean";
|
|
1431
|
+
};
|
|
1432
|
+
readonly minPressure: {
|
|
1433
|
+
readonly type: "number";
|
|
1434
|
+
readonly minimum: 0;
|
|
1435
|
+
readonly maximum: 1;
|
|
1436
|
+
};
|
|
1437
|
+
readonly maxPressure: {
|
|
1438
|
+
readonly type: "number";
|
|
1439
|
+
readonly minimum: 0;
|
|
1440
|
+
readonly maximum: 1;
|
|
1441
|
+
};
|
|
1442
|
+
readonly useTilt: {
|
|
1443
|
+
readonly type: "boolean";
|
|
1444
|
+
};
|
|
1445
|
+
readonly minTilt: {
|
|
1446
|
+
readonly type: "number";
|
|
1447
|
+
readonly minimum: 0;
|
|
1448
|
+
readonly maximum: 1;
|
|
1449
|
+
};
|
|
1450
|
+
readonly maxTilt: {
|
|
1451
|
+
readonly type: "number";
|
|
1452
|
+
readonly minimum: 0;
|
|
1453
|
+
readonly maximum: 1;
|
|
1454
|
+
};
|
|
1455
|
+
};
|
|
1456
|
+
};
|
|
1457
|
+
readonly constrainProportions: {
|
|
1458
|
+
readonly type: "boolean";
|
|
1459
|
+
};
|
|
1460
|
+
readonly rotation: {
|
|
1461
|
+
readonly type: "number";
|
|
1462
|
+
readonly minimum: -360;
|
|
1463
|
+
readonly maximum: 360;
|
|
1464
|
+
};
|
|
1465
|
+
readonly rotationConfig: {
|
|
1466
|
+
readonly type: "object";
|
|
1467
|
+
readonly additionalProperties: false;
|
|
1468
|
+
readonly properties: {
|
|
1469
|
+
readonly useRandomise: {
|
|
1470
|
+
readonly type: "boolean";
|
|
1471
|
+
};
|
|
1472
|
+
readonly minRandomise: {
|
|
1473
|
+
readonly type: "number";
|
|
1474
|
+
readonly minimum: 0;
|
|
1475
|
+
readonly maximum: 1;
|
|
1476
|
+
};
|
|
1477
|
+
readonly maxRandomise: {
|
|
1478
|
+
readonly type: "number";
|
|
1479
|
+
readonly minimum: 0;
|
|
1480
|
+
readonly maximum: 1;
|
|
1481
|
+
};
|
|
1482
|
+
readonly usePressure: {
|
|
1483
|
+
readonly type: "boolean";
|
|
1484
|
+
};
|
|
1485
|
+
readonly minPressure: {
|
|
1486
|
+
readonly type: "number";
|
|
1487
|
+
readonly minimum: 0;
|
|
1488
|
+
readonly maximum: 1;
|
|
1489
|
+
};
|
|
1490
|
+
readonly maxPressure: {
|
|
1491
|
+
readonly type: "number";
|
|
1492
|
+
readonly minimum: 0;
|
|
1493
|
+
readonly maximum: 1;
|
|
1494
|
+
};
|
|
1495
|
+
readonly useTilt: {
|
|
1496
|
+
readonly type: "boolean";
|
|
1497
|
+
};
|
|
1498
|
+
readonly minTilt: {
|
|
1499
|
+
readonly type: "number";
|
|
1500
|
+
readonly minimum: 0;
|
|
1501
|
+
readonly maximum: 1;
|
|
1502
|
+
};
|
|
1503
|
+
readonly maxTilt: {
|
|
1504
|
+
readonly type: "number";
|
|
1505
|
+
readonly minimum: 0;
|
|
1506
|
+
readonly maximum: 1;
|
|
1507
|
+
};
|
|
1508
|
+
};
|
|
1509
|
+
};
|
|
1510
|
+
readonly offsetX: {
|
|
1511
|
+
readonly type: "number";
|
|
1512
|
+
readonly minimum: -256;
|
|
1513
|
+
readonly maximum: 256;
|
|
1514
|
+
};
|
|
1515
|
+
readonly offsetXConfig: {
|
|
1516
|
+
readonly type: "object";
|
|
1517
|
+
readonly additionalProperties: false;
|
|
1518
|
+
readonly properties: {
|
|
1519
|
+
readonly useRandomise: {
|
|
1520
|
+
readonly type: "boolean";
|
|
1521
|
+
};
|
|
1522
|
+
readonly minRandomise: {
|
|
1523
|
+
readonly type: "number";
|
|
1524
|
+
readonly minimum: 0;
|
|
1525
|
+
readonly maximum: 1;
|
|
1526
|
+
};
|
|
1527
|
+
readonly maxRandomise: {
|
|
1528
|
+
readonly type: "number";
|
|
1529
|
+
readonly minimum: 0;
|
|
1530
|
+
readonly maximum: 1;
|
|
1531
|
+
};
|
|
1532
|
+
readonly usePressure: {
|
|
1533
|
+
readonly type: "boolean";
|
|
1534
|
+
};
|
|
1535
|
+
readonly minPressure: {
|
|
1536
|
+
readonly type: "number";
|
|
1537
|
+
readonly minimum: 0;
|
|
1538
|
+
readonly maximum: 1;
|
|
1539
|
+
};
|
|
1540
|
+
readonly maxPressure: {
|
|
1541
|
+
readonly type: "number";
|
|
1542
|
+
readonly minimum: 0;
|
|
1543
|
+
readonly maximum: 1;
|
|
1544
|
+
};
|
|
1545
|
+
readonly useTilt: {
|
|
1546
|
+
readonly type: "boolean";
|
|
1547
|
+
};
|
|
1548
|
+
readonly minTilt: {
|
|
1549
|
+
readonly type: "number";
|
|
1550
|
+
readonly minimum: 0;
|
|
1551
|
+
readonly maximum: 1;
|
|
1552
|
+
};
|
|
1553
|
+
readonly maxTilt: {
|
|
1554
|
+
readonly type: "number";
|
|
1555
|
+
readonly minimum: 0;
|
|
1556
|
+
readonly maximum: 1;
|
|
1557
|
+
};
|
|
1558
|
+
};
|
|
1559
|
+
};
|
|
1560
|
+
readonly offsetY: {
|
|
1561
|
+
readonly type: "number";
|
|
1562
|
+
readonly minimum: -256;
|
|
1563
|
+
readonly maximum: 256;
|
|
1564
|
+
};
|
|
1565
|
+
readonly offsetYConfig: {
|
|
1566
|
+
readonly type: "object";
|
|
1567
|
+
readonly additionalProperties: false;
|
|
1568
|
+
readonly properties: {
|
|
1569
|
+
readonly useRandomise: {
|
|
1570
|
+
readonly type: "boolean";
|
|
1571
|
+
};
|
|
1572
|
+
readonly minRandomise: {
|
|
1573
|
+
readonly type: "number";
|
|
1574
|
+
readonly minimum: 0;
|
|
1575
|
+
readonly maximum: 1;
|
|
1576
|
+
};
|
|
1577
|
+
readonly maxRandomise: {
|
|
1578
|
+
readonly type: "number";
|
|
1579
|
+
readonly minimum: 0;
|
|
1580
|
+
readonly maximum: 1;
|
|
1581
|
+
};
|
|
1582
|
+
readonly usePressure: {
|
|
1583
|
+
readonly type: "boolean";
|
|
1584
|
+
};
|
|
1585
|
+
readonly minPressure: {
|
|
1586
|
+
readonly type: "number";
|
|
1587
|
+
readonly minimum: 0;
|
|
1588
|
+
readonly maximum: 1;
|
|
1589
|
+
};
|
|
1590
|
+
readonly maxPressure: {
|
|
1591
|
+
readonly type: "number";
|
|
1592
|
+
readonly minimum: 0;
|
|
1593
|
+
readonly maximum: 1;
|
|
1594
|
+
};
|
|
1595
|
+
readonly useTilt: {
|
|
1596
|
+
readonly type: "boolean";
|
|
1597
|
+
};
|
|
1598
|
+
readonly minTilt: {
|
|
1599
|
+
readonly type: "number";
|
|
1600
|
+
readonly minimum: 0;
|
|
1601
|
+
readonly maximum: 1;
|
|
1602
|
+
};
|
|
1603
|
+
readonly maxTilt: {
|
|
1604
|
+
readonly type: "number";
|
|
1605
|
+
readonly minimum: 0;
|
|
1606
|
+
readonly maximum: 1;
|
|
1607
|
+
};
|
|
1608
|
+
};
|
|
1609
|
+
};
|
|
1610
|
+
readonly sampleRate: {
|
|
1611
|
+
readonly type: "number";
|
|
1612
|
+
readonly minimum: 5;
|
|
1613
|
+
readonly maximum: 400;
|
|
1614
|
+
};
|
|
1615
|
+
readonly smoothingType: {
|
|
1616
|
+
readonly enum: readonly [0, 1, 2, 3];
|
|
1617
|
+
};
|
|
1618
|
+
readonly spacing: {
|
|
1619
|
+
readonly type: "number";
|
|
1620
|
+
readonly minimum: 0;
|
|
1621
|
+
readonly maximum: 200;
|
|
1622
|
+
};
|
|
1623
|
+
readonly snapToPixelGrid: {
|
|
1624
|
+
readonly type: "boolean";
|
|
1625
|
+
};
|
|
1626
|
+
};
|
|
1627
|
+
readonly type: "object";
|
|
1628
|
+
readonly additionalProperties: false;
|
|
1629
|
+
readonly required: readonly ["id"];
|
|
1630
|
+
}, {
|
|
1631
|
+
readonly $id: "paintcanvas/message/patch";
|
|
1632
|
+
readonly type: "object";
|
|
1633
|
+
readonly additionalProperties: false;
|
|
1634
|
+
readonly required: readonly ["protocol", "type", "coords", "encoding", "data"];
|
|
1635
|
+
readonly properties: {
|
|
1636
|
+
readonly protocol: {
|
|
1637
|
+
readonly const: 1;
|
|
1638
|
+
};
|
|
1639
|
+
readonly type: {
|
|
1640
|
+
readonly const: "patch";
|
|
1641
|
+
};
|
|
1642
|
+
readonly coords: {
|
|
1643
|
+
readonly type: "array";
|
|
1644
|
+
readonly items: {
|
|
1645
|
+
readonly type: "integer";
|
|
1646
|
+
readonly minimum: 0;
|
|
1647
|
+
readonly maximum: 10000;
|
|
1648
|
+
};
|
|
1649
|
+
readonly minItems: 4;
|
|
1650
|
+
readonly maxItems: 4;
|
|
1651
|
+
};
|
|
1652
|
+
readonly encoding: {
|
|
1653
|
+
readonly enum: ("rgba-deflate" | "png")[];
|
|
1654
|
+
};
|
|
1655
|
+
readonly data: {
|
|
1656
|
+
readonly type: "string";
|
|
1657
|
+
readonly pattern: "^[A-Za-z0-9+/]*={0,2}$";
|
|
1658
|
+
readonly maxLength: number;
|
|
1659
|
+
};
|
|
1660
|
+
};
|
|
1661
|
+
}, {
|
|
1662
|
+
readonly $id: "paintcanvas/message/stroke";
|
|
1663
|
+
readonly type: "object";
|
|
1664
|
+
readonly additionalProperties: false;
|
|
1665
|
+
readonly required: readonly ["protocol", "type", "step", "layer", "mode", "preset", "size", "colour", "isPen", "seed", "points"];
|
|
1666
|
+
readonly properties: {
|
|
1667
|
+
readonly protocol: {
|
|
1668
|
+
readonly const: 1;
|
|
1669
|
+
};
|
|
1670
|
+
readonly type: {
|
|
1671
|
+
readonly const: "stroke";
|
|
1672
|
+
};
|
|
1673
|
+
readonly step: {
|
|
1674
|
+
readonly type: "string";
|
|
1675
|
+
readonly pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
|
|
1676
|
+
};
|
|
1677
|
+
readonly layer: {
|
|
1678
|
+
readonly type: "string";
|
|
1679
|
+
readonly minLength: 1;
|
|
1680
|
+
readonly maxLength: 100;
|
|
1681
|
+
};
|
|
1682
|
+
readonly mode: {
|
|
1683
|
+
readonly enum: readonly ["paint", "erase"];
|
|
1684
|
+
};
|
|
1685
|
+
readonly preset: {
|
|
1686
|
+
readonly $ref: "../stroke-preset";
|
|
1687
|
+
};
|
|
1688
|
+
readonly size: {
|
|
1689
|
+
readonly type: "object";
|
|
1690
|
+
readonly additionalProperties: false;
|
|
1691
|
+
readonly required: readonly ["width", "height"];
|
|
1692
|
+
readonly properties: {
|
|
1693
|
+
readonly width: {
|
|
1694
|
+
readonly type: "number";
|
|
1695
|
+
readonly minimum: 0;
|
|
1696
|
+
readonly maximum: 10000;
|
|
1697
|
+
};
|
|
1698
|
+
readonly height: {
|
|
1699
|
+
readonly type: "number";
|
|
1700
|
+
readonly minimum: 0;
|
|
1701
|
+
readonly maximum: 10000;
|
|
1702
|
+
};
|
|
1703
|
+
};
|
|
1704
|
+
};
|
|
1705
|
+
readonly colour: {
|
|
1706
|
+
readonly type: "string";
|
|
1707
|
+
readonly pattern: "^#[0-9a-fA-F]{6}$";
|
|
1708
|
+
};
|
|
1709
|
+
readonly isPen: {
|
|
1710
|
+
readonly type: "boolean";
|
|
1711
|
+
};
|
|
1712
|
+
readonly seed: {
|
|
1713
|
+
readonly type: "integer";
|
|
1714
|
+
readonly minimum: 0;
|
|
1715
|
+
readonly maximum: 4294967295;
|
|
1716
|
+
};
|
|
1717
|
+
readonly points: {
|
|
1718
|
+
readonly type: "array";
|
|
1719
|
+
readonly minItems: 1;
|
|
1720
|
+
readonly maxItems: 100000;
|
|
1721
|
+
readonly items: {
|
|
1722
|
+
readonly type: "object";
|
|
1723
|
+
readonly additionalProperties: false;
|
|
1724
|
+
readonly required: readonly ["x", "y", "time"];
|
|
1725
|
+
readonly properties: {
|
|
1726
|
+
readonly x: {
|
|
1727
|
+
readonly type: "number";
|
|
1728
|
+
};
|
|
1729
|
+
readonly y: {
|
|
1730
|
+
readonly type: "number";
|
|
1731
|
+
};
|
|
1732
|
+
readonly time: {
|
|
1733
|
+
readonly type: "number";
|
|
1734
|
+
};
|
|
1735
|
+
readonly rotation: {
|
|
1736
|
+
readonly type: "number";
|
|
1737
|
+
};
|
|
1738
|
+
readonly pressure: {
|
|
1739
|
+
readonly type: "number";
|
|
1740
|
+
readonly minimum: 0;
|
|
1741
|
+
readonly maximum: 1;
|
|
1742
|
+
};
|
|
1743
|
+
readonly tiltX: {
|
|
1744
|
+
readonly type: "number";
|
|
1745
|
+
readonly minimum: -90;
|
|
1746
|
+
readonly maximum: 90;
|
|
1747
|
+
};
|
|
1748
|
+
readonly tiltY: {
|
|
1749
|
+
readonly type: "number";
|
|
1750
|
+
readonly minimum: -90;
|
|
1751
|
+
readonly maximum: 90;
|
|
1752
|
+
};
|
|
1753
|
+
};
|
|
1754
|
+
};
|
|
1755
|
+
};
|
|
1756
|
+
};
|
|
1757
|
+
}, {
|
|
1758
|
+
readonly $id: "paintcanvas/message/history";
|
|
1759
|
+
readonly type: "object";
|
|
1760
|
+
readonly additionalProperties: false;
|
|
1761
|
+
readonly required: readonly ["protocol", "type", "step"];
|
|
1762
|
+
readonly properties: {
|
|
1763
|
+
readonly protocol: {
|
|
1764
|
+
readonly const: 1;
|
|
1765
|
+
};
|
|
1766
|
+
readonly type: {
|
|
1767
|
+
readonly enum: readonly ["undo", "redo"];
|
|
1768
|
+
};
|
|
1769
|
+
readonly step: {
|
|
1770
|
+
readonly type: "string";
|
|
1771
|
+
readonly pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$";
|
|
1772
|
+
};
|
|
1773
|
+
};
|
|
1774
|
+
}];
|
|
1775
|
+
export {};
|