@things-factory/station 10.1.37 → 10.1.38

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 CHANGED
@@ -79,8 +79,9 @@ plant · warehouse · yms · ems 가 각자 한 번씩 한다. 기계에 기본
79
79
  ### 아직 안 정해진 것
80
80
 
81
81
  `act()` 의 **몸통**. 동작 이름 여섯(`start` · `count` · `pause` · `unstage` · `resume` · `finish`)은
82
- 창고에서도 서는 말인데, 그 안은 `startTask({ jobOrderName: … })` 처럼 제품의 인자 이름을 직접 짓는다.
83
- 제품이 그것을 어떻게 갈아 끼우는지가 1층에 아직 없다.
82
+ 창고에서도 서는 말인데, 그 안은 `startTask({ jobOrderName: … })` 처럼 제품의 인자 이름을 직접 짓고, plant 의
83
+ `station-facts` 가 제품의 mutation 둘(실적 · 설비 상태 구간)을 직접 부른다. 제품이 그것을 어떻게 갈아 끼우는지가
84
+ 1층에 아직 없다 — 아키텍트 판정 대기(ADR-0083 3-다).
84
85
 
85
86
  ## 배정 축은 표준의 총칭이다
86
87
 
@@ -105,20 +106,49 @@ plant · warehouse · yms · ems 가 각자 한 번씩 한다. 기계에 기본
105
106
  **plant 에 남는 것** — 선언 다섯의 구현(`station-context-service` 등 8 파일) · 컴포저 · 모델러 ·
106
107
  현장 화면 페이지 · 씬 컴포넌트.
107
108
 
108
- ## 아직 안 온 것
109
+ ## 아직 안 온 것 (2026-09-24 오후)
109
110
 
110
- - **클라이언트.** `client/station` 55 파일 6,257 줄. 씬 열하나 중 여섯이 공통이고 다섯이 제품의 것이다.
111
- 그 확장점의 모양을 UX 레인이 정한다 (ADR-0083 결정 6).
112
- - **컴포저 · 모델러 화면.** 공용이 되는 저작 화면의 틀을 UX 레인이 본다 (ADR-0083 「열어 둔 것」).
113
- - **`Reversibility`.** `server/service/station/reversibility.ts` 에 네 값이 있다. 같은 어휘를 plant 의 활동
114
- 선언 열 개가 쓰고 worklist 가 역할 이름으로 갖고 있다 — 집을 수석 아키텍트가 정한다.
111
+ **operato-plant 는 이제 이 꾸러미의 화면도 쓴다**(3-가, operato-application `1a1c5c9`). 공통 씬 여섯과 바탕은 여기 것만 돈다.
115
112
 
116
- ## plant 가 자기 사본을 걷을 때 할 일
113
+ 앱이 할 일은 둘이다. **씬 등록을 드러나게 부른다** — 이 꾸러미의 입구는 씬을 등록하지 않는다(도우미만 가져오는 쪽에 씬 여섯과
114
+ things-scene 이 따라오지 않게):
115
+
116
+ ```ts
117
+ import '@things-factory/station/dist-client/station/scene/index.js'
118
+ ```
119
+
120
+ **팔레트를 세운다** — 이 꾸러미의 공통 다섯은 `things-scene.config.js` 로 그물에 걸리지만 그물은 **모으기만** 한다. 앱의
121
+ bootstrap 이 `things-scene-components-with-tools` 를 읽어 `registerGroup` · `registerTemplate` 한다. 앱 자신의 타일은 그물에 안
122
+ 걸리므로 손으로 걸되 **그물 뒤에** 건다 — 들어갈 `station` 그룹이 여기서 나오고, 없는 그룹의 항목은 오류 없이 버려진다.
117
123
 
118
- 발행 · 설치 뒤다. 그 전까지 plant 는 자기 것을 그대로 돌리고 여기 것은 안 부른다.
124
+ 남은 것은 ADR-0083 「걸음 3 을 넷으로 나눈다」가 정본이다:
125
+
126
+ ```
127
+ 3-나 남은 기계 이음매 아홉을 plant 에서 가른다 저작 검사 — 항목의 필수 칸 check (UX 판정)
128
+ 3-다 동작 몸통 StationClientProduct.perform (아키텍트 판정, 고친 판)
129
+ 3-라 저작 화면(컴포저 · 모델러 …) UX 가 틀을 먼저 본다
130
+ 걸음 4 창고가 건다 창고가 부를 문은 섰다 · 선언 다섯을 글로 적는 것이 남았다
131
+ ```
132
+
133
+ ## plant 가 자기 사본을 걷을 때 할 일
119
134
 
120
- - 옮긴 26 + 2 + 4 파일과 그 시험 15 개를 지운다
121
- - 낱말표에서 위 39 개 키를 지운다
122
- - `required-activities.ts` 에서 저작 결재 둘을 뺀다 — 이 모듈이 스스로 등록한다
123
- - `deletionChanges` 를 이 모듈에서 가져온다 (`activity-non-working-withdrawal` 도 쓴다)
124
- - `declareStationProduct` 에 `recordChange` 를 채운다 — 없으면 기동 때 거절한다
135
+ ### 서버 — 했다 (09-20 `23bc7e1` · 09-22 확인)
136
+
137
+ - 옮긴 26 + 2 파일과 그 시험을 지웠다. 제품 쪽 여덟은 선언 다섯의 구현으로 남았다.
138
+ - `declareStationProduct` 에 `recordChange` 를 채웠다 — 걷는 순간 기동 검사가 비었다고 잡았다.
139
+ - `required-activities.ts` 에서 저작 결재 둘은 **안 뺐다.** 이 꾸러미도 등록하지만 같은 이름의 재등록은 덮어쓰기라 해가
140
+ 없고(`assertDoorSlugIsFree` 가 같은 이름을 뺀다), plant 의 문 선언이 그 둘을 계속 읽는다.
141
+ - `deletionChanges` 는 plant 가 자기 `fact-change` 의 것을 계속 쓴다(`activity-non-working-withdrawal`). 그 앱의 이력 쪽 함수라 남긴다.
142
+
143
+ ### 화면 — 3-가 · 했다 (09-24 `1a1c5c9`) · 두 줄 남음
144
+
145
+ 1. **그물을 세운다** — `things-scene-components-with-tools` 를 읽어 `registerGroup` · `registerTemplate` 하는 열 줄
146
+ (operato-twin `client/bootstrap.ts:89-93`). 그물은 모으기만 한다.
147
+ 2. **앱의 제품 타일 다섯은 손으로 건다 — `station` 그룹이 선 뒤에.** 그물은 의존 꾸러미만 걷는다. 그룹 없이 넣은 항목은
148
+ `registerTemplate` 이 오류 없이 버린다.
149
+ 3. **모델러가 항목의 `labelKey` 를 읽는다** — 손 지도(`PART_LABEL_KEYS`, 11)를 걷는다.
150
+ 4. **원문을 경로로 읽는 시험 19 파일을 가른다.**
151
+ 5. **(남음 — 10.1.38 설치 뒤) 낱말표의 겹친 키 58 을 걷는다** — 40 에, 이 꾸러미로 옮긴 흐름 검사 12 · 이름표 6 을 더해서.
152
+ 낱말표는 마지막에 읽힌 것이 이기므로, 한쪽 문구만 고치면 다른 쪽이 오류 없이 덮는다.
153
+ 7. **(남음 — 10.1.38 설치 뒤) plant 의 범위를 `^10.1.38` 로** — 씬을 등록하지 않는 새 입구가 필요하다.
154
+ 6. **`shared/station-*` 넷을 걷는다** — 이 꾸러미에 같은 파일이 있다. 그 앱에서 지금 쓰는 곳 4.
@@ -8,4 +8,3 @@ export * from './station/station-screen-flow.js';
8
8
  export * from './station/station-work-runtime.js';
9
9
  export * from './station/station-work-scenarios.js';
10
10
  export * from './station/task-counts.js';
11
- export * from './station/scene/index.js';
@@ -8,6 +8,16 @@ export * from './station/station-screen-flow.js';
8
8
  export * from './station/station-work-runtime.js';
9
9
  export * from './station/station-work-scenarios.js';
10
10
  export * from './station/task-counts.js';
11
- /* 씬 부품 — 이 import 자체가 `@sceneComponent` 등록을 돈다. 그려지려면 이것이 불려야 한다. */
12
- export * from './station/scene/index.js';
11
+ /*
12
+ * ── 씬 등록은 이 입구에 없다 (2026-09-24) ─────────────────────────────────────
13
+ * 여기 `export * from './station/scene/index.js'` 가 있었다. 그러면 도우미 하나(`scenarioById` 같은)를 가져오는
14
+ * 쪽마다 씬 여섯이 **부수효과로 등록되고** `@hatiolab/things-scene` 과 lit 이 통째로 따라왔다. operato-plant 의
15
+ * 순수한 저작 검사가 이 입구를 부르자 그 시험이 things-scene 을 못 싣고 멈춰서 드러났다.
16
+ *
17
+ * 그려지게 하는 것은 **앱이 한 번, 드러나게** 부른다:
18
+ *
19
+ * import '@things-factory/station/dist-client/station/scene/index.js'
20
+ *
21
+ * 입구가 그것을 내보내지 않으므로 R1(정본 지정자) 의 「index 가 내보내지 않을 때만 안쪽 경로」에 맞는다.
22
+ */
13
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oCAAoC,CAAA;AAClD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oCAAoC,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,qCAAqC,CAAA;AACnD,cAAc,0BAA0B,CAAA;AAExC,qEAAqE;AACrE,cAAc,0BAA0B,CAAA","sourcesContent":["export * from './station/station-tile-registry.js'\nexport * from './station/station-palette.js'\nexport * from './station/station-board-binding.js'\nexport * from './station/station-context.js'\nexport * from './station/station-runtime.js'\nexport * from './station/station-scene-context.js'\nexport * from './station/station-screen-flow.js'\nexport * from './station/station-work-runtime.js'\nexport * from './station/station-work-scenarios.js'\nexport * from './station/task-counts.js'\n\n/* 씬 부품 — 이 import 자체가 `@sceneComponent` 등록을 돈다. 그려지려면 이것이 불려야 한다. */\nexport * from './station/scene/index.js'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../client/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA;AAClD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oCAAoC,CAAA;AAClD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oCAAoC,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,qCAAqC,CAAA;AACnD,cAAc,0BAA0B,CAAA;AAExC;;;;;;;;;;;GAWG","sourcesContent":["export * from './station/station-tile-registry.js'\nexport * from './station/station-palette.js'\nexport * from './station/station-board-binding.js'\nexport * from './station/station-context.js'\nexport * from './station/station-runtime.js'\nexport * from './station/station-scene-context.js'\nexport * from './station/station-screen-flow.js'\nexport * from './station/station-work-runtime.js'\nexport * from './station/station-work-scenarios.js'\nexport * from './station/task-counts.js'\n\n/*\n * ── 씬 등록은 이 입구에 없다 (2026-09-24) ─────────────────────────────────────\n * 여기 `export * from './station/scene/index.js'` 가 있었다. 그러면 도우미 하나(`scenarioById` 같은)를 가져오는\n * 쪽마다 씬 여섯이 **부수효과로 등록되고** `@hatiolab/things-scene` 과 lit 이 통째로 따라왔다. operato-plant 의\n * 순수한 저작 검사가 이 입구를 부르자 그 시험이 things-scene 을 못 싣고 멈춰서 드러났다.\n *\n * 그려지게 하는 것은 **앱이 한 번, 드러나게** 부른다:\n *\n * import '@things-factory/station/dist-client/station/scene/index.js'\n *\n * 입구가 그것을 내보내지 않으므로 R1(정본 지정자) 의 「index 가 내보내지 않을 때만 안쪽 경로」에 맞는다.\n */\n"]}