@lemoncat7/dsh-partner 1.10.6 → 1.11.2
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/README.md +49 -0
- package/docs/architecture.md +14 -0
- package/lib/api/features/workspace-api.js +2 -2
- package/lib/api/features/workspace-api.js.map +1 -1
- package/lib/client-api.d.ts +8 -0
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client.js +1103 -917
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +7 -5
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/domain.d.ts +2 -0
- package/lib/collaboration/domain.d.ts.map +1 -1
- package/lib/collaboration/domain.js.map +1 -1
- package/lib/collaboration/service.d.ts +1 -0
- package/lib/collaboration/service.d.ts.map +1 -1
- package/lib/collaboration/service.js +15 -4
- package/lib/collaboration/service.js.map +1 -1
- package/lib/concern-tool.d.ts +1 -1
- package/lib/concern-tool.d.ts.map +1 -1
- package/lib/concern-tool.js +12 -9
- package/lib/concern-tool.js.map +1 -1
- package/lib/domain.d.ts +1 -0
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js.map +1 -1
- package/lib/memory-reflection.d.ts.map +1 -1
- package/lib/memory-reflection.js +2 -0
- package/lib/memory-reflection.js.map +1 -1
- package/lib/pendant/card-image.d.ts +1 -1
- package/lib/pendant/card-image.d.ts.map +1 -1
- package/lib/pendant/card-image.js +16 -6
- package/lib/pendant/card-image.js.map +1 -1
- package/lib/pendant/physics.d.ts +1 -0
- package/lib/pendant/physics.d.ts.map +1 -1
- package/lib/pendant/physics.js +24 -2
- package/lib/pendant/physics.js.map +1 -1
- package/lib/pendant/renderer.d.ts.map +1 -1
- package/lib/pendant/renderer.js +21 -4
- package/lib/pendant/renderer.js.map +1 -1
- package/lib/pendant/settings-panel.d.ts.map +1 -1
- package/lib/pendant/settings-panel.js +5 -4
- package/lib/pendant/settings-panel.js.map +1 -1
- package/lib/pendant/settings.d.ts +5 -0
- package/lib/pendant/settings.d.ts.map +1 -1
- package/lib/pendant/settings.js +9 -3
- package/lib/pendant/settings.js.map +1 -1
- package/lib/pendant/strap-preview.d.ts +3 -1
- package/lib/pendant/strap-preview.d.ts.map +1 -1
- package/lib/pendant/strap-preview.js +6 -3
- package/lib/pendant/strap-preview.js.map +1 -1
- package/lib/pendant/strap-texture.d.ts +5 -0
- package/lib/pendant/strap-texture.d.ts.map +1 -0
- package/lib/pendant/strap-texture.js +9 -0
- package/lib/pendant/strap-texture.js.map +1 -0
- package/lib/pendant/strap.d.ts.map +1 -1
- package/lib/pendant/strap.js +39 -2
- package/lib/pendant/strap.js.map +1 -1
- package/lib/pendant-renderer.js +174 -174
- package/lib/requirements/draft.d.ts +3 -0
- package/lib/requirements/draft.d.ts.map +1 -0
- package/lib/requirements/draft.js +7 -0
- package/lib/requirements/draft.js.map +1 -0
- package/lib/requirements/plan-schema.d.ts +93 -0
- package/lib/requirements/plan-schema.d.ts.map +1 -0
- package/lib/requirements/plan-schema.js +16 -0
- package/lib/requirements/plan-schema.js.map +1 -0
- package/lib/requirements/plan.d.ts +30 -0
- package/lib/requirements/plan.d.ts.map +1 -0
- package/lib/requirements/plan.js +134 -0
- package/lib/requirements/plan.js.map +1 -0
- package/lib/requirements/service.d.ts +2 -1
- package/lib/requirements/service.d.ts.map +1 -1
- package/lib/requirements/service.js +4 -6
- package/lib/requirements/service.js.map +1 -1
- package/lib/requirements/tool.d.ts +1 -1
- package/lib/requirements/tool.d.ts.map +1 -1
- package/lib/requirements/tool.js +24 -3
- package/lib/requirements/tool.js.map +1 -1
- package/lib/skills/task-planning.d.ts +2 -2
- package/lib/skills/task-planning.d.ts.map +1 -1
- package/lib/skills/task-planning.js +10 -1
- package/lib/skills/task-planning.js.map +1 -1
- package/lib/store.js +2 -0
- package/lib/store.js.map +1 -1
- package/lib/tasks/context.d.ts.map +1 -1
- package/lib/tasks/context.js +9 -1
- package/lib/tasks/context.js.map +1 -1
- package/lib/tasks/contract.d.ts +63 -0
- package/lib/tasks/contract.d.ts.map +1 -0
- package/lib/tasks/contract.js +55 -0
- package/lib/tasks/contract.js.map +1 -0
- package/lib/tasks/domain.d.ts +6 -0
- package/lib/tasks/domain.d.ts.map +1 -1
- package/lib/tasks/draft.d.ts +7 -0
- package/lib/tasks/draft.d.ts.map +1 -0
- package/lib/tasks/draft.js +54 -0
- package/lib/tasks/draft.js.map +1 -0
- package/lib/tasks/result.d.ts +2 -0
- package/lib/tasks/result.d.ts.map +1 -1
- package/lib/tasks/result.js +17 -3
- package/lib/tasks/result.js.map +1 -1
- package/lib/tasks/scheduling.d.ts +15 -0
- package/lib/tasks/scheduling.d.ts.map +1 -0
- package/lib/tasks/scheduling.js +46 -0
- package/lib/tasks/scheduling.js.map +1 -0
- package/lib/tasks/service.d.ts +46 -3
- package/lib/tasks/service.d.ts.map +1 -1
- package/lib/tasks/service.js +55 -58
- package/lib/tasks/service.js.map +1 -1
- package/lib/ui/requirement-tasks-panel.d.ts.map +1 -1
- package/lib/ui/requirement-tasks-panel.js +18 -9
- package/lib/ui/requirement-tasks-panel.js.map +1 -1
- package/lib/ui/task-contract-panel.d.ts +10 -0
- package/lib/ui/task-contract-panel.d.ts.map +1 -0
- package/lib/ui/task-contract-panel.js +16 -0
- package/lib/ui/task-contract-panel.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-panel.js","sourceRoot":"","sources":["../../src/pendant/settings-panel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"settings-panel.js","sourceRoot":"","sources":["../../src/pendant/settings-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,16 @@ export interface PendantSettings {
|
|
|
8
8
|
color: string;
|
|
9
9
|
image: string;
|
|
10
10
|
imageFit: CardImageFit;
|
|
11
|
+
strapLength: number;
|
|
12
|
+
strapImage: string;
|
|
13
|
+
quality: number;
|
|
11
14
|
}
|
|
12
15
|
export declare const PENDANT_SETTINGS_KEY = "dsh-partner:pendant-settings:v1";
|
|
13
16
|
export declare const DEFAULT_PENDANT_SETTINGS: Readonly<PendantSettings>;
|
|
14
17
|
export declare const MAX_CARD_IMAGE_LENGTH = 700000;
|
|
15
18
|
export declare function samePendantSettings(a: PendantSettings, b: PendantSettings): boolean;
|
|
19
|
+
export declare function normalizeStrapLength(value: unknown): number;
|
|
20
|
+
export declare function normalizeCardQuality(value: unknown): number;
|
|
16
21
|
export declare function normalizePendantFps(value: unknown): PendantFps;
|
|
17
22
|
export declare function normalizePendantSettings(value: unknown): PendantSettings;
|
|
18
23
|
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/pendant/settings.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AAC3D,MAAM,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AACrC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAC9C,MAAM,WAAW,eAAe;IAAG,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/pendant/settings.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AAC3D,MAAM,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AACrC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAC9C,MAAM,WAAW,eAAe;IAAG,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAC/M,eAAO,MAAM,oBAAoB,oCAAoC,CAAA;AACrE,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAAkK,CAAA;AACjO,eAAO,MAAM,qBAAqB,SAAU,CAAA;AAE5C,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CAEnF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAsH;AAClL,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAgJ;AAG5M,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAAqD;AAEpH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAaxE"}
|
package/lib/pendant/settings.js
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
export const PENDANT_SETTINGS_KEY = 'dsh-partner:pendant-settings:v1';
|
|
2
|
-
export const DEFAULT_PENDANT_SETTINGS = Object.freeze({ enabled: true, fps: 30, material: 'woven', color: '#617e73', image: '', imageFit: 'contain' });
|
|
2
|
+
export const DEFAULT_PENDANT_SETTINGS = Object.freeze({ enabled: true, fps: 30, material: 'woven', color: '#617e73', image: '', imageFit: 'contain', strapLength: 100, strapImage: '', quality: 100 });
|
|
3
3
|
export const MAX_CARD_IMAGE_LENGTH = 700_000;
|
|
4
4
|
export function samePendantSettings(a, b) {
|
|
5
|
-
return a.enabled === b.enabled && a.fps === b.fps && a.material === b.material && a.color === b.color && a.image === b.image && a.imageFit === b.imageFit;
|
|
5
|
+
return a.enabled === b.enabled && a.fps === b.fps && a.material === b.material && a.color === b.color && a.image === b.image && a.imageFit === b.imageFit && a.strapLength === b.strapLength && a.strapImage === b.strapImage && a.quality === b.quality;
|
|
6
6
|
}
|
|
7
|
+
export function normalizeStrapLength(value) { return typeof value === 'number' && Number.isFinite(value) ? Math.max(60, Math.min(160, Math.round(value))) : 100; }
|
|
8
|
+
export function normalizeCardQuality(value) { return value === 'standard' ? 0 : typeof value === 'number' && Number.isFinite(value) ? Math.max(0, Math.min(100, Math.round(value))) : 100; }
|
|
9
|
+
function safeImage(value) { return typeof value === 'string' && value.length <= MAX_CARD_IMAGE_LENGTH && /^data:image\/(jpeg|png|webp);base64,[a-z0-9+/]+={0,2}$/i.test(value) ? value : ''; }
|
|
7
10
|
export function normalizePendantFps(value) { return value === 24 || value === 60 ? value : 30; }
|
|
8
11
|
export function normalizePendantSettings(value) {
|
|
9
12
|
const input = value && typeof value === 'object' ? value : {};
|
|
10
13
|
return {
|
|
11
14
|
enabled: typeof input.enabled === 'boolean' ? input.enabled : true,
|
|
12
15
|
fps: normalizePendantFps(input.fps),
|
|
16
|
+
strapLength: normalizeStrapLength(input.strapLength),
|
|
17
|
+
strapImage: safeImage(input.strapImage),
|
|
18
|
+
quality: normalizeCardQuality(input.quality),
|
|
13
19
|
imageFit: input.imageFit === 'cover' ? 'cover' : 'contain',
|
|
14
20
|
material: input.material === 'braided' || input.material === 'leather' ? input.material : 'woven',
|
|
15
21
|
color: typeof input.color === 'string' && /^#[0-9a-f]{6}$/i.test(input.color) ? input.color.toLowerCase() : DEFAULT_PENDANT_SETTINGS.color,
|
|
16
|
-
image:
|
|
22
|
+
image: safeImage(input.image),
|
|
17
23
|
};
|
|
18
24
|
}
|
|
19
25
|
//# sourceMappingURL=settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/pendant/settings.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,oBAAoB,GAAG,iCAAiC,CAAA;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAA8B,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/pendant/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { PendantSettings } from './settings.js';
|
|
2
|
-
export declare function StrapPreview({ material, color, swatch }: Pick<PendantSettings, 'material' | 'color'> & {
|
|
2
|
+
export declare function StrapPreview({ material, color, swatch, image, length }: Pick<PendantSettings, 'material' | 'color'> & {
|
|
3
3
|
swatch?: boolean;
|
|
4
|
+
image?: string;
|
|
5
|
+
length?: number;
|
|
4
6
|
}): JSX.Element;
|
|
5
7
|
//# sourceMappingURL=strap-preview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strap-preview.d.ts","sourceRoot":"","sources":["../../src/pendant/strap-preview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"strap-preview.d.ts","sourceRoot":"","sources":["../../src/pendant/strap-preview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIpD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAc,EAAE,KAAU,EAAE,MAAY,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAS5M"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo } from 'react';
|
|
2
|
+
import { Fragment, useId, useMemo } from 'react';
|
|
3
3
|
import { strapGeometry } from './strap-geometry.js';
|
|
4
|
-
|
|
4
|
+
import { STRAP_TEXTURE_SEGMENTS, strapTextureTransform } from './strap-texture.js';
|
|
5
|
+
export function StrapPreview({ material, color, swatch = false, image = '', length = 100 }) {
|
|
6
|
+
const id = useId().replace(/:/g, '');
|
|
7
|
+
const points = useMemo(() => Array.from({ length: STRAP_TEXTURE_SEGMENTS + 1 }, (_, i) => swatch ? { x: 8 + 104 * i / STRAP_TEXTURE_SEGMENTS, y: 20 } : { x: 50, y: 6 + 121 * i / STRAP_TEXTURE_SEGMENTS }), [swatch]);
|
|
5
8
|
const layers = useMemo(() => strapGeometry(swatch ? [{ x: 8, y: 20 }, { x: 112, y: 20 }] : [{ x: 50, y: 6 }, { x: 50, y: 127 }], { material, color }, swatch ? 100 : 72), [material, color, swatch]);
|
|
6
|
-
return _jsxs("svg", { className: swatch ? 'dsh-partner-strap-swatch' : undefined, viewBox: swatch ? '0 0 120 40' : '0 0 100 130', "aria-hidden": "true", children: [layers.map(layer => _jsx("path", { d: layer.d, fill: "none", stroke: layer.stroke, strokeWidth: layer.width, opacity: layer.opacity, strokeLinecap: "round", strokeLinejoin: "round" }, layer.id)), !swatch && _jsx("rect", { x: "42", y: "3", width: "16", height: "6", rx: "3", fill: "#c3ced0" })] });
|
|
9
|
+
return _jsxs("svg", { className: swatch ? 'dsh-partner-strap-swatch' : undefined, style: swatch ? undefined : { height: `${130 * length / 100}px` }, viewBox: swatch ? '0 0 120 40' : '0 0 100 130', preserveAspectRatio: "none", "aria-hidden": "true", children: [image && _jsx("defs", { children: _jsx("pattern", { id: id, patternUnits: "userSpaceOnUse", width: "1", height: "4", children: _jsx("image", { href: image, width: "1", height: "4", preserveAspectRatio: "none" }) }) }), layers.map(layer => _jsxs(Fragment, { children: [_jsx("path", { d: layer.d, fill: "none", stroke: layer.stroke, strokeWidth: layer.width, opacity: layer.opacity, strokeLinecap: "round", strokeLinejoin: "round" }), image && layer.id === 'surface' && points.slice(0, -1).map((p, i) => _jsx("rect", { x: "0", y: i - .005, width: "1", height: "1.01", fill: `url(#${id})`, transform: strapTextureTransform(p, points[i + 1], layer.width, i) }, i))] }, layer.id)), !swatch && _jsx("rect", { x: "42", y: "3", width: "16", height: "6", rx: "3", fill: "#c3ced0" })] });
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=strap-preview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strap-preview.js","sourceRoot":"","sources":["../../src/pendant/strap-preview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"strap-preview.js","sourceRoot":"","sources":["../../src/pendant/strap-preview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { StrapPoint } from './strap-geometry.js';
|
|
2
|
+
export declare const STRAP_TEXTURE_SEGMENTS = 48;
|
|
3
|
+
/** Material coordinates stay attached to a fixed curve sample, never the viewport. */
|
|
4
|
+
export declare function strapTextureTransform(a: StrapPoint, b: StrapPoint, width: number, index: number): string;
|
|
5
|
+
//# sourceMappingURL=strap-texture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strap-texture.d.ts","sourceRoot":"","sources":["../../src/pendant/strap-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,eAAO,MAAM,sBAAsB,KAAK,CAAA;AAExC,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKxG"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const STRAP_TEXTURE_SEGMENTS = 48;
|
|
2
|
+
/** Material coordinates stay attached to a fixed curve sample, never the viewport. */
|
|
3
|
+
export function strapTextureTransform(a, b, width, index) {
|
|
4
|
+
const dx = b.x - a.x, dy = b.y - a.y, distance = Math.hypot(dx, dy);
|
|
5
|
+
const nx = distance > .0001 ? -dy / distance * width : width;
|
|
6
|
+
const ny = distance > .0001 ? dx / distance * width : 0;
|
|
7
|
+
return `matrix(${nx} ${ny} ${dx} ${dy} ${a.x - nx / 2 - dx * index} ${a.y - ny / 2 - dy * index})`;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=strap-texture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strap-texture.js","sourceRoot":"","sources":["../../src/pendant/strap-texture.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAA;AAExC,sFAAsF;AACtF,MAAM,UAAU,qBAAqB,CAAC,CAAa,EAAE,CAAa,EAAE,KAAa,EAAE,KAAa;IAC9F,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACnE,MAAM,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IAC5D,MAAM,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,OAAO,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAA;AACpG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strap.d.ts","sourceRoot":"","sources":["../../src/pendant/strap.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"strap.d.ts","sourceRoot":"","sources":["../../src/pendant/strap.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAK9E,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB;kBAgD1C,MAAM;4BACI,eAAe;kBASzB,aAAa,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,WAAW,MAAM,WAAW,MAAM,SAAS,MAAM;;EAYpH"}
|
package/lib/pendant/strap.js
CHANGED
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
import { CatmullRomCurve3, Vector3 } from 'three';
|
|
2
2
|
import { strapGeometry } from './strap-geometry.js';
|
|
3
3
|
import { DEFAULT_PENDANT_SETTINGS } from './settings.js';
|
|
4
|
+
import { STRAP_TEXTURE_SEGMENTS, strapTextureTransform } from './strap-texture.js';
|
|
5
|
+
let strapSequence = 0;
|
|
4
6
|
/** Fixed SVG layer pool, separate from the bounded WebGL card buffer. */
|
|
5
7
|
export function createLanyardStrap(canvas) {
|
|
6
8
|
const ns = 'http://www.w3.org/2000/svg';
|
|
7
9
|
const svg = document.createElementNS(ns, 'svg');
|
|
8
10
|
svg.classList.add('dsh-partner-pendant-strap');
|
|
9
11
|
svg.setAttribute('aria-hidden', 'true');
|
|
12
|
+
const patternId = `partner-strap-${++strapSequence}`;
|
|
13
|
+
const defs = document.createElementNS(ns, 'defs'), pattern = document.createElementNS(ns, 'pattern'), image = document.createElementNS(ns, 'image');
|
|
14
|
+
pattern.id = patternId;
|
|
15
|
+
pattern.setAttribute('patternUnits', 'userSpaceOnUse');
|
|
16
|
+
pattern.setAttribute('width', '1');
|
|
17
|
+
pattern.setAttribute('height', '4');
|
|
18
|
+
image.setAttribute('width', '1');
|
|
19
|
+
image.setAttribute('height', '4');
|
|
20
|
+
image.setAttribute('preserveAspectRatio', 'none');
|
|
21
|
+
pattern.append(image);
|
|
22
|
+
defs.append(pattern);
|
|
23
|
+
svg.append(defs);
|
|
24
|
+
let customImage = '';
|
|
10
25
|
const paths = Array.from({ length: 8 }, () => {
|
|
11
26
|
const path = document.createElementNS(ns, 'path');
|
|
12
27
|
path.setAttribute('fill', 'none');
|
|
@@ -15,6 +30,19 @@ export function createLanyardStrap(canvas) {
|
|
|
15
30
|
svg.append(path);
|
|
16
31
|
return path;
|
|
17
32
|
});
|
|
33
|
+
const texture = document.createElementNS(ns, 'g');
|
|
34
|
+
texture.dataset.textureMapping = 'material';
|
|
35
|
+
paths[1].after(texture);
|
|
36
|
+
const strips = Array.from({ length: STRAP_TEXTURE_SEGMENTS }, (_, i) => {
|
|
37
|
+
const rect = document.createElementNS(ns, 'rect');
|
|
38
|
+
rect.setAttribute('x', '0');
|
|
39
|
+
rect.setAttribute('y', String(i - .005));
|
|
40
|
+
rect.setAttribute('width', '1');
|
|
41
|
+
rect.setAttribute('height', '1.01');
|
|
42
|
+
rect.setAttribute('fill', `url(#${patternId})`);
|
|
43
|
+
texture.append(rect);
|
|
44
|
+
return rect;
|
|
45
|
+
});
|
|
18
46
|
const stud = document.createElementNS(ns, 'circle');
|
|
19
47
|
stud.setAttribute('fill', '#c3ced0');
|
|
20
48
|
stud.setAttribute('stroke', '#667578');
|
|
@@ -22,11 +50,14 @@ export function createLanyardStrap(canvas) {
|
|
|
22
50
|
svg.append(stud);
|
|
23
51
|
canvas.before(svg);
|
|
24
52
|
const curve = new CatmullRomCurve3(Array.from({ length: 4 }, () => new Vector3())), point = new Vector3();
|
|
25
|
-
const projected = Array.from({ length:
|
|
53
|
+
const projected = Array.from({ length: STRAP_TEXTURE_SEGMENTS + 1 }, () => ({ x: 0, y: 0 }));
|
|
26
54
|
let appearance = DEFAULT_PENDANT_SETTINGS, currentScale = 58;
|
|
27
55
|
let stylesDirty = true;
|
|
28
56
|
const redraw = () => {
|
|
29
57
|
const layers = strapGeometry(projected, appearance, currentScale);
|
|
58
|
+
texture.style.display = customImage && layers.length ? '' : 'none';
|
|
59
|
+
if (customImage && layers.length)
|
|
60
|
+
strips.forEach((strip, i) => strip.setAttribute('transform', strapTextureTransform(projected[i], projected[i + 1], layers[1].width, i)));
|
|
30
61
|
paths.forEach((path, i) => {
|
|
31
62
|
const layer = layers[i];
|
|
32
63
|
if (stylesDirty)
|
|
@@ -47,8 +78,14 @@ export function createLanyardStrap(canvas) {
|
|
|
47
78
|
return {
|
|
48
79
|
resize(scale) { currentScale = scale; stylesDirty = true; stud.setAttribute('r', String(scale * .06)); redraw(); },
|
|
49
80
|
setAppearance(settings) {
|
|
50
|
-
if (appearance.material === settings.material && appearance.color === settings.color && svg.dataset.material)
|
|
81
|
+
if (appearance.material === settings.material && appearance.color === settings.color && customImage === settings.strapImage && svg.dataset.material)
|
|
51
82
|
return;
|
|
83
|
+
customImage = settings.strapImage;
|
|
84
|
+
if (customImage)
|
|
85
|
+
image.setAttribute('href', customImage);
|
|
86
|
+
else
|
|
87
|
+
image.removeAttribute('href');
|
|
88
|
+
svg.dataset.customTexture = String(Boolean(customImage));
|
|
52
89
|
appearance = { material: settings.material, color: settings.color };
|
|
53
90
|
stylesDirty = true;
|
|
54
91
|
svg.dataset.material = settings.material;
|
package/lib/pendant/strap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strap.js","sourceRoot":"","sources":["../../src/pendant/strap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,aAAa,EAAmB,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAwB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"strap.js","sourceRoot":"","sources":["../../src/pendant/strap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,aAAa,EAAmB,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAwB,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAElF,IAAI,aAAa,GAAG,CAAC,CAAA;AAErB,yEAAyE;AACzE,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,MAAM,EAAE,GAAG,4BAA4B,CAAA;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC/C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAAC,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IACvF,MAAM,SAAS,GAAG,iBAAiB,EAAE,aAAa,EAAE,CAAA;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACnJ,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAAC,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACvJ,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;IACtH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7D,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACjD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAC9H,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,IAAI,CAAA;IAC/B,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACjD,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG,UAAU,CAAA;IAC3C,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACjD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QACrE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,SAAS,GAAG,CAAC,CAAC;QAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,IAAI,CAAA;IACpF,CAAC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IACnD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IACpH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,OAAO,EAAE,CAAA;IACzG,MAAM,SAAS,GAAiB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,sBAAsB,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1G,IAAI,UAAU,GAAgD,wBAAwB,EAAE,YAAY,GAAG,EAAE,CAAA;IACzG,IAAI,WAAW,GAAG,IAAI,CAAA;IACtB,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;QACjE,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QAClE,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAE,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7K,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACvB,IAAI,WAAW;gBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;YACzD,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;gBACxE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;YAC7G,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,MAAM;YAAE,WAAW,GAAG,KAAK,CAAA;IACxC,CAAC,CAAA;IACD,OAAO;QACL,MAAM,CAAC,KAAa,IAAI,YAAY,GAAG,KAAK,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA,CAAC,CAAC;QACzH,aAAa,CAAC,QAAyB;YACrC,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,WAAW,KAAK,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ;gBAAE,OAAM;YAC3J,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAA;YACjC,IAAI,WAAW;gBAAE,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;;gBAAM,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC5F,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;YACxD,UAAU,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;YACnE,WAAW,GAAG,IAAI,CAAA;YAClB,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAAC,MAAM,EAAE,CAAA;QACxF,CAAC;QACD,KAAK,CAAC,MAA0D,EAAE,OAAe,EAAE,OAAe,EAAE,KAAa;YAC/G,YAAY,GAAG,KAAK,CAAA;YACpB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBACjD,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;gBAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAA;YAC1F,CAAC;YACD,MAAM,EAAE,CAAA;YACR,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACpG,CAAC;QACD,OAAO,KAAK,GAAG,CAAC,MAAM,EAAE,CAAA,CAAC,CAAC;KAC3B,CAAA;AACH,CAAC"}
|