@edv4h/usketch-plugin-shape-freedraw 3.4.1 → 3.5.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/freedraw-service.d.ts +16 -1
- package/dist/freedraw-service.d.ts.map +1 -1
- package/dist/freedraw-service.js +21 -3
- package/dist/freedraw-service.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/plugin.js +2 -2
- package/dist/plugin.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ServiceRegistry } from "@edv4h/usketch-shared";
|
|
2
2
|
import { type PenSizeRange } from "./custom-pens.js";
|
|
3
|
+
import { type FreedrawMode, type FreedrawSettingsStore } from "./settings-store.js";
|
|
3
4
|
import type { PenId } from "./types.js";
|
|
4
5
|
/** ペン選択 UI 向けの、ペン 1 種の情報。 */
|
|
5
6
|
export interface FreedrawPenInfo {
|
|
@@ -12,15 +13,29 @@ export interface FreedrawPenInfo {
|
|
|
12
13
|
/** 組み込みのペンか。 */
|
|
13
14
|
builtIn: boolean;
|
|
14
15
|
}
|
|
16
|
+
/** 今の描き方。設定を保存している(`persistSettings`)なら、前回の値から始まる。 */
|
|
17
|
+
export interface FreedrawCurrentSettings {
|
|
18
|
+
mode: FreedrawMode;
|
|
19
|
+
pen: PenId;
|
|
20
|
+
color: string;
|
|
21
|
+
/** 今のペンの太さ(消しゴム中でもペンの太さ)。 */
|
|
22
|
+
size: number;
|
|
23
|
+
eraserSize: number;
|
|
24
|
+
}
|
|
15
25
|
export interface FreedrawApi {
|
|
16
26
|
/** 選べるペン(組み込み → 外から足したペンの登録順)。 */
|
|
17
27
|
listPens(): FreedrawPenInfo[];
|
|
18
28
|
/** ペンの登録が変わったら呼ぶ。戻り値で解除。 */
|
|
19
29
|
onPensChange(listener: () => void): () => void;
|
|
30
|
+
/** 今のペン・色・太さ。ホストのペン選択 UI を freedraw に合わせるのに使う。 */
|
|
31
|
+
getSettings(): FreedrawCurrentSettings;
|
|
32
|
+
/** ペン・色・太さ・モードが変わったら呼ぶ。戻り値で解除。 */
|
|
33
|
+
onSettingsChange(listener: () => void): () => void;
|
|
20
34
|
}
|
|
21
35
|
/** 組み込み + 登録済みのペンの一覧。 */
|
|
22
36
|
export declare function listPens(): FreedrawPenInfo[];
|
|
23
|
-
|
|
37
|
+
/** プラグインの設定ストアにつないだ API。`setup` ごとに作る。 */
|
|
38
|
+
export declare function createFreedrawApi(settings: FreedrawSettingsStore): FreedrawApi;
|
|
24
39
|
/** freedraw の API のサービス。`setup` で provide する。 */
|
|
25
40
|
export declare const freedrawService: import("@edv4h/usketch-shared").ServiceHandle<FreedrawApi>;
|
|
26
41
|
/** ホスト用: `getFreedrawApi(app.services)?.listPens()`。freedraw が無ければ `undefined`。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freedraw-service.d.ts","sourceRoot":"","sources":["../src/freedraw-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEvF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,6BAA6B;AAC7B,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,aAAa;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB;IAChB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC3B,kCAAkC;IAClC,QAAQ,IAAI,eAAe,EAAE,CAAC;IAC9B,4BAA4B;IAC5B,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"freedraw-service.d.ts","sourceRoot":"","sources":["../src/freedraw-service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,qBAAqB,EAAW,MAAM,qBAAqB,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,6BAA6B;AAC7B,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,aAAa;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB;IAChB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,sDAAsD;AACtD,MAAM,WAAW,uBAAuB;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,KAAK,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC3B,kCAAkC;IAClC,QAAQ,IAAI,eAAe,EAAE,CAAC;IAC9B,4BAA4B;IAC5B,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC/C,kDAAkD;IAClD,WAAW,IAAI,uBAAuB,CAAC;IACvC,kCAAkC;IAClC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CACnD;AAED,yBAAyB;AACzB,wBAAgB,QAAQ,IAAI,eAAe,EAAE,CAiB5C;AAED,0CAA0C;AAC1C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,WAAW,CAgB9E;AAED,iDAAiD;AACjD,eAAO,MAAM,eAAe,4DAA8D,CAAC;AAE3F,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,WAAW,GAAG,SAAS,CAEjF"}
|
package/dist/freedraw-service.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
// freedraw のホスト向け API(`ctx.services
|
|
2
|
-
// `createFreedrawPlugin(config, { pens })
|
|
1
|
+
// freedraw のホスト向け API(`ctx.services`)。ペンの一覧と、今のペン・色・太さを読む
|
|
2
|
+
// (ペンを足すのは `createFreedrawPlugin(config, { pens })`、変えるのは `freedraw:set-*` イベント)。
|
|
3
3
|
import { defineService } from "@edv4h/usketch-shared";
|
|
4
4
|
import { listPenDefinitions, onPensChange } from "./custom-pens.js";
|
|
5
5
|
import { PEN_KINDS, PEN_META } from "./pen-meta.js";
|
|
6
|
+
import { penSize } from "./settings-store.js";
|
|
6
7
|
/** 組み込み + 登録済みのペンの一覧。 */
|
|
7
8
|
export function listPens() {
|
|
8
9
|
const builtIn = PEN_KINDS.map((id) => ({
|
|
@@ -22,7 +23,24 @@ export function listPens() {
|
|
|
22
23
|
}));
|
|
23
24
|
return [...builtIn, ...custom];
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
+
/** プラグインの設定ストアにつないだ API。`setup` ごとに作る。 */
|
|
27
|
+
export function createFreedrawApi(settings) {
|
|
28
|
+
return {
|
|
29
|
+
listPens,
|
|
30
|
+
onPensChange,
|
|
31
|
+
getSettings() {
|
|
32
|
+
const s = settings.getSnapshot();
|
|
33
|
+
return {
|
|
34
|
+
mode: s.mode,
|
|
35
|
+
pen: s.pen,
|
|
36
|
+
color: s.color,
|
|
37
|
+
size: penSize(s, s.pen),
|
|
38
|
+
eraserSize: s.eraserSize,
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
onSettingsChange: (listener) => settings.subscribe(listener),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
26
44
|
/** freedraw の API のサービス。`setup` で provide する。 */
|
|
27
45
|
export const freedrawService = defineService("usketch-plugin-shape-freedraw");
|
|
28
46
|
/** ホスト用: `getFreedrawApi(app.services)?.listPens()`。freedraw が無ければ `undefined`。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freedraw-service.js","sourceRoot":"","sources":["../src/freedraw-service.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"freedraw-service.js","sourceRoot":"","sources":["../src/freedraw-service.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,kFAAkF;AAClF,OAAO,EAAE,aAAa,EAAwB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAqB,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAiD,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAoC7F,yBAAyB;AACzB,MAAM,UAAU,QAAQ;IACvB,MAAM,OAAO,GAAsB,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,EAAE;QACF,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK;QACzB,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW;QACrC,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACb,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAsB,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,SAAS,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK;QAChC,OAAO,EAAE,KAAK;KACd,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,iBAAiB,CAAC,QAA+B;IAChE,OAAO;QACN,QAAQ;QACR,YAAY;QACZ,WAAW;YACV,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO;gBACN,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;gBACvB,UAAU,EAAE,CAAC,CAAC,UAAU;aACxB,CAAC;QACH,CAAC;QACD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;KAC5D,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAc,+BAA+B,CAAC,CAAC;AAE3F,mFAAmF;AACnF,MAAM,UAAU,cAAc,CAAC,QAAyB;IACvD,OAAO,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export { type FreedrawConfig, type FreedrawConfigInput, FreedrawConfigSchema, parseFreedrawConfig, } from "./config.js";
|
|
2
2
|
export type { FinalizedStroke, FreedrawPenDefinition, PenSizeRange } from "./custom-pens.js";
|
|
3
|
-
export { type FreedrawApi, type FreedrawPenInfo, freedrawService, getFreedrawApi, listPens, } from "./freedraw-service.js";
|
|
3
|
+
export { type FreedrawApi, type FreedrawCurrentSettings, type FreedrawPenInfo, freedrawService, getFreedrawApi, listPens, } from "./freedraw-service.js";
|
|
4
4
|
export { penHalfWidth } from "./geometry/hit.js";
|
|
5
5
|
export { DEFAULT_PEN, PEN_KINDS, PEN_META, PRESET_COLORS } from "./pen-meta.js";
|
|
6
6
|
export { createFreedrawPlugin, type FreedrawPluginOptions } from "./plugin.js";
|
|
7
|
+
export type { FreedrawMode } from "./settings-store.js";
|
|
7
8
|
export type { FreedrawHitTestMode } from "./shape.js";
|
|
8
9
|
export type { FreedrawShapeData, PenId, PenKind, StrokePoint } from "./types.js";
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,eAAe,EACf,cAAc,EACd,QAAQ,GACR,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC/E,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,eAAe,EACf,cAAc,EACd,QAAQ,GACR,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAIN,eAAe,EACf,cAAc,EACd,QAAQ,GACR,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAA8B,MAAM,aAAa,CAAC"}
|
package/dist/plugin.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { parseFreedrawConfig } from "./config.js";
|
|
3
3
|
import { assertCustomPenId, clampPenSize, getPenDefinition, registerPen, } from "./custom-pens.js";
|
|
4
4
|
import { createDrawController } from "./draw-tool.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createFreedrawApi, freedrawService, listPens } from "./freedraw-service.js";
|
|
6
6
|
import { isKnownPen } from "./pen-meta.js";
|
|
7
7
|
import { createFreedrawSettingsStore } from "./settings-store.js";
|
|
8
8
|
import { createFreedrawShapeDefinition } from "./shape.js";
|
|
@@ -42,8 +42,8 @@ export function createFreedrawPlugin(configInput, options = {}) {
|
|
|
42
42
|
setup(ctx) {
|
|
43
43
|
// 設定の復元で保存済みのペンを確かめるため、ペンは設定ストアより先に登録する。
|
|
44
44
|
const offPens = pens.map((def) => registerPen(def));
|
|
45
|
-
const offService = freedrawService.provide(ctx.services, freedrawApi);
|
|
46
45
|
const settings = createFreedrawSettingsStore(config);
|
|
46
|
+
const offService = freedrawService.provide(ctx.services, createFreedrawApi(settings));
|
|
47
47
|
const pointer = createPointerStore();
|
|
48
48
|
const active = createBoolStore(ctx.store.getActiveToolId() === TOOL_ID);
|
|
49
49
|
const draw = createDrawController(settings, pointer);
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAA4B,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EACN,iBAAiB,EACjB,YAAY,EAEZ,gBAAgB,EAChB,WAAW,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"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"}
|