@things-factory/figure-ui 10.1.28 → 10.1.31

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 (62) hide show
  1. package/client/{themes → harness-theme}/brand.css +15 -4
  2. package/{dist-client/themes → client/harness-theme}/dark.css +4 -4
  3. package/client/{themes → harness-theme}/light.css +6 -6
  4. package/client/modeller/angle-dial.ts +70 -0
  5. package/client/modeller/figure-animations.ts +9 -9
  6. package/client/modeller/figure-canvas.ts +6 -3
  7. package/client/modeller/figure-inspector.ts +18 -3
  8. package/client/modeller/figure-preview.ts +56 -4
  9. package/client/modeller/figure-report.ts +11 -28
  10. package/client/modeller/figure-side.ts +1 -0
  11. package/client/modeller/joint-gizmo.ts +63 -1
  12. package/client/modeller/part-edits.ts +75 -9
  13. package/client/pages/figure-modeller-page.ts +20 -2
  14. package/client/types.ts +2 -0
  15. package/dist-client/{themes → harness-theme}/brand.css +15 -4
  16. package/{client/themes → dist-client/harness-theme}/dark.css +4 -4
  17. package/dist-client/{themes → harness-theme}/light.css +6 -6
  18. package/dist-client/modeller/angle-dial.d.ts +32 -0
  19. package/dist-client/modeller/angle-dial.js +41 -0
  20. package/dist-client/modeller/angle-dial.js.map +1 -0
  21. package/dist-client/modeller/figure-animations.d.ts +4 -4
  22. package/dist-client/modeller/figure-animations.js +9 -9
  23. package/dist-client/modeller/figure-animations.js.map +1 -1
  24. package/dist-client/modeller/figure-canvas.js +6 -3
  25. package/dist-client/modeller/figure-canvas.js.map +1 -1
  26. package/dist-client/modeller/figure-inspector.d.ts +11 -0
  27. package/dist-client/modeller/figure-inspector.js +20 -3
  28. package/dist-client/modeller/figure-inspector.js.map +1 -1
  29. package/dist-client/modeller/figure-preview.d.ts +11 -0
  30. package/dist-client/modeller/figure-preview.js +53 -3
  31. package/dist-client/modeller/figure-preview.js.map +1 -1
  32. package/dist-client/modeller/figure-report.d.ts +8 -4
  33. package/dist-client/modeller/figure-report.js +11 -31
  34. package/dist-client/modeller/figure-report.js.map +1 -1
  35. package/dist-client/modeller/figure-side.js +1 -0
  36. package/dist-client/modeller/figure-side.js.map +1 -1
  37. package/dist-client/modeller/joint-gizmo.d.ts +4 -1
  38. package/dist-client/modeller/joint-gizmo.js +54 -0
  39. package/dist-client/modeller/joint-gizmo.js.map +1 -1
  40. package/dist-client/modeller/part-edits.d.ts +29 -4
  41. package/dist-client/modeller/part-edits.js +61 -9
  42. package/dist-client/modeller/part-edits.js.map +1 -1
  43. package/dist-client/pages/figure-modeller-page.d.ts +7 -0
  44. package/dist-client/pages/figure-modeller-page.js +20 -2
  45. package/dist-client/pages/figure-modeller-page.js.map +1 -1
  46. package/dist-client/tsconfig.tsbuildinfo +1 -1
  47. package/dist-client/types.d.ts +2 -0
  48. package/dist-client/types.js.map +1 -1
  49. package/package.json +5 -5
  50. package/test/angle-dial.test.ts +78 -0
  51. package/test/base-box.test.ts +11 -0
  52. package/test/brand-palette.test.ts +99 -18
  53. package/test/expect.ts +2 -0
  54. package/test/i18n-prefix-guard.test.ts +17 -0
  55. package/test/joint-needle.test.ts +162 -0
  56. package/test/part-edits.test.ts +100 -0
  57. package/test/scene-budget.test.ts +29 -0
  58. package/translations/en.json +3 -7
  59. package/translations/ja.json +3 -7
  60. package/translations/ko.json +3 -7
  61. package/translations/ms.json +3 -7
  62. package/translations/zh.json +3 -7
@@ -47,6 +47,17 @@ export declare class FigureInspector extends FigureInspector_base {
47
47
  static styles: import("lit").CSSResult[];
48
48
  /** 도형의 DB 식별자. 비어 있으면 미저장 신규 모델이다. */
49
49
  figureId: string;
50
+ /**
51
+ * 발행 판 번호. 0 이면 한 번도 발행되지 않았고, 그때만 `type` 을 고칠 수 있다(ADR-0063 결정 4).
52
+ */
53
+ figureVersion: number;
54
+ /**
55
+ * 타입이 굳었나 — **한 번이라도 발행됐으면 굳는다**(ADR-0063 결정 4).
56
+ *
57
+ * 저장되지 않은 새 도형과 아직 발행 전인 초안에서는 고칠 수 있다. 전에는 「저장됐나」로
58
+ * 갈랐고, 그래서 저작자가 기계가 지은 이름(`FIGURE_MU6RJH47`)을 한 번도 못 고쳤다.
59
+ */
60
+ private get typeIsFixed();
50
61
  /** 도형의 표시 이름. 정본은 저작면이 들고, 여기서는 보여 주고 바꾼다(`figure-rename` 으로 알린다). */
51
62
  figureName: string;
52
63
  /** 분류 하나 — 팔레트에서 묶는 기준. */
@@ -69,6 +69,10 @@ let FigureInspector = class FigureInspector extends localize(i18next)(LitElement
69
69
  super(...arguments);
70
70
  /** 도형의 DB 식별자. 비어 있으면 미저장 신규 모델이다. */
71
71
  this.figureId = '';
72
+ /**
73
+ * 발행 판 번호. 0 이면 한 번도 발행되지 않았고, 그때만 `type` 을 고칠 수 있다(ADR-0063 결정 4).
74
+ */
75
+ this.figureVersion = 0;
72
76
  /** 도형의 표시 이름. 정본은 저작면이 들고, 여기서는 보여 주고 바꾼다(`figure-rename` 으로 알린다). */
73
77
  this.figureName = '';
74
78
  /** 펴 둔 도움말. 부품을 바꿔도 유지된다 — 매번 다시 펴게 하지 않는다. */
@@ -842,6 +846,15 @@ let FigureInspector = class FigureInspector extends localize(i18next)(LitElement
842
846
  }
843
847
  `
844
848
  ]; }
849
+ /**
850
+ * 타입이 굳었나 — **한 번이라도 발행됐으면 굳는다**(ADR-0063 결정 4).
851
+ *
852
+ * 저장되지 않은 새 도형과 아직 발행 전인 초안에서는 고칠 수 있다. 전에는 「저장됐나」로
853
+ * 갈랐고, 그래서 저작자가 기계가 지은 이름(`FIGURE_MU6RJH47`)을 한 번도 못 고쳤다.
854
+ */
855
+ get typeIsFixed() {
856
+ return !!this.figureId && (this.figureVersion ?? 0) > 0;
857
+ }
845
858
  /** `part` 는 HTMLElement 의 속성(DOMTokenList)이다 — 가리면 형이 어긋난다. */
846
859
  get chosen() {
847
860
  return this.parts?.[this.selected];
@@ -1153,11 +1166,11 @@ let FigureInspector = class FigureInspector extends localize(i18next)(LitElement
1153
1166
  />
1154
1167
  </div>
1155
1168
  <div inline-field>
1156
- <label>${i18next.t('figure.label.figure-type')}${this.figureId ? this.helpButton('figure.text.type-name-cannot-change') : nothing}</label>
1157
- ${!this.figureId
1169
+ <label>${i18next.t('figure.label.figure-type')}${this.typeIsFixed ? this.helpButton('figure.text.type-name-cannot-change') : nothing}</label>
1170
+ ${!this.typeIsFixed
1158
1171
  ? html `<input
1159
1172
  .value=${this.draft?.figureType ?? ''}
1160
- placeholder=${i18next.t('figure.text.figure-type-placeholder', { defaultValue: '도형 식별 타입 (예: OHT)' })}
1173
+ placeholder=${i18next.t('figure.text.figure-type-placeholder')}
1161
1174
  @change=${(e) => this.dispatchEvent(new CustomEvent('figure-type-change', {
1162
1175
  detail: { type: e.target.value.trim().toUpperCase() },
1163
1176
  bubbles: true,
@@ -2035,6 +2048,10 @@ __decorate([
2035
2048
  property({ type: String }),
2036
2049
  __metadata("design:type", Object)
2037
2050
  ], FigureInspector.prototype, "figureId", void 0);
2051
+ __decorate([
2052
+ property({ type: Number }),
2053
+ __metadata("design:type", Object)
2054
+ ], FigureInspector.prototype, "figureVersion", void 0);
2038
2055
  __decorate([
2039
2056
  property({ type: String }),
2040
2057
  __metadata("design:type", Object)