@lemoncat7/dsh-partner 1.10.6 → 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 (111) hide show
  1. package/README.md +41 -0
  2. package/docs/architecture.md +14 -0
  3. package/lib/api/features/workspace-api.js +2 -2
  4. package/lib/api/features/workspace-api.js.map +1 -1
  5. package/lib/client-api.d.ts +8 -0
  6. package/lib/client-api.d.ts.map +1 -1
  7. package/lib/client-api.js.map +1 -1
  8. package/lib/client.js +1103 -917
  9. package/lib/client.js.map +4 -4
  10. package/lib/collaboration/composition.d.ts.map +1 -1
  11. package/lib/collaboration/composition.js +5 -3
  12. package/lib/collaboration/composition.js.map +1 -1
  13. package/lib/collaboration/domain.d.ts +2 -0
  14. package/lib/collaboration/domain.d.ts.map +1 -1
  15. package/lib/collaboration/domain.js.map +1 -1
  16. package/lib/collaboration/service.d.ts +1 -0
  17. package/lib/collaboration/service.d.ts.map +1 -1
  18. package/lib/collaboration/service.js +15 -4
  19. package/lib/collaboration/service.js.map +1 -1
  20. package/lib/domain.d.ts +1 -0
  21. package/lib/domain.d.ts.map +1 -1
  22. package/lib/domain.js.map +1 -1
  23. package/lib/pendant/card-image.d.ts +1 -1
  24. package/lib/pendant/card-image.d.ts.map +1 -1
  25. package/lib/pendant/card-image.js +16 -6
  26. package/lib/pendant/card-image.js.map +1 -1
  27. package/lib/pendant/physics.d.ts +1 -0
  28. package/lib/pendant/physics.d.ts.map +1 -1
  29. package/lib/pendant/physics.js +24 -2
  30. package/lib/pendant/physics.js.map +1 -1
  31. package/lib/pendant/renderer.d.ts.map +1 -1
  32. package/lib/pendant/renderer.js +21 -4
  33. package/lib/pendant/renderer.js.map +1 -1
  34. package/lib/pendant/settings-panel.d.ts.map +1 -1
  35. package/lib/pendant/settings-panel.js +5 -4
  36. package/lib/pendant/settings-panel.js.map +1 -1
  37. package/lib/pendant/settings.d.ts +5 -0
  38. package/lib/pendant/settings.d.ts.map +1 -1
  39. package/lib/pendant/settings.js +9 -3
  40. package/lib/pendant/settings.js.map +1 -1
  41. package/lib/pendant/strap-preview.d.ts +3 -1
  42. package/lib/pendant/strap-preview.d.ts.map +1 -1
  43. package/lib/pendant/strap-preview.js +6 -3
  44. package/lib/pendant/strap-preview.js.map +1 -1
  45. package/lib/pendant/strap-texture.d.ts +5 -0
  46. package/lib/pendant/strap-texture.d.ts.map +1 -0
  47. package/lib/pendant/strap-texture.js +9 -0
  48. package/lib/pendant/strap-texture.js.map +1 -0
  49. package/lib/pendant/strap.d.ts.map +1 -1
  50. package/lib/pendant/strap.js +39 -2
  51. package/lib/pendant/strap.js.map +1 -1
  52. package/lib/pendant-renderer.js +174 -174
  53. package/lib/requirements/draft.d.ts +3 -0
  54. package/lib/requirements/draft.d.ts.map +1 -0
  55. package/lib/requirements/draft.js +7 -0
  56. package/lib/requirements/draft.js.map +1 -0
  57. package/lib/requirements/plan-schema.d.ts +93 -0
  58. package/lib/requirements/plan-schema.d.ts.map +1 -0
  59. package/lib/requirements/plan-schema.js +16 -0
  60. package/lib/requirements/plan-schema.js.map +1 -0
  61. package/lib/requirements/plan.d.ts +30 -0
  62. package/lib/requirements/plan.d.ts.map +1 -0
  63. package/lib/requirements/plan.js +134 -0
  64. package/lib/requirements/plan.js.map +1 -0
  65. package/lib/requirements/service.d.ts +2 -1
  66. package/lib/requirements/service.d.ts.map +1 -1
  67. package/lib/requirements/service.js +4 -6
  68. package/lib/requirements/service.js.map +1 -1
  69. package/lib/requirements/tool.d.ts +1 -1
  70. package/lib/requirements/tool.d.ts.map +1 -1
  71. package/lib/requirements/tool.js +24 -3
  72. package/lib/requirements/tool.js.map +1 -1
  73. package/lib/skills/task-planning.d.ts +2 -2
  74. package/lib/skills/task-planning.d.ts.map +1 -1
  75. package/lib/skills/task-planning.js +10 -1
  76. package/lib/skills/task-planning.js.map +1 -1
  77. package/lib/store.js +2 -0
  78. package/lib/store.js.map +1 -1
  79. package/lib/tasks/context.d.ts.map +1 -1
  80. package/lib/tasks/context.js +9 -1
  81. package/lib/tasks/context.js.map +1 -1
  82. package/lib/tasks/contract.d.ts +63 -0
  83. package/lib/tasks/contract.d.ts.map +1 -0
  84. package/lib/tasks/contract.js +55 -0
  85. package/lib/tasks/contract.js.map +1 -0
  86. package/lib/tasks/domain.d.ts +6 -0
  87. package/lib/tasks/domain.d.ts.map +1 -1
  88. package/lib/tasks/draft.d.ts +7 -0
  89. package/lib/tasks/draft.d.ts.map +1 -0
  90. package/lib/tasks/draft.js +54 -0
  91. package/lib/tasks/draft.js.map +1 -0
  92. package/lib/tasks/result.d.ts +2 -0
  93. package/lib/tasks/result.d.ts.map +1 -1
  94. package/lib/tasks/result.js +17 -3
  95. package/lib/tasks/result.js.map +1 -1
  96. package/lib/tasks/scheduling.d.ts +15 -0
  97. package/lib/tasks/scheduling.d.ts.map +1 -0
  98. package/lib/tasks/scheduling.js +46 -0
  99. package/lib/tasks/scheduling.js.map +1 -0
  100. package/lib/tasks/service.d.ts +46 -3
  101. package/lib/tasks/service.d.ts.map +1 -1
  102. package/lib/tasks/service.js +55 -58
  103. package/lib/tasks/service.js.map +1 -1
  104. package/lib/ui/requirement-tasks-panel.d.ts.map +1 -1
  105. package/lib/ui/requirement-tasks-panel.js +18 -9
  106. package/lib/ui/requirement-tasks-panel.js.map +1 -1
  107. package/lib/ui/task-contract-panel.d.ts +10 -0
  108. package/lib/ui/task-contract-panel.d.ts.map +1 -0
  109. package/lib/ui/task-contract-panel.js +16 -0
  110. package/lib/ui/task-contract-panel.js.map +1 -0
  111. package/package.json +1 -1
@@ -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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"}