@lemoncat7/dsh-partner 1.10.5 → 1.11.1

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.
Files changed (155) hide show
  1. package/README.md +50 -1
  2. package/docs/THIRD_PARTY_LICENSES.md +36 -1
  3. package/docs/architecture.md +26 -1
  4. package/lib/api/features/attachments-api.d.ts +6 -0
  5. package/lib/api/features/attachments-api.d.ts.map +1 -0
  6. package/lib/api/features/attachments-api.js +20 -0
  7. package/lib/api/features/attachments-api.js.map +1 -0
  8. package/lib/api/features/workspace-api.js +2 -2
  9. package/lib/api/features/workspace-api.js.map +1 -1
  10. package/lib/api.d.ts +2 -0
  11. package/lib/api.d.ts.map +1 -1
  12. package/lib/api.js +3 -0
  13. package/lib/api.js.map +1 -1
  14. package/lib/attachments/service.d.ts +35 -0
  15. package/lib/attachments/service.d.ts.map +1 -0
  16. package/lib/attachments/service.js +122 -0
  17. package/lib/attachments/service.js.map +1 -0
  18. package/lib/attachments/tool.d.ts +8 -0
  19. package/lib/attachments/tool.d.ts.map +1 -0
  20. package/lib/attachments/tool.js +59 -0
  21. package/lib/attachments/tool.js.map +1 -0
  22. package/lib/channels/manager.d.ts +2 -0
  23. package/lib/channels/manager.d.ts.map +1 -1
  24. package/lib/channels/manager.js +12 -0
  25. package/lib/channels/manager.js.map +1 -1
  26. package/lib/channels/outbound-media.d.ts +1 -1
  27. package/lib/channels/outbound-media.d.ts.map +1 -1
  28. package/lib/channels/outbound-media.js +6 -10
  29. package/lib/channels/outbound-media.js.map +1 -1
  30. package/lib/client-api.d.ts +8 -0
  31. package/lib/client-api.d.ts.map +1 -1
  32. package/lib/client-api.js.map +1 -1
  33. package/lib/client.js +1126 -932
  34. package/lib/client.js.map +4 -4
  35. package/lib/collaboration/composition.d.ts +3 -1
  36. package/lib/collaboration/composition.d.ts.map +1 -1
  37. package/lib/collaboration/composition.js +9 -3
  38. package/lib/collaboration/composition.js.map +1 -1
  39. package/lib/collaboration/domain.d.ts +2 -0
  40. package/lib/collaboration/domain.d.ts.map +1 -1
  41. package/lib/collaboration/domain.js.map +1 -1
  42. package/lib/collaboration/service.d.ts +1 -0
  43. package/lib/collaboration/service.d.ts.map +1 -1
  44. package/lib/collaboration/service.js +15 -4
  45. package/lib/collaboration/service.js.map +1 -1
  46. package/lib/domain.d.ts +1 -0
  47. package/lib/domain.d.ts.map +1 -1
  48. package/lib/domain.js.map +1 -1
  49. package/lib/execution/agent-support.d.ts.map +1 -1
  50. package/lib/execution/agent-support.js +2 -1
  51. package/lib/execution/agent-support.js.map +1 -1
  52. package/lib/index.d.ts.map +1 -1
  53. package/lib/index.js +6 -1
  54. package/lib/index.js.map +1 -1
  55. package/lib/pendant/card-image.d.ts +13 -3
  56. package/lib/pendant/card-image.d.ts.map +1 -1
  57. package/lib/pendant/card-image.js +40 -14
  58. package/lib/pendant/card-image.js.map +1 -1
  59. package/lib/pendant/image-coating.d.ts +8 -0
  60. package/lib/pendant/image-coating.d.ts.map +1 -0
  61. package/lib/pendant/image-coating.js +39 -0
  62. package/lib/pendant/image-coating.js.map +1 -0
  63. package/lib/pendant/motion-glare.d.ts +33 -0
  64. package/lib/pendant/motion-glare.d.ts.map +1 -0
  65. package/lib/pendant/motion-glare.js +56 -0
  66. package/lib/pendant/motion-glare.js.map +1 -0
  67. package/lib/pendant/physics.d.ts +1 -0
  68. package/lib/pendant/physics.d.ts.map +1 -1
  69. package/lib/pendant/physics.js +24 -2
  70. package/lib/pendant/physics.js.map +1 -1
  71. package/lib/pendant/renderer.d.ts.map +1 -1
  72. package/lib/pendant/renderer.js +46 -13
  73. package/lib/pendant/renderer.js.map +1 -1
  74. package/lib/pendant/settings-panel.d.ts.map +1 -1
  75. package/lib/pendant/settings-panel.js +6 -4
  76. package/lib/pendant/settings-panel.js.map +1 -1
  77. package/lib/pendant/settings.d.ts +7 -0
  78. package/lib/pendant/settings.d.ts.map +1 -1
  79. package/lib/pendant/settings.js +10 -3
  80. package/lib/pendant/settings.js.map +1 -1
  81. package/lib/pendant/strap-preview.d.ts +3 -1
  82. package/lib/pendant/strap-preview.d.ts.map +1 -1
  83. package/lib/pendant/strap-preview.js +6 -3
  84. package/lib/pendant/strap-preview.js.map +1 -1
  85. package/lib/pendant/strap-texture.d.ts +5 -0
  86. package/lib/pendant/strap-texture.d.ts.map +1 -0
  87. package/lib/pendant/strap-texture.js +9 -0
  88. package/lib/pendant/strap-texture.js.map +1 -0
  89. package/lib/pendant/strap.d.ts.map +1 -1
  90. package/lib/pendant/strap.js +39 -2
  91. package/lib/pendant/strap.js.map +1 -1
  92. package/lib/pendant/surface.d.ts +7 -7
  93. package/lib/pendant/surface.d.ts.map +1 -1
  94. package/lib/pendant/surface.js +19 -9
  95. package/lib/pendant/surface.js.map +1 -1
  96. package/lib/pendant-renderer.js +201 -170
  97. package/lib/requirements/draft.d.ts +3 -0
  98. package/lib/requirements/draft.d.ts.map +1 -0
  99. package/lib/requirements/draft.js +7 -0
  100. package/lib/requirements/draft.js.map +1 -0
  101. package/lib/requirements/plan-schema.d.ts +93 -0
  102. package/lib/requirements/plan-schema.d.ts.map +1 -0
  103. package/lib/requirements/plan-schema.js +16 -0
  104. package/lib/requirements/plan-schema.js.map +1 -0
  105. package/lib/requirements/plan.d.ts +30 -0
  106. package/lib/requirements/plan.d.ts.map +1 -0
  107. package/lib/requirements/plan.js +134 -0
  108. package/lib/requirements/plan.js.map +1 -0
  109. package/lib/requirements/service.d.ts +2 -1
  110. package/lib/requirements/service.d.ts.map +1 -1
  111. package/lib/requirements/service.js +4 -6
  112. package/lib/requirements/service.js.map +1 -1
  113. package/lib/requirements/tool.d.ts +1 -1
  114. package/lib/requirements/tool.d.ts.map +1 -1
  115. package/lib/requirements/tool.js +24 -3
  116. package/lib/requirements/tool.js.map +1 -1
  117. package/lib/skills/task-planning.d.ts +2 -2
  118. package/lib/skills/task-planning.d.ts.map +1 -1
  119. package/lib/skills/task-planning.js +10 -1
  120. package/lib/skills/task-planning.js.map +1 -1
  121. package/lib/store.js +2 -0
  122. package/lib/store.js.map +1 -1
  123. package/lib/tasks/context.d.ts.map +1 -1
  124. package/lib/tasks/context.js +9 -1
  125. package/lib/tasks/context.js.map +1 -1
  126. package/lib/tasks/contract.d.ts +63 -0
  127. package/lib/tasks/contract.d.ts.map +1 -0
  128. package/lib/tasks/contract.js +55 -0
  129. package/lib/tasks/contract.js.map +1 -0
  130. package/lib/tasks/domain.d.ts +6 -0
  131. package/lib/tasks/domain.d.ts.map +1 -1
  132. package/lib/tasks/draft.d.ts +7 -0
  133. package/lib/tasks/draft.d.ts.map +1 -0
  134. package/lib/tasks/draft.js +54 -0
  135. package/lib/tasks/draft.js.map +1 -0
  136. package/lib/tasks/result.d.ts +2 -0
  137. package/lib/tasks/result.d.ts.map +1 -1
  138. package/lib/tasks/result.js +17 -3
  139. package/lib/tasks/result.js.map +1 -1
  140. package/lib/tasks/scheduling.d.ts +15 -0
  141. package/lib/tasks/scheduling.d.ts.map +1 -0
  142. package/lib/tasks/scheduling.js +46 -0
  143. package/lib/tasks/scheduling.js.map +1 -0
  144. package/lib/tasks/service.d.ts +46 -3
  145. package/lib/tasks/service.d.ts.map +1 -1
  146. package/lib/tasks/service.js +55 -58
  147. package/lib/tasks/service.js.map +1 -1
  148. package/lib/ui/requirement-tasks-panel.d.ts.map +1 -1
  149. package/lib/ui/requirement-tasks-panel.js +18 -9
  150. package/lib/ui/requirement-tasks-panel.js.map +1 -1
  151. package/lib/ui/task-contract-panel.d.ts +10 -0
  152. package/lib/ui/task-contract-panel.d.ts.map +1 -0
  153. package/lib/ui/task-contract-panel.js +16 -0
  154. package/lib/ui/task-contract-panel.js.map +1 -0
  155. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/pendant/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/pendant/renderer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-panel.d.ts","sourceRoot":"","sources":["../../src/pendant/settings-panel.tsx"],"names":[],"mappings":"AAcA,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,OAAO,CAsDlD"}
1
+ {"version":3,"file":"settings-panel.d.ts","sourceRoot":"","sources":["../../src/pendant/settings-panel.tsx"],"names":[],"mappings":"AAeA,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,OAAO,CA8DlD"}
@@ -10,11 +10,13 @@ const MATERIALS = [
10
10
  { id: 'woven', name: '织带', detail: '细密织纹' }, { id: 'braided', name: '编织绳', detail: '圆润绳股' }, { id: 'leather', name: '皮革', detail: '平整缝线' },
11
11
  ];
12
12
  const FRAME_RATES = [{ fps: 24, label: '省电' }, { fps: 30, label: '均衡' }, { fps: 60, label: '流畅' }];
13
+ const IMAGE_FITS = [{ fit: 'contain', label: '完整显示', detail: '自适应 · 不裁切' }, { fit: 'cover', label: '铺满裁切', detail: '居中 · 无留白' }];
13
14
  const COLORS = ['#617e73', '#46515b', '#b7afa0', '#997365', '#647c98', '#807388'];
14
15
  export function PendantSettingsPanel() {
15
16
  const settings = usePendantSettings(), [draft, setDraft] = useState(() => ({ ...settings }));
16
17
  const [error, setError] = useState(''), [saved, setSaved] = useState(false), [processing, setProcessing] = useState(false);
17
18
  const file = useRef(null), epoch = useRef(0);
19
+ const strapFile = useRef(null);
18
20
  const previous = useRef(settings);
19
21
  useEffect(() => {
20
22
  const before = previous.current;
@@ -27,7 +29,7 @@ export function PendantSettingsPanel() {
27
29
  const validColor = /^#[0-9a-f]{6}$/i.test(draft.color);
28
30
  const previewColor = validColor ? draft.color : DEFAULT_PENDANT_SETTINGS.color;
29
31
  const dirty = !samePendantSettings(draft, settings);
30
- const upload = async (event) => {
32
+ const upload = async (event, target = 'image') => {
31
33
  const selected = event.currentTarget.files?.[0];
32
34
  event.currentTarget.value = '';
33
35
  if (!selected)
@@ -37,9 +39,9 @@ export function PendantSettingsPanel() {
37
39
  setError('');
38
40
  setSaved(false);
39
41
  try {
40
- const image = await prepareCardImage(selected);
42
+ const image = await prepareCardImage(selected, target === 'strapImage' ? 256 : 1536);
41
43
  if (request === epoch.current)
42
- update({ image });
44
+ update({ [target]: image });
43
45
  }
44
46
  catch (reason) {
45
47
  if (request === epoch.current)
@@ -65,6 +67,6 @@ export function PendantSettingsPanel() {
65
67
  setError(errorMessage(reason));
66
68
  }
67
69
  };
68
- return _jsxs("div", { className: "dsh-partner-feature-page dsh-partner-pendant-settings", children: [_jsx(WorkspaceHero, { eyebrow: "PERSONAL TOUCH", title: "\u5361\u7247\u8BBE\u7F6E", detail: "\u8BA9\u6302\u9970\u6709\u81EA\u5DF1\u7684\u6837\u5B50\u3002\u5916\u89C2\u4EC5\u4FDD\u5B58\u5728\u5F53\u524D\u6D4F\u89C8\u5668\uFF0C\u4E0D\u5F71\u54CD\u4F19\u4F34\u6267\u884C\u548C\u6E20\u9053\u901A\u77E5\u3002", actions: _jsxs("button", { type: "button", disabled: !dirty || processing, onClick: save, children: [_jsx(IconCheckOutline14, { size: 15 }), "\u4FDD\u5B58\u8BBE\u7F6E"] }) }), error && _jsx(WorkspaceNotice, { children: error }), saved && _jsx(WorkspaceNotice, { kind: "success", children: "\u5DF2\u4FDD\u5B58\uFF0C\u6302\u9970\u5DF2\u66F4\u65B0\u3002" }), _jsxs("div", { className: "dsh-partner-pendant-settings-layout", children: [_jsxs("div", { className: "dsh-partner-pendant-settings-fields", children: [_jsxs(WorkspaceBlock, { title: "\u4E3B\u754C\u9762\u6302\u9970", detail: "\u5173\u95ED\u540E\u505C\u6B62\u6302\u9970\u6E32\u67D3\u4E0E\u6D88\u606F\u8F6E\u8BE2\uFF0C\u968F\u65F6\u53EF\u4EE5\u91CD\u65B0\u5F00\u542F\u3002", actions: _jsx("button", { type: "button", className: "dsh-partner-feature-switch", "data-on": draft.enabled, role: "switch", "aria-label": "\u663E\u793A\u5361\u7247\u6302\u9970", "aria-checked": draft.enabled, onClick: () => update({ enabled: !draft.enabled }), children: _jsx("i", {}) }), children: [_jsx("p", { className: "dsh-partner-pendant-setting-hint", children: "\u6D88\u606F\u4FDD\u7559\u5728\u5361\u7247\u5185\u4FA7\uFF1B\u6B63\u9762\u5C55\u793A\u56FE\u6848\uFF0C\u65B0\u6D88\u606F\u5230\u8FBE\u65F6\u8F7B\u6446\u3001\u8F6C\u6B63\u5E76\u95EA\u5149\u3002" }), _jsxs("div", { className: "dsh-partner-pendant-fps-row", children: [_jsx("span", { children: "\u5E27\u7387\u4E0A\u9650" }), _jsx("div", { className: "dsh-partner-pendant-fps-options", role: "group", "aria-label": "\u6302\u9970\u5E27\u7387", children: FRAME_RATES.map(item => _jsxs("button", { type: "button", "aria-pressed": draft.fps === item.fps, onClick: () => update({ fps: item.fps }), children: [_jsxs("strong", { children: [item.fps, " FPS"] }), _jsx("small", { children: item.label })] }, item.fps)) }), _jsx("small", { children: "\u4EC5\u5F71\u54CD\u52A8\u753B\u7ED8\u5236\uFF0C\u5B9E\u9645\u5E27\u7387\u53D6\u51B3\u4E8E\u8BBE\u5907\uFF1B\u9759\u6B62\u65F6\u81EA\u52A8\u4F11\u7720\u3002" })] })] }), _jsxs(WorkspaceBlock, { title: "\u7EF3\u5B50\u5916\u89C2", detail: "\u6750\u8D28\u53EA\u6539\u53D8\u5916\u89C2\uFF0C\u4FDD\u7559\u5F53\u524D\u7684\u62C9\u4F38\u4E0E\u56DE\u5F39\u624B\u611F\u3002", children: [_jsx("div", { className: "dsh-partner-pendant-materials", role: "group", "aria-label": "\u7EF3\u5B50\u6750\u8D28", children: MATERIALS.map(item => _jsxs("button", { type: "button", "aria-pressed": draft.material === item.id, onClick: () => update({ material: item.id }), children: [_jsx(StrapPreview, { material: item.id, color: previewColor, swatch: true }), _jsx("strong", { children: item.name }), _jsx("small", { children: item.detail }), draft.material === item.id && _jsx(IconCheckOutline14, { size: 14 })] }, item.id)) }), _jsxs("div", { className: "dsh-partner-pendant-color-row", children: [_jsx("span", { children: "\u7EF3\u5B50\u989C\u8272" }), _jsx("div", { className: "dsh-partner-pendant-swatches", role: "group", "aria-label": "\u9884\u8BBE\u7EF3\u5B50\u989C\u8272", children: COLORS.map(color => _jsxs("button", { type: "button", "aria-label": `绳子颜色 ${color}`, "aria-pressed": draft.color.toLowerCase() === color, onClick: () => update({ color }), children: [_jsx("i", { style: { backgroundColor: color } }), draft.color.toLowerCase() === color && _jsx(IconCheckOutline14, { size: 12 })] }, color)) }), _jsxs("label", { className: "dsh-partner-pendant-hex", children: [_jsx("span", { className: "dsh-partner-pendant-sr", children: "\u81EA\u5B9A\u4E49\u7EF3\u5B50\u989C\u8272" }), _jsx("input", { "aria-label": "\u81EA\u5B9A\u4E49\u7EF3\u5B50\u989C\u8272", "aria-invalid": !validColor, value: draft.color, maxLength: 7, spellCheck: false, onChange: event => update({ color: event.target.value }) })] })] }), !validColor && _jsx("p", { className: "dsh-partner-pendant-color-error", children: "\u8BF7\u8F93\u5165 # \u5F00\u5934\u7684\u516D\u4F4D\u989C\u8272\u503C\u3002" })] }), _jsxs(WorkspaceBlock, { title: "\u6B63\u9762\u56FE\u6848", detail: "\u652F\u6301 PNG\u3001JPEG\u3001WebP\uFF0C\u6700\u5927 5 MB\u3002\u56FE\u7247\u5C45\u4E2D\u88C1\u5207\u4E3A\u7AD6\u5411\u5361\u9762\uFF0C\u53EA\u5728\u672C\u673A\u5904\u7406\u3002", children: [_jsx("input", { ref: file, type: "file", accept: "image/png,image/jpeg,image/webp", hidden: true, "aria-label": "\u4E0A\u4F20\u5361\u7247\u56FE\u7247", onChange: event => { void upload(event); } }), _jsxs("div", { className: "dsh-partner-pendant-image-actions", children: [_jsxs("button", { type: "button", disabled: processing, onClick: () => file.current?.click(), children: [_jsx(IconPlusOutline16, { size: 15 }), processing ? '正在处理…' : draft.image ? '更换图片' : '选择图片'] }), _jsxs("button", { type: "button", disabled: !draft.image || processing, onClick: () => update({ image: '' }), children: [_jsx(IconRefreshOutline16, { size: 15 }), "\u6062\u590D\u9ED8\u8BA4\u56FE\u6848"] })] }), _jsx("p", { className: "dsh-partner-pendant-setting-hint", children: "\u5EFA\u8BAE\u4F7F\u7528 8:11 \u7AD6\u56FE\uFF1B\u4FDD\u5B58\u540E\u5237\u65B0\u4ECD\u4F1A\u4FDD\u7559\uFF0C\u6D88\u606F\u4E0D\u4F1A\u8986\u76D6\u4F60\u7684\u56FE\u6848\u3002" })] }), _jsxs("div", { className: "dsh-partner-pendant-settings-footer", children: [_jsx("button", { type: "button", disabled: processing, onClick: () => update({ ...DEFAULT_PENDANT_SETTINGS }), children: "\u91CD\u7F6E\u4E3A\u9ED8\u8BA4" }), _jsx("small", { children: dirty ? '有未保存的更改' : '设置已同步到当前浏览器' })] })] }), _jsxs("aside", { className: "dsh-partner-pendant-preview", "aria-label": "\u5361\u7247\u5916\u89C2\u9884\u89C8", children: [_jsxs("header", { children: [_jsx("strong", { children: "\u5916\u89C2\u9884\u89C8" }), _jsx("small", { children: draft.enabled ? '保存后应用到主界面' : '挂饰将隐藏,设置仍会保留' })] }), _jsxs("div", { className: "dsh-partner-pendant-preview-stage", children: [_jsx(StrapPreview, { material: draft.material, color: previewColor }), _jsx("div", { className: "dsh-partner-pendant-preview-card", children: draft.image ? _jsx("img", { src: draft.image, alt: "\u81EA\u5B9A\u4E49\u5361\u7247\u6B63\u9762\u9884\u89C8" }) : _jsxs("span", { children: [_jsx(IconAgentPresetOutline16, { size: 38 }), _jsx("strong", { children: "WITH YOU" }), _jsx("small", { children: "\u9ED8\u8BA4\u4F19\u4F34\u56FE\u6848" })] }) })] }), _jsxs("p", { children: ["\u6B63\u9762 \u00B7 \u56FE\u6848", _jsx("br", {}), _jsx("small", { children: "\u5185\u4FA7 \u00B7 \u4F19\u4F34\u6D88\u606F" })] })] })] })] });
70
+ return _jsxs("div", { className: "dsh-partner-feature-page dsh-partner-pendant-settings", children: [_jsx(WorkspaceHero, { eyebrow: "PERSONAL TOUCH", title: "\u5361\u7247\u8BBE\u7F6E", detail: "\u8BA9\u6302\u9970\u6709\u81EA\u5DF1\u7684\u6837\u5B50\u3002\u5916\u89C2\u4EC5\u4FDD\u5B58\u5728\u5F53\u524D\u6D4F\u89C8\u5668\uFF0C\u4E0D\u5F71\u54CD\u4F19\u4F34\u6267\u884C\u548C\u6E20\u9053\u901A\u77E5\u3002", actions: _jsxs("button", { type: "button", disabled: !dirty || processing, onClick: save, children: [_jsx(IconCheckOutline14, { size: 15 }), "\u4FDD\u5B58\u8BBE\u7F6E"] }) }), error && _jsx(WorkspaceNotice, { children: error }), saved && _jsx(WorkspaceNotice, { kind: "success", children: "\u5DF2\u4FDD\u5B58\uFF0C\u6302\u9970\u5DF2\u66F4\u65B0\u3002" }), _jsxs("div", { className: "dsh-partner-pendant-settings-layout", children: [_jsxs("div", { className: "dsh-partner-pendant-settings-fields", children: [_jsxs(WorkspaceBlock, { title: "\u4E3B\u754C\u9762\u6302\u9970", detail: "\u5173\u95ED\u540E\u505C\u6B62\u6302\u9970\u6E32\u67D3\u4E0E\u6D88\u606F\u8F6E\u8BE2\uFF0C\u968F\u65F6\u53EF\u4EE5\u91CD\u65B0\u5F00\u542F\u3002", actions: _jsx("button", { type: "button", className: "dsh-partner-feature-switch", "data-on": draft.enabled, role: "switch", "aria-label": "\u663E\u793A\u5361\u7247\u6302\u9970", "aria-checked": draft.enabled, onClick: () => update({ enabled: !draft.enabled }), children: _jsx("i", {}) }), children: [_jsx("p", { className: "dsh-partner-pendant-setting-hint", children: "\u6D88\u606F\u4FDD\u7559\u5728\u5361\u7247\u5185\u4FA7\uFF1B\u6B63\u9762\u5C55\u793A\u56FE\u6848\uFF0C\u65B0\u6D88\u606F\u5230\u8FBE\u65F6\u8F7B\u6446\u3001\u8F6C\u6B63\u5E76\u95EA\u5149\u3002" }), _jsxs("div", { className: "dsh-partner-pendant-fps-row", children: [_jsx("span", { children: "\u5E27\u7387\u4E0A\u9650" }), _jsx("div", { className: "dsh-partner-pendant-options", role: "group", "aria-label": "\u6302\u9970\u5E27\u7387", children: FRAME_RATES.map(item => _jsxs("button", { type: "button", "aria-pressed": draft.fps === item.fps, onClick: () => update({ fps: item.fps }), children: [_jsxs("strong", { children: [item.fps, " FPS"] }), _jsx("small", { children: item.label })] }, item.fps)) }), _jsx("small", { children: "\u4EC5\u5F71\u54CD\u52A8\u753B\u7ED8\u5236\uFF0C\u5B9E\u9645\u5E27\u7387\u53D6\u51B3\u4E8E\u8BBE\u5907\uFF1B\u9759\u6B62\u65F6\u81EA\u52A8\u4F11\u7720\u3002" })] })] }), _jsxs(WorkspaceBlock, { title: "\u7EF3\u5B50\u5916\u89C2", detail: "\u6750\u8D28\u53EA\u6539\u53D8\u5916\u89C2\uFF0C\u4FDD\u7559\u5F53\u524D\u7684\u62C9\u4F38\u4E0E\u56DE\u5F39\u624B\u611F\u3002", children: [_jsxs("label", { className: "dsh-partner-pendant-length", children: [_jsxs("span", { children: ["\u7EF3\u5B50\u957F\u5EA6 ", _jsxs("output", { children: [draft.strapLength, "%"] })] }), _jsx("input", { type: "range", min: "60", max: "160", step: "5", "aria-label": "\u7EF3\u5B50\u957F\u5EA6", value: draft.strapLength, onChange: event => update({ strapLength: Number(event.target.value) }) }), _jsx("small", { children: "60% \u77ED\u7EF3 \u2014 100% \u9ED8\u8BA4 \u2014 160% \u957F\u7EF3\uFF1B\u4FDD\u5B58\u540E\u8C03\u6574\u5B9E\u9645\u60AC\u6302\u957F\u5EA6\u3002" })] }), _jsx("div", { className: "dsh-partner-pendant-materials", role: "group", "aria-label": "\u7EF3\u5B50\u6750\u8D28", children: MATERIALS.map(item => _jsxs("button", { type: "button", "aria-pressed": draft.material === item.id, onClick: () => update({ material: item.id }), children: [_jsx(StrapPreview, { material: item.id, color: previewColor, swatch: true }), _jsx("strong", { children: item.name }), _jsx("small", { children: item.detail }), draft.material === item.id && _jsx(IconCheckOutline14, { size: 14 })] }, item.id)) }), _jsxs("div", { className: "dsh-partner-pendant-color-row", children: [_jsx("span", { children: "\u7EF3\u5B50\u989C\u8272" }), _jsx("div", { className: "dsh-partner-pendant-swatches", role: "group", "aria-label": "\u9884\u8BBE\u7EF3\u5B50\u989C\u8272", children: COLORS.map(color => _jsxs("button", { type: "button", "aria-label": `绳子颜色 ${color}`, "aria-pressed": draft.color.toLowerCase() === color, onClick: () => update({ color }), children: [_jsx("i", { style: { backgroundColor: color } }), draft.color.toLowerCase() === color && _jsx(IconCheckOutline14, { size: 12 })] }, color)) }), _jsxs("label", { className: "dsh-partner-pendant-hex", children: [_jsx("span", { className: "dsh-partner-pendant-sr", children: "\u81EA\u5B9A\u4E49\u7EF3\u5B50\u989C\u8272" }), _jsx("input", { "aria-label": "\u81EA\u5B9A\u4E49\u7EF3\u5B50\u989C\u8272", "aria-invalid": !validColor, value: draft.color, maxLength: 7, spellCheck: false, onChange: event => update({ color: event.target.value }) })] })] }), !validColor && _jsx("p", { className: "dsh-partner-pendant-color-error", children: "\u8BF7\u8F93\u5165 # \u5F00\u5934\u7684\u516D\u4F4D\u989C\u8272\u503C\u3002" }), _jsx("input", { ref: strapFile, type: "file", accept: "image/png,image/jpeg,image/webp", hidden: true, "aria-label": "\u4E0A\u4F20\u7EF3\u5B50\u7EB9\u7406", onChange: event => { void upload(event, 'strapImage'); } }), _jsxs("div", { className: "dsh-partner-pendant-image-actions", children: [_jsxs("button", { type: "button", disabled: processing, onClick: () => strapFile.current?.click(), children: [_jsx(IconPlusOutline16, { size: 15 }), draft.strapImage ? '更换绳子纹理' : '自定义绳子纹理'] }), _jsx("button", { type: "button", disabled: processing || !draft.strapImage, onClick: () => update({ strapImage: '' }), children: "\u79FB\u9664\u7EB9\u7406" })] }), _jsx("p", { className: "dsh-partner-pendant-setting-hint", children: "\u7EB9\u7406\u6CBF\u7EF3\u5B50\u91CD\u590D\u8D34\u5408\uFF0C\u8DDF\u968F\u79FB\u52A8\u3001\u5F2F\u66F2\u548C\u62C9\u4F38\uFF1B\u5EFA\u8BAE\u4F7F\u7528\u65E0\u7F1D\u56FE\u6848\uFF0C\u4FDD\u7559\u6240\u9009\u6750\u8D28\u7684\u8FB9\u7F18\u548C\u7F16\u7EC7\u7EC6\u8282\u3002" })] }), _jsxs(WorkspaceBlock, { title: "\u6B63\u9762\u56FE\u6848", detail: "\u652F\u6301 PNG\u3001JPEG\u3001WebP\uFF0C\u6700\u5927 5 MB\u3002\u4FDD\u7559\u56FE\u7247\u6BD4\u4F8B\uFF0C\u53EA\u5728\u672C\u673A\u5904\u7406\u3002", children: [_jsx("input", { ref: file, type: "file", accept: "image/png,image/jpeg,image/webp", hidden: true, "aria-label": "\u4E0A\u4F20\u5361\u7247\u56FE\u7247", onChange: event => { void upload(event); } }), _jsxs("div", { className: "dsh-partner-pendant-image-actions", children: [_jsxs("button", { type: "button", disabled: processing, onClick: () => file.current?.click(), children: [_jsx(IconPlusOutline16, { size: 15 }), processing ? '正在处理…' : draft.image ? '更换图片' : '选择图片'] }), _jsxs("button", { type: "button", disabled: !draft.image || processing, onClick: () => update({ image: '' }), children: [_jsx(IconRefreshOutline16, { size: 15 }), "\u6062\u590D\u9ED8\u8BA4\u56FE\u6848"] })] }), _jsx("div", { className: "dsh-partner-pendant-options", "data-columns": "2", role: "group", "aria-label": "\u56FE\u7247\u9002\u5E94\u65B9\u5F0F", children: IMAGE_FITS.map(item => _jsxs("button", { type: "button", disabled: processing, "aria-pressed": draft.imageFit === item.fit, onClick: () => update({ imageFit: item.fit }), children: [_jsx("strong", { children: item.label }), _jsx("small", { children: item.detail })] }, item.fit)) }), _jsx("p", { className: "dsh-partner-pendant-setting-hint", children: "\u5B8C\u6574\u663E\u793A\u4F1A\u6309\u6BD4\u4F8B\u7F29\u653E\uFF0C\u7A7A\u4F59\u90E8\u5206\u4F7F\u7528\u5361\u9762\u5E95\u8272\uFF1B\u94FA\u6EE1\u4F1A\u88C1\u5207\u8FB9\u7F18\uFF0C\u4E0D\u62C9\u4F38\u56FE\u7247\u3002\u65E7\u7248\u5DF2\u88C1\u5207\u7684\u56FE\u7247\u9700\u91CD\u65B0\u4E0A\u4F20\u624D\u80FD\u6062\u590D\u5B8C\u6574\u5185\u5BB9\u3002" }), _jsxs("label", { className: "dsh-partner-pendant-length", children: [_jsxs("span", { children: ["\u5361\u7247\u6E05\u6670\u5EA6 ", _jsxs("output", { children: [draft.quality, "%"] })] }), _jsx("input", { type: "range", min: "0", max: "100", step: "5", value: draft.quality, "aria-label": "\u5361\u7247\u6E05\u6670\u5EA6", onChange: event => update({ quality: Number(event.target.value) }) }), _jsx("small", { children: "0% \u6807\u51C6\u3001\u7701\u8D44\u6E90 \u2014 100% \u9AD8\u6E05\uFF1B\u4FDD\u5B58\u540E\u751F\u6548\uFF0C\u4E0D\u6539\u53D8\u5E27\u7387\u4E0A\u9650\u3002" })] }), _jsx("p", { className: "dsh-partner-pendant-setting-hint", children: "\u56FE\u6848\u4F18\u5148\u65E0\u635F\u4FDD\u5B58\uFF0C\u6700\u957F\u8FB9\u4FDD\u7559\u81F3 1536 \u50CF\u7D20\u3002\u5DF2\u538B\u7F29\u7684\u65E7\u56FE\u7247\u5EFA\u8BAE\u91CD\u65B0\u4E0A\u4F20\uFF1B\u9AD8\u6E05\u65E0\u6CD5\u6062\u590D\u539F\u56FE\u7F3A\u5931\u7684\u7EC6\u8282\u3002" })] }), _jsxs("div", { className: "dsh-partner-pendant-settings-footer", children: [_jsx("button", { type: "button", disabled: processing, onClick: () => update({ ...DEFAULT_PENDANT_SETTINGS }), children: "\u91CD\u7F6E\u4E3A\u9ED8\u8BA4" }), _jsx("small", { children: dirty ? '有未保存的更改' : '设置已同步到当前浏览器' })] })] }), _jsxs("aside", { className: "dsh-partner-pendant-preview", "aria-label": "\u5361\u7247\u5916\u89C2\u9884\u89C8", children: [_jsxs("header", { children: [_jsx("strong", { children: "\u5916\u89C2\u9884\u89C8" }), _jsx("small", { children: draft.enabled ? '保存后应用到主界面' : '挂饰将隐藏,设置仍会保留' })] }), _jsxs("div", { className: "dsh-partner-pendant-preview-stage", children: [_jsx(StrapPreview, { material: draft.material, color: previewColor, image: draft.strapImage, length: draft.strapLength }), _jsx("div", { className: "dsh-partner-pendant-preview-card", children: draft.image ? _jsx("img", { src: draft.image, style: { objectFit: draft.imageFit }, alt: "\u81EA\u5B9A\u4E49\u5361\u7247\u6B63\u9762\u9884\u89C8" }) : _jsxs("span", { children: [_jsx(IconAgentPresetOutline16, { size: 38 }), _jsx("strong", { children: "WITH YOU" }), _jsx("small", { children: "\u9ED8\u8BA4\u4F19\u4F34\u56FE\u6848" })] }) })] }), _jsxs("p", { children: ["\u6B63\u9762 \u00B7 \u56FE\u6848", _jsx("br", {}), _jsx("small", { children: "\u5185\u4FA7 \u00B7 \u4F19\u4F34\u6D88\u606F" })] })] })] })] });
69
71
  }
70
72
  //# sourceMappingURL=settings-panel.js.map
@@ -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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"}
@@ -1,16 +1,23 @@
1
1
  export type StrapMaterial = 'woven' | 'braided' | 'leather';
2
2
  export type PendantFps = 24 | 30 | 60;
3
+ export type CardImageFit = 'contain' | 'cover';
3
4
  export interface PendantSettings {
4
5
  enabled: boolean;
5
6
  fps: PendantFps;
6
7
  material: StrapMaterial;
7
8
  color: string;
8
9
  image: string;
10
+ imageFit: CardImageFit;
11
+ strapLength: number;
12
+ strapImage: string;
13
+ quality: number;
9
14
  }
10
15
  export declare const PENDANT_SETTINGS_KEY = "dsh-partner:pendant-settings:v1";
11
16
  export declare const DEFAULT_PENDANT_SETTINGS: Readonly<PendantSettings>;
12
17
  export declare const MAX_CARD_IMAGE_LENGTH = 700000;
13
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;
14
21
  export declare function normalizePendantFps(value: unknown): PendantFps;
15
22
  export declare function normalizePendantSettings(value: unknown): PendantSettings;
16
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,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,CAAA;CAAE;AAC7H,eAAO,MAAM,oBAAoB,oCAAoC,CAAA;AACrE,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAA6F,CAAA;AAC5J,eAAO,MAAM,qBAAqB,SAAU,CAAA;AAE5C,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CAEnF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAAqD;AAEpH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CASxE"}
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"}
@@ -1,18 +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: '' });
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;
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),
19
+ imageFit: input.imageFit === 'cover' ? 'cover' : 'contain',
13
20
  material: input.material === 'braided' || input.material === 'leather' ? input.material : 'woven',
14
21
  color: typeof input.color === 'string' && /^#[0-9a-f]{6}$/i.test(input.color) ? input.color.toLowerCase() : DEFAULT_PENDANT_SETTINGS.color,
15
- image: typeof input.image === 'string' && input.image.length <= MAX_CARD_IMAGE_LENGTH && /^data:image\/jpeg;base64,[a-z0-9+/]+={0,2}$/i.test(input.image) ? input.image : '',
22
+ image: safeImage(input.image),
16
23
  };
17
24
  }
18
25
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/pendant/settings.ts"],"names":[],"mappings":"AAGA,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,CAAC,CAAA;AAC5J,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAA;AAE5C,MAAM,UAAU,mBAAmB,CAAC,CAAkB,EAAE,CAAkB;IACxE,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAA;AAC9H,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc,IAAgB,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAC;AAEpH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,MAAM,KAAK,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzF,OAAO;QACL,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAClE,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC;QACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;QACjG,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK;QAC1I,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,qBAAqB,IAAI,8CAA8C,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;KAC7K,CAAA;AACH,CAAC"}
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,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;AACjO,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAA;AAE5C,MAAM,UAAU,mBAAmB,CAAC,CAAkB,EAAE,CAAkB;IACxE,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAA;AAC1P,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc,IAAY,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,CAAC,CAAC;AAClL,MAAM,UAAU,oBAAoB,CAAC,KAAc,IAAY,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,CAAC,CAAC;AAC5M,SAAS,SAAS,CAAC,KAAc,IAAY,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,qBAAqB,IAAI,yDAAyD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAC;AAE9M,MAAM,UAAU,mBAAmB,CAAC,KAAc,IAAgB,OAAO,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA,CAAC,CAAC;AAEpH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,MAAM,KAAK,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzF,OAAO;QACL,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAClE,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC;QACnC,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC;QACpD,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;QACvC,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5C,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC1D,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;QACjG,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK;QAC1I,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;KAC9B,CAAA;AACH,CAAC"}
@@ -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;AAGpD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAMjJ"}
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
- export function StrapPreview({ material, color, swatch = false }) {
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;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAsE;IAClI,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IACpM,OAAO,eAAK,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,iBAAc,MAAM,aACvI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAqB,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,IAAtJ,KAAK,CAAC,EAAE,CAAiJ,CAAC,EACzL,CAAC,MAAM,IAAI,eAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,GAAG,IACzE,CAAA;AACR,CAAC"}
1
+ {"version":3,"file":"strap-preview.js","sourceRoot":"","sources":["../../src/pendant/strap-preview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAElF,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,GAAG,EAAuG;IAC7L,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,sBAAsB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,sBAAsB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,sBAAsB,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACtN,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IACpM,OAAO,eAAK,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,mBAAmB,EAAC,MAAM,iBAAa,MAAM,aACrO,KAAK,IAAI,yBAAM,kBAAS,EAAE,EAAE,EAAE,EAAE,YAAY,EAAC,gBAAgB,EAAC,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,YAAC,gBAAO,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,mBAAmB,EAAC,MAAM,GAAG,GAAU,GAAO,EAC1K,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAC,QAAQ,eAAgB,eAAM,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAG,EAAC,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAc,CAAC,EAAC,GAAG,EAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAtI,CAAC,CAAyI,CAAC,KAA3X,KAAK,CAAC,EAAE,CAA+X,CAAC,EAC3a,CAAC,MAAM,IAAI,eAAM,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,GAAG,IACzE,CAAA;AACR,CAAC"}
@@ -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;AAE9E,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB;kBA+B1C,MAAM;4BACI,eAAe;kBAMzB,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"}
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"}
@@ -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: 49 }, () => ({ x: 0, y: 0 }));
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;
@@ -1 +1 @@
1
- {"version":3,"file":"strap.js","sourceRoot":"","sources":["../../src/pendant/strap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strap.js","sourceRoot":"","sources":["../../src/pendant/strap.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import * as THREE from 'three';
2
+ import type { MotionGlareUniforms } from './motion-glare.js';
2
3
  export declare const BADGE_LIGHTING: {
3
- readonly ambient: 0.4;
4
+ readonly ambient: 2.4;
4
5
  readonly key: 1.1;
5
6
  };
6
- /** Clear coating over printed artwork, not a milky diffuse reflector.
7
- * Both faces share this recipe so the message side does not flare white.
8
- * No transmission buffer: a WebGL pass cannot refract the DOM behind it,
9
- * and the printed image should retain its contrast and custom colours.
10
- */
11
- export declare function createBadgeFaceMaterial(map: THREE.Texture): THREE.MeshPhysicalMaterial;
7
+ /** Preserve the source image separately from the original physical reflection. */
8
+ export declare function createBadgeFaceMaterial(map: THREE.Texture, environment?: THREE.Texture, glare?: MotionGlareUniforms): THREE.MeshPhysicalMaterial;
9
+ /** Native pixels for a small card only; do not supersample 3x/4x phones. */
10
+ export declare function badgePixelRatio(value: number): number;
11
+ export declare function configureBadgeTexture(texture: THREE.Texture, maxAnisotropy: number): void;
12
12
  //# sourceMappingURL=surface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/pendant/surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,eAAO,MAAM,cAAc;;;CAAqC,CAAA;AAEhE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,oBAAoB,CAMtF"}
1
+ {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/pendant/surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAG5D,eAAO,MAAM,cAAc;;;CAAsC,CAAA;AAEjE,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC,oBAAoB,CAUhJ;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAGzF"}
@@ -1,15 +1,25 @@
1
1
  import * as THREE from 'three';
2
- export const BADGE_LIGHTING = { ambient: .4, key: 1.1 };
3
- /** Clear coating over printed artwork, not a milky diffuse reflector.
4
- * Both faces share this recipe so the message side does not flare white.
5
- * No transmission buffer: a WebGL pass cannot refract the DOM behind it,
6
- * and the printed image should retain its contrast and custom colours.
7
- */
8
- export function createBadgeFaceMaterial(map) {
9
- return new THREE.MeshPhysicalMaterial({
10
- map, metalness: 0, roughness: .24,
2
+ import { separateImageCoating } from './image-coating.js';
3
+ // Lights now affect the physical coating/hardware, not the source image.
4
+ export const BADGE_LIGHTING = { ambient: 2.4, key: 1.1 };
5
+ /** Preserve the source image separately from the original physical reflection. */
6
+ export function createBadgeFaceMaterial(map, environment, glare) {
7
+ const material = new THREE.MeshPhysicalMaterial({
8
+ // Explicit map: Three r185 otherwise substitutes scene.environmentIntensity
9
+ // for this material's envMapIntensity when inheriting scene.environment.
10
+ map, envMap: environment ?? null, metalness: 0, roughness: .24,
11
11
  clearcoat: .45, clearcoatRoughness: .16,
12
12
  specularIntensity: .35, envMapIntensity: .18,
13
13
  });
14
+ separateImageCoating(material, glare);
15
+ return material;
16
+ }
17
+ /** Native pixels for a small card only; do not supersample 3x/4x phones. */
18
+ export function badgePixelRatio(value) {
19
+ return Number.isFinite(value) && value > 0 ? Math.min(value, 2) : 1;
20
+ }
21
+ export function configureBadgeTexture(texture, maxAnisotropy) {
22
+ texture.colorSpace = THREE.SRGBColorSpace;
23
+ texture.anisotropy = Math.min(4, Math.max(1, maxAnisotropy));
14
24
  }
15
25
  //# sourceMappingURL=surface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/pendant/surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAW,CAAA;AAEhE;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAkB;IACxD,OAAO,IAAI,KAAK,CAAC,oBAAoB,CAAC;QACpC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG;QACjC,SAAS,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG;QACvC,iBAAiB,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG;KAC7C,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/pendant/surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAGzD,yEAAyE;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAW,CAAA;AAEjE,kFAAkF;AAClF,MAAM,UAAU,uBAAuB,CAAC,GAAkB,EAAE,WAA2B,EAAE,KAA2B;IAClH,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,oBAAoB,CAAC;QAC9C,4EAA4E;QAC5E,yEAAyE;QACzE,GAAG,EAAE,MAAM,EAAE,WAAW,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG;QAC9D,SAAS,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG;QACvC,iBAAiB,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG;KAC7C,CAAC,CAAA;IACF,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACrC,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAsB,EAAE,aAAqB;IACjF,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAA;IACzC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;AAC9D,CAAC"}