@fmsim/board 2.0.0-beta.104 → 2.0.0-beta.106

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.
@@ -9960,276 +9960,215 @@
9960
9960
  },
9961
9961
  {
9962
9962
  "kind": "javascript-module",
9963
- "path": "src/modeller/property-sidebar/shapes/box-padding-editor-styles.ts",
9964
- "declarations": [
9965
- {
9966
- "kind": "variable",
9967
- "name": "BoxPaddingEditorStyles",
9968
- "default": "css` .box-padding { width: 100%; } .box-padding td { background: var(--url-icon-properties-padding) 50% 0 no-repeat; } .box-padding tr:nth-child(1), .box-padding tr:nth-child(3) { height: 20px; } .box-padding tr td:nth-child(1), .box-padding tr td:nth-child(3) { width: 18px; } .box-padding .slide1 { background-position: 0 0; } .box-padding .slide2 { background-position: 50% -40px; background-color: rgba(69, 46, 41, 0.2); } .box-padding .slide3 { background-position: 100% -440px; } .box-padding .slide4 { background-position: 0 -360px; background-color: rgba(69, 46, 41, 0.2); } .box-padding .slide5 { background: none; text-align: center; } .box-padding .slide6 { background-position: 100% -160px; background-color: rgba(69, 46, 41, 0.2); } .box-padding .slide7 { background-position: 0 100%; } .box-padding .slide8 { background-position: 50% -320px; background-color: rgba(69, 46, 41, 0.2); } .box-padding .slide9 { background-position: 0 0px; } .box-padding input { background-color: transparent; width: 35px; margin: 0px; padding: 0px; clear: both; float: initial; border: 1px solid #fff; border-width: 0 0 1px 0; text-align: right; font-size: 14px; } .slide5 input:nth-child(1), .slide5 input:nth-child(4) { display: block; margin: auto; } .slide5 input:nth-child(2) { float: left; } .slide5 input:nth-child(3) { float: right; margin-top: -25px; } .slide5 input:nth-child(4) { margin-top: -5px; } `"
9969
- }
9970
- ],
9971
- "exports": [
9972
- {
9973
- "kind": "js",
9974
- "name": "BoxPaddingEditorStyles",
9975
- "declaration": {
9976
- "name": "BoxPaddingEditorStyles",
9977
- "module": "src/modeller/property-sidebar/shapes/box-padding-editor-styles.ts"
9978
- }
9979
- }
9980
- ]
9981
- },
9982
- {
9983
- "kind": "javascript-module",
9984
- "path": "src/modeller/property-sidebar/shapes/ox-input-entity-id.ts",
9963
+ "path": "src/modeller/property-sidebar/inspector/inspector-controller.ts",
9985
9964
  "declarations": [
9986
9965
  {
9987
9966
  "kind": "class",
9988
- "description": "컴포넌트 ID 입력기 — 자유 입력 + 타입별 백엔드(MCS) 검색 선택을 함께 제공.\n\n- 기존처럼 자유롭게 텍스트로 ID 를 입력할 수 있다 (commit = blur/Enter).\n- input 에 *포커스가 가면* 아래로 검색 드롭다운이 펼쳐진다. `entityType`\n (컴포넌트 타입) 으로 MCS 에 정의된 ID 후보를 조회한다.\n - machine 타입 → 머신 id 가 1레벨 평면으로 (선택 가능)\n - unit 타입 → machine 이 그룹 헤더, 그 아래 unit id 가 자식 (선택 가능).\n 컴포넌트가 부모 machine 을 알면(`machine` prop) 그 머신으로 좁혀 조회.\n\nvalue-key=\"id\" 와 함께 property-grid 안에 두면, 이 host 가 `change`(bubbles+\ncomposed) 를 발행하므로 AbstractProperty 제너릭 핸들러가 `element.value` 를\n읽어 property-change 로 전파한다.\n\n등록: 패널 자식 커스텀 엘리먼트 컨벤션에 따라 전역 `@customElement` 가 아니라\n부모 패널(PropertyShapes)의 `scopedElements` 로 등록한다 (@open-wc/scoped-elements).",
9989
- "name": "OxInputEntityId",
9967
+ "description": "",
9968
+ "name": "InspectorController",
9990
9969
  "members": [
9991
9970
  {
9992
9971
  "kind": "field",
9993
- "name": "value",
9994
- "type": {
9995
- "text": "string"
9996
- },
9997
- "default": "''",
9998
- "description": "현재 ID 값.",
9999
- "attribute": "value"
10000
- },
10001
- {
10002
- "kind": "field",
10003
- "name": "entityType",
10004
- "type": {
10005
- "text": "string"
10006
- },
10007
- "default": "''",
10008
- "description": "검색 조건 — 선택된 컴포넌트 타입 (예: 'STOCKER', 'AGV', 'Port').",
10009
- "attribute": "entityType"
10010
- },
10011
- {
10012
- "kind": "field",
10013
- "name": "machine",
10014
- "type": {
10015
- "text": "string"
10016
- },
10017
- "default": "''",
10018
- "description": "검색 조건 — 부모 machine id (unit 컴포넌트가 소속 machine 을 알 때).",
10019
- "attribute": "machine"
10020
- },
10021
- {
10022
- "kind": "field",
10023
- "name": "requireMachine",
10024
- "type": {
10025
- "text": "boolean"
10026
- },
10027
- "default": "false",
10028
- "description": "machine 필수 타입(예: Port) — machine 없으면 조회하지 않는다 (후보 과다 방지).",
10029
- "attribute": "requireMachine"
10030
- },
10031
- {
10032
- "kind": "field",
10033
- "name": "localItems",
10034
- "type": {
10035
- "text": "string[] | null"
10036
- },
10037
- "default": "null",
10038
- "description": "백엔드 조회 대신 사용할 로컬 후보 리스트 (예: parentObject — 씬의 머신들). null 이면 백엔드 조회.",
10039
- "attribute": "localItems"
10040
- },
10041
- {
10042
- "kind": "field",
10043
- "name": "placeholder",
9972
+ "name": "_scene",
10044
9973
  "type": {
10045
- "text": "string"
9974
+ "text": "Scene | undefined"
10046
9975
  },
10047
- "default": "''",
10048
- "attribute": "placeholder"
9976
+ "privacy": "private"
10049
9977
  },
10050
9978
  {
10051
9979
  "kind": "field",
10052
- "name": "_open",
10053
- "type": {
10054
- "text": "boolean"
10055
- },
9980
+ "name": "_extendedMap",
10056
9981
  "privacy": "private",
10057
- "default": "false"
9982
+ "default": "new WeakMap<Component, boolean>()"
10058
9983
  },
10059
9984
  {
10060
9985
  "kind": "field",
10061
- "name": "_all",
10062
- "type": {
10063
- "text": "string[]"
10064
- },
9986
+ "name": "_expandedGroups",
10065
9987
  "privacy": "private",
10066
- "default": "[]",
10067
- "description": "서버에서 받은 전체 후보 리스트 (포커스 시 1회 조회, 키워드 미적용)."
9988
+ "default": "new Set<string>()",
9989
+ "description": "타입 그룹 뷰의 펼침 상태 — 그룹 키(type)는 안정적이라 Set 으로 관리. 기본 전부 접힘."
10068
9990
  },
10069
9991
  {
10070
9992
  "kind": "field",
10071
- "name": "_loading",
10072
- "type": {
10073
- "text": "boolean"
10074
- },
9993
+ "name": "_dimmedTypes",
10075
9994
  "privacy": "private",
10076
- "default": "false"
9995
+ "default": "new Set<string>()",
9996
+ "description": "모델링 포커스 dim 처리된 그룹(타입) 집합 — transient(비영속)."
10077
9997
  },
10078
9998
  {
10079
9999
  "kind": "field",
10080
- "name": "_needMachine",
10000
+ "name": "_anchor",
10081
10001
  "type": {
10082
- "text": "boolean"
10002
+ "text": "Component | undefined"
10083
10003
  },
10084
10004
  "privacy": "private",
10085
- "default": "false",
10086
- "description": "machine 필수인데 machine 미지정이라 조회를 보류한 상태."
10005
+ "description": "shift+click 범위(볼륨) 선택의 기준점 — 마지막 단일/토글 클릭."
10087
10006
  },
10088
10007
  {
10089
10008
  "kind": "field",
10090
- "name": "_activeIndex",
10009
+ "name": "_index",
10091
10010
  "type": {
10092
- "text": "number"
10011
+ "text": "InspectorIndex | undefined"
10093
10012
  },
10094
- "privacy": "private",
10095
- "default": "-1",
10096
- "description": "선택 가능 항목 기준 active index."
10013
+ "privacy": "private"
10097
10014
  },
10098
10015
  {
10099
10016
  "kind": "field",
10100
- "name": "_input",
10017
+ "name": "_onChange",
10101
10018
  "type": {
10102
- "text": "HTMLInputElement"
10019
+ "text": "() => void | undefined"
10103
10020
  },
10104
10021
  "privacy": "private"
10105
10022
  },
10106
10023
  {
10107
- "kind": "field",
10108
- "name": "_blurTimer",
10109
- "type": {
10110
- "text": "ReturnType<typeof setTimeout> | undefined"
10024
+ "kind": "method",
10025
+ "name": "bind",
10026
+ "return": {
10027
+ "type": {
10028
+ "text": "void"
10029
+ }
10111
10030
  },
10112
- "privacy": "private"
10031
+ "parameters": [
10032
+ {
10033
+ "name": "scene",
10034
+ "type": {
10035
+ "text": "Scene | undefined"
10036
+ }
10037
+ },
10038
+ {
10039
+ "name": "onChange",
10040
+ "type": {
10041
+ "text": "() => void"
10042
+ }
10043
+ }
10044
+ ],
10045
+ "description": "scene 에 바인딩 — 이전 바인딩은 해제한다. onChange 는 재렌더 요청 콜백."
10113
10046
  },
10114
10047
  {
10115
- "kind": "field",
10116
- "name": "_loadSeq",
10117
- "type": {
10118
- "text": "number"
10119
- },
10120
- "privacy": "private",
10121
- "default": "0"
10048
+ "kind": "method",
10049
+ "name": "unbind",
10050
+ "return": {
10051
+ "type": {
10052
+ "text": "void"
10053
+ }
10054
+ }
10122
10055
  },
10123
10056
  {
10124
10057
  "kind": "field",
10125
- "name": "_lastEmitted",
10058
+ "name": "scene",
10126
10059
  "type": {
10127
- "text": "string | undefined"
10060
+ "text": "Scene | undefined"
10128
10061
  },
10129
- "privacy": "private",
10130
- "description": "마지막으로 발행한 값 — 같은 값 재발행(undo 중복) 방지."
10062
+ "readonly": true
10131
10063
  },
10132
10064
  {
10133
10065
  "kind": "field",
10134
- "name": "_items",
10066
+ "name": "selected",
10135
10067
  "type": {
10136
- "text": "string[]"
10068
+ "text": "Component[]"
10137
10069
  },
10138
- "privacy": "private",
10139
- "description": "드롭다운 표시 항목 — 입력값(초기값 포함)으로 풀텍스트 로컬 필터.\n단, 매치가 0이면 전체 후보로 fallback (막다른 \"결과 없음\" 방지 — 예: committed\nid 가 후보 형식과 달라 안 맞는 경우). 서버 재조회 없음.",
10140
10070
  "readonly": true
10141
10071
  },
10142
10072
  {
10143
10073
  "kind": "field",
10144
- "name": "_selectableIds",
10074
+ "name": "index",
10145
10075
  "type": {
10146
- "text": "string[]"
10076
+ "text": "InspectorIndex | undefined"
10147
10077
  },
10148
- "privacy": "private",
10149
- "description": "드롭다운에서 선택 가능한 id 들 (표시 순서).",
10078
+ "description": "캐시된 모델 인덱스 — 없으면 build. execute/undo/redo 시 무효화.",
10150
10079
  "readonly": true
10151
10080
  },
10152
10081
  {
10153
- "kind": "method",
10154
- "name": "_renderDropdown",
10155
- "privacy": "private"
10156
- },
10157
- {
10158
- "kind": "method",
10159
- "name": "_onFocus",
10082
+ "kind": "field",
10083
+ "name": "_invalidateAndRefresh",
10160
10084
  "privacy": "private"
10161
10085
  },
10162
10086
  {
10163
- "kind": "method",
10164
- "name": "_onBlur",
10165
- "privacy": "private"
10087
+ "kind": "field",
10088
+ "name": "_refresh",
10089
+ "privacy": "private",
10090
+ "description": "선택된 컴포넌트의 조상을 펼치고 재렌더 요청."
10166
10091
  },
10167
10092
  {
10168
10093
  "kind": "method",
10169
- "name": "_onInput",
10170
- "privacy": "private",
10094
+ "name": "isExtended",
10095
+ "return": {
10096
+ "type": {
10097
+ "text": "boolean"
10098
+ }
10099
+ },
10171
10100
  "parameters": [
10172
10101
  {
10173
- "name": "e",
10102
+ "name": "component",
10174
10103
  "type": {
10175
- "text": "Event"
10104
+ "text": "Component"
10176
10105
  }
10177
10106
  }
10178
10107
  ]
10179
10108
  },
10180
10109
  {
10181
10110
  "kind": "method",
10182
- "name": "_onInputCommit",
10183
- "privacy": "private",
10111
+ "name": "toggleExtended",
10112
+ "return": {
10113
+ "type": {
10114
+ "text": "void"
10115
+ }
10116
+ },
10184
10117
  "parameters": [
10185
10118
  {
10186
- "name": "e",
10119
+ "name": "component",
10187
10120
  "type": {
10188
- "text": "Event"
10121
+ "text": "Component"
10189
10122
  }
10190
10123
  }
10191
- ],
10192
- "description": "자유 입력 commit (blur/Enter 의 native change) — 기존 free-text 동작 보존."
10124
+ ]
10193
10125
  },
10194
10126
  {
10195
10127
  "kind": "method",
10196
- "name": "_onKeydown",
10197
- "privacy": "private",
10128
+ "name": "nodeHandleClass",
10129
+ "return": {
10130
+ "type": {
10131
+ "text": "string"
10132
+ }
10133
+ },
10198
10134
  "parameters": [
10199
10135
  {
10200
- "name": "e",
10136
+ "name": "component",
10201
10137
  "type": {
10202
- "text": "KeyboardEvent"
10138
+ "text": "Component"
10203
10139
  }
10204
10140
  }
10205
- ]
10141
+ ],
10142
+ "description": "트리 노드 핸들(펼침/접힘/공백) 클래스."
10206
10143
  },
10207
10144
  {
10208
10145
  "kind": "method",
10209
- "name": "_select",
10210
- "privacy": "private",
10146
+ "name": "isGroupExpanded",
10147
+ "return": {
10148
+ "type": {
10149
+ "text": "boolean"
10150
+ }
10151
+ },
10211
10152
  "parameters": [
10212
10153
  {
10213
- "name": "id",
10154
+ "name": "type",
10214
10155
  "type": {
10215
10156
  "text": "string"
10216
10157
  }
10217
- },
10218
- {
10219
- "name": "e",
10220
- "type": {
10221
- "text": "MouseEvent"
10222
- }
10223
10158
  }
10224
10159
  ]
10225
10160
  },
10226
10161
  {
10227
10162
  "kind": "method",
10228
- "name": "_commitValue",
10229
- "privacy": "private",
10163
+ "name": "toggleGroup",
10164
+ "return": {
10165
+ "type": {
10166
+ "text": "void"
10167
+ }
10168
+ },
10230
10169
  "parameters": [
10231
10170
  {
10232
- "name": "id",
10171
+ "name": "type",
10233
10172
  "type": {
10234
10173
  "text": "string"
10235
10174
  }
@@ -10238,1277 +10177,1338 @@
10238
10177
  },
10239
10178
  {
10240
10179
  "kind": "method",
10241
- "name": "_emitChange",
10242
- "privacy": "private"
10243
- },
10244
- {
10245
- "kind": "method",
10246
- "name": "_load",
10247
- "privacy": "private",
10248
- "description": "후보 전체를 1회 조회 (포커스 시). keyword 는 보내지 않으며, 표시 필터는 _items\n게터가 로컬에서 처리한다. entityType(+unit 이면 machine) 만 서버로 보낸다."
10249
- }
10250
- ],
10251
- "events": [
10252
- {
10253
- "name": "change",
10254
- "type": {
10255
- "text": "CustomEvent"
10256
- }
10257
- }
10258
- ],
10259
- "attributes": [
10260
- {
10261
- "name": "value",
10262
- "type": {
10263
- "text": "string"
10264
- },
10265
- "default": "''",
10266
- "description": "현재 ID 값.",
10267
- "fieldName": "value"
10268
- },
10269
- {
10270
- "name": "entityType",
10271
- "type": {
10272
- "text": "string"
10273
- },
10274
- "default": "''",
10275
- "description": "검색 조건 — 선택된 컴포넌트 타입 (예: 'STOCKER', 'AGV', 'Port').",
10276
- "fieldName": "entityType"
10277
- },
10278
- {
10279
- "name": "machine",
10280
- "type": {
10281
- "text": "string"
10282
- },
10283
- "default": "''",
10284
- "description": "검색 조건 — 부모 machine id (unit 컴포넌트가 소속 machine 을 알 때).",
10285
- "fieldName": "machine"
10286
- },
10287
- {
10288
- "name": "requireMachine",
10289
- "type": {
10290
- "text": "boolean"
10291
- },
10292
- "default": "false",
10293
- "description": "machine 필수 타입(예: Port) — machine 없으면 조회하지 않는다 (후보 과다 방지).",
10294
- "fieldName": "requireMachine"
10295
- },
10296
- {
10297
- "name": "localItems",
10298
- "type": {
10299
- "text": "string[] | null"
10300
- },
10301
- "default": "null",
10302
- "description": "백엔드 조회 대신 사용할 로컬 후보 리스트 (예: parentObject — 씬의 머신들). null 이면 백엔드 조회.",
10303
- "fieldName": "localItems"
10304
- },
10305
- {
10306
- "name": "placeholder",
10307
- "type": {
10308
- "text": "string"
10309
- },
10310
- "default": "''",
10311
- "fieldName": "placeholder"
10312
- }
10313
- ],
10314
- "superclass": {
10315
- "name": "LitElement",
10316
- "package": "lit"
10317
- },
10318
- "customElement": true
10319
- }
10320
- ],
10321
- "exports": [
10322
- {
10323
- "kind": "js",
10324
- "name": "OxInputEntityId",
10325
- "declaration": {
10326
- "name": "OxInputEntityId",
10327
- "module": "src/modeller/property-sidebar/shapes/ox-input-entity-id.ts"
10328
- }
10329
- }
10330
- ]
10331
- },
10332
- {
10333
- "kind": "javascript-module",
10334
- "path": "src/modeller/property-sidebar/shapes/shapes.ts",
10335
- "declarations": [
10336
- {
10337
- "kind": "class",
10338
- "description": "",
10339
- "name": "PropertyShapes",
10340
- "members": [
10341
- {
10342
- "kind": "field",
10343
- "name": "scopedElements",
10344
- "static": true,
10345
- "readonly": true
10346
- },
10347
- {
10348
- "kind": "field",
10349
- "name": "value",
10350
- "type": {
10351
- "text": "Properties | undefined"
10352
- },
10353
- "attribute": "value"
10354
- },
10355
- {
10356
- "kind": "field",
10357
- "name": "bounds",
10358
- "type": {
10359
- "text": "BOUNDS | null"
10360
- },
10361
- "default": "null",
10362
- "attribute": "bounds"
10363
- },
10364
- {
10365
- "kind": "field",
10366
- "name": "selected",
10367
- "type": {
10368
- "text": "Component[]"
10180
+ "name": "collapseAllGroups",
10181
+ "return": {
10182
+ "type": {
10183
+ "text": "void"
10184
+ }
10369
10185
  },
10370
- "default": "[]",
10371
- "attribute": "selected"
10186
+ "description": "모든 그룹 접기 — \"그룹 레벨까지만 펼침\"(헤더만 표시)."
10372
10187
  },
10373
10188
  {
10374
10189
  "kind": "method",
10375
- "name": "_onValueChange",
10190
+ "name": "expandAllGroups",
10191
+ "return": {
10192
+ "type": {
10193
+ "text": "void"
10194
+ }
10195
+ },
10376
10196
  "parameters": [
10377
10197
  {
10378
- "name": "e",
10198
+ "name": "types",
10379
10199
  "type": {
10380
- "text": "Event"
10200
+ "text": "string[]"
10381
10201
  }
10382
10202
  }
10383
10203
  ],
10384
- "inheritedFrom": {
10385
- "name": "AbstractProperty",
10386
- "module": "src/modeller/property-sidebar/abstract-property.ts"
10387
- }
10204
+ "description": "모든 그룹 펼치기."
10388
10205
  },
10389
10206
  {
10390
10207
  "kind": "method",
10391
- "name": "_hasTextProperty",
10208
+ "name": "isTypeDimmed",
10209
+ "return": {
10210
+ "type": {
10211
+ "text": "boolean"
10212
+ }
10213
+ },
10392
10214
  "parameters": [
10393
10215
  {
10394
- "name": "selected",
10216
+ "name": "type",
10395
10217
  "type": {
10396
- "text": "Component[]"
10218
+ "text": "string"
10397
10219
  }
10398
10220
  }
10399
10221
  ]
10400
10222
  },
10401
10223
  {
10402
10224
  "kind": "method",
10403
- "name": "_hasProperties",
10225
+ "name": "toggleTypeDim",
10226
+ "return": {
10227
+ "type": {
10228
+ "text": "void"
10229
+ }
10230
+ },
10404
10231
  "parameters": [
10405
10232
  {
10406
- "name": "selected",
10233
+ "name": "type",
10407
10234
  "type": {
10408
- "text": "Component[]"
10235
+ "text": "string"
10409
10236
  }
10410
10237
  }
10411
- ]
10238
+ ],
10239
+ "description": "그룹(타입) dim-out 토글 → scene.focusFilter 재설정(편집 모드에서 캔버스 dim + pick 제외)."
10412
10240
  },
10413
10241
  {
10414
10242
  "kind": "method",
10415
- "name": "_isIdentifiable",
10416
- "parameters": [
10417
- {
10418
- "name": "selected",
10419
- "type": {
10420
- "text": "Component[]"
10421
- }
10243
+ "name": "_applyFocusFilter",
10244
+ "privacy": "private",
10245
+ "return": {
10246
+ "type": {
10247
+ "text": "void"
10422
10248
  }
10423
- ]
10249
+ }
10424
10250
  },
10425
10251
  {
10426
10252
  "kind": "method",
10427
- "name": "_parentMachineId",
10253
+ "name": "isTypeHidden",
10428
10254
  "return": {
10429
10255
  "type": {
10430
- "text": "string"
10256
+ "text": "boolean"
10431
10257
  }
10432
10258
  },
10433
10259
  "parameters": [
10434
10260
  {
10435
- "name": "selected",
10261
+ "name": "type",
10436
10262
  "type": {
10437
- "text": "Component[]"
10263
+ "text": "string"
10438
10264
  }
10439
10265
  }
10440
10266
  ],
10441
- "description": "단일 선택 컴포넌트의 부모 machine id (unit 의 ID 검색 시 조회조건으로 전달).\n부모가 루트 모델/레이어가 아니고 id 를 가지면 그 id 를 반환 — unit 이 자신의\n소속 machine 을 특정할 수 있는 경우에 해당. 그 외엔 빈 문자열."
10267
+ "description": "그룹 전원이 hidden 이면 true(집계). 멤버/트리 eye 규약과 동일한 아이콘 판정에 사용."
10442
10268
  },
10443
10269
  {
10444
10270
  "kind": "method",
10445
- "name": "_idLookupType",
10271
+ "name": "toggleTypeHidden",
10446
10272
  "return": {
10447
10273
  "type": {
10448
- "text": "string | undefined"
10274
+ "text": "void"
10449
10275
  }
10450
10276
  },
10451
10277
  "parameters": [
10452
10278
  {
10453
- "name": "selected",
10279
+ "name": "type",
10454
10280
  "type": {
10455
- "text": "Component[]"
10281
+ "text": "string"
10456
10282
  }
10457
10283
  }
10458
10284
  ],
10459
- "description": "선택 컴포넌트의 id 조회용 타입명 (capability `idLookupType`). 값이 있으면 그 타입으로\n검색 에디터를 띄우고, 없으면(일반 도형·Carrier 등) plain input 으로 두어 불필요한 id\n리스트 요청을 보내지 않는다. 기본은 자기 타입이며 컴포넌트가 다른 타입으로 override 가능.\n(머신/유닛 + Node 가 opt-in. isLVComponent 은 Carrier 포함·Node 제외라 부적합.)"
10285
+ "description": "그룹(타입) hidden 토글 → 하나라도 보이면 전원 숨김, 전원 숨김이면 전원 표시."
10460
10286
  },
10461
10287
  {
10462
10288
  "kind": "method",
10463
- "name": "_idLookupEnabled",
10289
+ "name": "toggleHidden",
10464
10290
  "return": {
10465
10291
  "type": {
10466
- "text": "boolean"
10292
+ "text": "void"
10467
10293
  }
10468
10294
  },
10469
10295
  "parameters": [
10470
10296
  {
10471
- "name": "selected",
10297
+ "name": "component",
10472
10298
  "type": {
10473
- "text": "Component[]"
10299
+ "text": "Component"
10474
10300
  }
10475
10301
  }
10476
10302
  ],
10477
- "description": "Board 루트 속성 state.idLookup 으로 id 룩업 전체 ON/OFF (기본 ON)."
10303
+ "description": "개별 컴포넌트 hidden(영구 모델 속성) 토글 — 기존 eye 동작."
10478
10304
  },
10479
10305
  {
10480
10306
  "kind": "method",
10481
- "name": "_isClassIdentifiable",
10307
+ "name": "toggleLocked",
10308
+ "return": {
10309
+ "type": {
10310
+ "text": "void"
10311
+ }
10312
+ },
10482
10313
  "parameters": [
10483
10314
  {
10484
- "name": "selected",
10315
+ "name": "component",
10485
10316
  "type": {
10486
- "text": "Component[]"
10317
+ "text": "Component"
10487
10318
  }
10488
10319
  }
10489
- ]
10320
+ ],
10321
+ "description": "개별 컴포넌트 locked(영구 모델 속성) 토글."
10490
10322
  },
10491
10323
  {
10492
10324
  "kind": "method",
10493
- "name": "_isLine",
10494
- "parameters": [
10495
- {
10496
- "name": "selected",
10497
- "type": {
10498
- "text": "Component[]"
10325
+ "name": "centerTo",
10326
+ "return": {
10327
+ "type": {
10328
+ "text": "void"
10329
+ }
10330
+ },
10331
+ "parameters": [
10332
+ {
10333
+ "name": "component",
10334
+ "type": {
10335
+ "text": "Component"
10499
10336
  }
10500
10337
  }
10501
- ]
10338
+ ],
10339
+ "description": "캔버스를 해당 컴포넌트로 센터 이동."
10502
10340
  },
10503
10341
  {
10504
10342
  "kind": "method",
10505
- "name": "_is3dish",
10343
+ "name": "select",
10344
+ "return": {
10345
+ "type": {
10346
+ "text": "void"
10347
+ }
10348
+ },
10506
10349
  "parameters": [
10507
10350
  {
10508
- "name": "selected",
10351
+ "name": "component",
10509
10352
  "type": {
10510
- "text": "Component[]"
10353
+ "text": "Component"
10511
10354
  }
10355
+ },
10356
+ {
10357
+ "name": "append",
10358
+ "default": "false"
10512
10359
  }
10513
- ]
10360
+ ],
10361
+ "description": "선택 — append(ctrl/cmd) 시 토글식 다중 선택. anchor 를 갱신한다."
10514
10362
  },
10515
10363
  {
10516
10364
  "kind": "method",
10517
- "name": "_getValueFromEventTarget",
10365
+ "name": "selectRange",
10366
+ "return": {
10367
+ "type": {
10368
+ "text": "void"
10369
+ }
10370
+ },
10518
10371
  "parameters": [
10519
10372
  {
10520
- "name": "element",
10373
+ "name": "target",
10521
10374
  "type": {
10522
- "text": "HTMLElement"
10375
+ "text": "Component"
10376
+ }
10377
+ },
10378
+ {
10379
+ "name": "terms",
10380
+ "type": {
10381
+ "text": "SearchTerm[]"
10523
10382
  }
10524
10383
  }
10525
10384
  ],
10526
- "inheritedFrom": {
10527
- "name": "AbstractProperty",
10528
- "module": "src/modeller/property-sidebar/abstract-property.ts"
10529
- }
10385
+ "description": "shift+click 범위(볼륨) 선택 — anchor↔target 사이의 **보이는 트리 행**을 블록 선택한다.\ntarget 이 이미 선택돼 있으면 그 범위를 블록 **해제**(additive/subtractive). anchor 는 유지."
10530
10386
  },
10531
10387
  {
10532
10388
  "kind": "method",
10533
- "name": "_onAfterValueChange",
10389
+ "name": "_decorate",
10390
+ "privacy": "private",
10391
+ "return": {
10392
+ "type": {
10393
+ "text": "void"
10394
+ }
10395
+ },
10534
10396
  "parameters": [
10535
10397
  {
10536
- "name": "key",
10398
+ "name": "component",
10537
10399
  "type": {
10538
- "text": "string"
10400
+ "text": "Component"
10539
10401
  }
10540
- },
10402
+ }
10403
+ ],
10404
+ "description": "fmsim 선택 강조 — deco-border (operato 는 reaction)."
10405
+ },
10406
+ {
10407
+ "kind": "method",
10408
+ "name": "_visibleOrder",
10409
+ "privacy": "private",
10410
+ "return": {
10411
+ "type": {
10412
+ "text": "Component[]"
10413
+ }
10414
+ },
10415
+ "parameters": [
10541
10416
  {
10542
- "name": "value",
10417
+ "name": "terms",
10543
10418
  "type": {
10544
- "text": "any"
10419
+ "text": "SearchTerm[]"
10545
10420
  }
10546
10421
  }
10547
10422
  ],
10548
- "inheritedFrom": {
10549
- "name": "AbstractProperty",
10550
- "module": "src/modeller/property-sidebar/abstract-property.ts"
10551
- }
10423
+ "description": "현재 트리 뷰에 보이는 컴포넌트를 렌더 순서대로 반환 — 범위 선택의 기준.\nrenderNode 와 동일 규칙(shouldBeShown = 자신/자손 매치, isExtended 자식만 전개)."
10552
10424
  }
10553
- ],
10554
- "events": [
10425
+ ]
10426
+ }
10427
+ ],
10428
+ "exports": [
10429
+ {
10430
+ "kind": "js",
10431
+ "name": "InspectorController",
10432
+ "declaration": {
10433
+ "name": "InspectorController",
10434
+ "module": "src/modeller/property-sidebar/inspector/inspector-controller.ts"
10435
+ }
10436
+ }
10437
+ ]
10438
+ },
10439
+ {
10440
+ "kind": "javascript-module",
10441
+ "path": "src/modeller/property-sidebar/inspector/inspector-group-view.ts",
10442
+ "declarations": [
10443
+ {
10444
+ "kind": "function",
10445
+ "name": "renderInspectorGroupView",
10446
+ "return": {
10447
+ "type": {
10448
+ "text": "TemplateResult"
10449
+ }
10450
+ },
10451
+ "parameters": [
10555
10452
  {
10556
- "name": "bounds-change",
10453
+ "name": "index",
10557
10454
  "type": {
10558
- "text": "CustomEvent"
10455
+ "text": "InspectorIndex | undefined"
10559
10456
  }
10560
10457
  },
10561
10458
  {
10562
- "name": "property-change",
10459
+ "name": "ctx",
10563
10460
  "type": {
10564
- "text": "CustomEvent"
10565
- },
10566
- "inheritedFrom": {
10567
- "name": "AbstractProperty",
10568
- "module": "src/modeller/property-sidebar/abstract-property.ts"
10461
+ "text": "GroupViewContext"
10569
10462
  }
10570
10463
  }
10571
10464
  ],
10572
- "attributes": [
10573
- {
10574
- "name": "value",
10575
- "type": {
10576
- "text": "Properties | undefined"
10577
- },
10578
- "fieldName": "value"
10579
- },
10465
+ "description": "타입 그룹 뷰 전체 렌더 — 타입명 오름차순."
10466
+ }
10467
+ ],
10468
+ "exports": [
10469
+ {
10470
+ "kind": "js",
10471
+ "name": "renderInspectorGroupView",
10472
+ "declaration": {
10473
+ "name": "renderInspectorGroupView",
10474
+ "module": "src/modeller/property-sidebar/inspector/inspector-group-view.ts"
10475
+ }
10476
+ }
10477
+ ]
10478
+ },
10479
+ {
10480
+ "kind": "javascript-module",
10481
+ "path": "src/modeller/property-sidebar/inspector/inspector-highlight.ts",
10482
+ "declarations": [
10483
+ {
10484
+ "kind": "function",
10485
+ "name": "highlight",
10486
+ "return": {
10487
+ "type": {
10488
+ "text": "TemplateResult | string"
10489
+ }
10490
+ },
10491
+ "parameters": [
10580
10492
  {
10581
- "name": "bounds",
10493
+ "name": "text",
10582
10494
  "type": {
10583
- "text": "BOUNDS | null"
10584
- },
10585
- "default": "null",
10586
- "fieldName": "bounds"
10495
+ "text": "string | undefined"
10496
+ }
10587
10497
  },
10588
10498
  {
10589
- "name": "selected",
10499
+ "name": "terms",
10590
10500
  "type": {
10591
- "text": "Component[]"
10592
- },
10593
- "default": "[]",
10594
- "fieldName": "selected"
10595
- }
10596
- ],
10597
- "mixins": [
10598
- {
10599
- "name": "ScopedElementsMixin",
10600
- "package": "@open-wc/scoped-elements"
10501
+ "text": "SearchTerm[]"
10502
+ }
10601
10503
  }
10602
10504
  ],
10603
- "superclass": {
10604
- "name": "AbstractProperty",
10605
- "module": "/src/modeller/property-sidebar/abstract-property"
10606
- }
10505
+ "description": "text 안에서 terms 의 값(field 무관, 시각 표시용)에 일치하는 부분을 하이라이트.\n매치가 없거나 terms 가 비면 원본 문자열을 그대로 반환."
10607
10506
  }
10608
10507
  ],
10609
10508
  "exports": [
10610
10509
  {
10611
10510
  "kind": "js",
10612
- "name": "PropertyShapes",
10511
+ "name": "highlight",
10613
10512
  "declaration": {
10614
- "name": "PropertyShapes",
10615
- "module": "src/modeller/property-sidebar/shapes/shapes.ts"
10513
+ "name": "highlight",
10514
+ "module": "src/modeller/property-sidebar/inspector/inspector-highlight.ts"
10616
10515
  }
10617
10516
  }
10618
10517
  ]
10619
10518
  },
10620
10519
  {
10621
10520
  "kind": "javascript-module",
10622
- "path": "src/modeller/property-sidebar/inspector/inspector-controller.ts",
10521
+ "path": "src/modeller/property-sidebar/inspector/inspector-model.ts",
10623
10522
  "declarations": [
10624
10523
  {
10625
- "kind": "class",
10626
- "description": "",
10627
- "name": "InspectorController",
10628
- "members": [
10524
+ "kind": "function",
10525
+ "name": "buildInspectorIndex",
10526
+ "return": {
10527
+ "type": {
10528
+ "text": "InspectorIndex"
10529
+ }
10530
+ },
10531
+ "parameters": [
10629
10532
  {
10630
- "kind": "field",
10631
- "name": "_scene",
10533
+ "name": "root",
10632
10534
  "type": {
10633
- "text": "Scene | undefined"
10634
- },
10635
- "privacy": "private"
10636
- },
10637
- {
10638
- "kind": "field",
10639
- "name": "_extendedMap",
10640
- "privacy": "private",
10641
- "default": "new WeakMap<Component, boolean>()"
10642
- },
10643
- {
10644
- "kind": "field",
10645
- "name": "_expandedGroups",
10646
- "privacy": "private",
10647
- "default": "new Set<string>()",
10648
- "description": "타입 그룹 뷰의 펼침 상태 — 그룹 키(type)는 안정적이라 Set 으로 관리. 기본 전부 접힘."
10649
- },
10650
- {
10651
- "kind": "field",
10652
- "name": "_dimmedTypes",
10653
- "privacy": "private",
10654
- "default": "new Set<string>()",
10655
- "description": "모델링 포커스 dim 처리된 그룹(타입) 집합 — transient(비영속)."
10656
- },
10535
+ "text": "Component"
10536
+ }
10537
+ }
10538
+ ],
10539
+ "description": "scene root 를 순회해 flat 목록 + 타입 그룹 맵을 만든다. root 자신은 제외."
10540
+ },
10541
+ {
10542
+ "kind": "function",
10543
+ "name": "parseQuery",
10544
+ "return": {
10545
+ "type": {
10546
+ "text": "SearchTerm[]"
10547
+ }
10548
+ },
10549
+ "parameters": [
10657
10550
  {
10658
- "kind": "field",
10659
- "name": "_anchor",
10551
+ "name": "raw",
10660
10552
  "type": {
10661
- "text": "Component | undefined"
10662
- },
10663
- "privacy": "private",
10664
- "description": "shift+click 범위(볼륨) 선택의 기준점 — 마지막 단일/토글 클릭."
10665
- },
10553
+ "text": "string"
10554
+ }
10555
+ }
10556
+ ],
10557
+ "description": "검색 문자열을 공백 토큰화해 SearchTerm[] 로 파싱. `field:value` 는 필드 스코프. 소문자화."
10558
+ },
10559
+ {
10560
+ "kind": "function",
10561
+ "name": "matchesQuery",
10562
+ "return": {
10563
+ "type": {
10564
+ "text": "boolean"
10565
+ }
10566
+ },
10567
+ "parameters": [
10666
10568
  {
10667
- "kind": "field",
10668
- "name": "_index",
10569
+ "name": "component",
10669
10570
  "type": {
10670
- "text": "InspectorIndex | undefined"
10671
- },
10672
- "privacy": "private"
10571
+ "text": "Component"
10572
+ }
10673
10573
  },
10674
10574
  {
10675
- "kind": "field",
10676
- "name": "_onChange",
10575
+ "name": "terms",
10677
10576
  "type": {
10678
- "text": "() => void | undefined"
10679
- },
10680
- "privacy": "private"
10681
- },
10577
+ "text": "SearchTerm[]"
10578
+ }
10579
+ }
10580
+ ],
10581
+ "description": "파싱된 검색어(AND)로 컴포넌트 매치 판정.\n- field 지정 term → 해당 필드 부분일치\n- bare term → type/name/id/tag/class 통합 부분일치\n빈 terms 는 항상 매치."
10582
+ }
10583
+ ],
10584
+ "exports": [
10585
+ {
10586
+ "kind": "js",
10587
+ "name": "buildInspectorIndex",
10588
+ "declaration": {
10589
+ "name": "buildInspectorIndex",
10590
+ "module": "src/modeller/property-sidebar/inspector/inspector-model.ts"
10591
+ }
10592
+ },
10593
+ {
10594
+ "kind": "js",
10595
+ "name": "parseQuery",
10596
+ "declaration": {
10597
+ "name": "parseQuery",
10598
+ "module": "src/modeller/property-sidebar/inspector/inspector-model.ts"
10599
+ }
10600
+ },
10601
+ {
10602
+ "kind": "js",
10603
+ "name": "matchesQuery",
10604
+ "declaration": {
10605
+ "name": "matchesQuery",
10606
+ "module": "src/modeller/property-sidebar/inspector/inspector-model.ts"
10607
+ }
10608
+ }
10609
+ ]
10610
+ },
10611
+ {
10612
+ "kind": "javascript-module",
10613
+ "path": "src/modeller/property-sidebar/inspector/inspector-tree-view.ts",
10614
+ "declarations": [
10615
+ {
10616
+ "kind": "function",
10617
+ "name": "countMatches",
10618
+ "return": {
10619
+ "type": {
10620
+ "text": "number"
10621
+ }
10622
+ },
10623
+ "parameters": [
10682
10624
  {
10683
- "kind": "method",
10684
- "name": "bind",
10685
- "return": {
10686
- "type": {
10687
- "text": "void"
10688
- }
10689
- },
10690
- "parameters": [
10691
- {
10692
- "name": "scene",
10693
- "type": {
10694
- "text": "Scene | undefined"
10695
- }
10696
- },
10697
- {
10698
- "name": "onChange",
10699
- "type": {
10700
- "text": "() => void"
10701
- }
10702
- }
10703
- ],
10704
- "description": "scene 에 바인딩 — 이전 바인딩은 해제한다. onChange 는 재렌더 요청 콜백."
10625
+ "name": "component",
10626
+ "type": {
10627
+ "text": "Component"
10628
+ }
10705
10629
  },
10706
10630
  {
10707
- "kind": "method",
10708
- "name": "unbind",
10709
- "return": {
10710
- "type": {
10711
- "text": "void"
10712
- }
10631
+ "name": "terms",
10632
+ "type": {
10633
+ "text": "SearchTerm[]"
10634
+ }
10635
+ }
10636
+ ],
10637
+ "description": "검색 매치 개수(루트 포함, 전체 트리) — ROOT 노드 count 표시용."
10638
+ },
10639
+ {
10640
+ "kind": "function",
10641
+ "name": "renderInspectorTree",
10642
+ "return": {
10643
+ "type": {
10644
+ "text": "TemplateResult"
10645
+ }
10646
+ },
10647
+ "parameters": [
10648
+ {
10649
+ "name": "root",
10650
+ "type": {
10651
+ "text": "Component | undefined"
10713
10652
  }
10714
10653
  },
10654
+ {
10655
+ "name": "ctx",
10656
+ "type": {
10657
+ "text": "TreeViewContext"
10658
+ }
10659
+ }
10660
+ ],
10661
+ "description": "scene.root 부터 트리를 렌더한다."
10662
+ }
10663
+ ],
10664
+ "exports": [
10665
+ {
10666
+ "kind": "js",
10667
+ "name": "countMatches",
10668
+ "declaration": {
10669
+ "name": "countMatches",
10670
+ "module": "src/modeller/property-sidebar/inspector/inspector-tree-view.ts"
10671
+ }
10672
+ },
10673
+ {
10674
+ "kind": "js",
10675
+ "name": "renderInspectorTree",
10676
+ "declaration": {
10677
+ "name": "renderInspectorTree",
10678
+ "module": "src/modeller/property-sidebar/inspector/inspector-tree-view.ts"
10679
+ }
10680
+ }
10681
+ ]
10682
+ },
10683
+ {
10684
+ "kind": "javascript-module",
10685
+ "path": "src/modeller/property-sidebar/inspector/inspector.ts",
10686
+ "declarations": [
10687
+ {
10688
+ "kind": "class",
10689
+ "description": "",
10690
+ "name": "SceneInspector",
10691
+ "members": [
10715
10692
  {
10716
10693
  "kind": "field",
10717
10694
  "name": "scene",
10718
10695
  "type": {
10719
10696
  "text": "Scene | undefined"
10720
10697
  },
10721
- "readonly": true
10698
+ "attribute": "scene"
10722
10699
  },
10723
10700
  {
10724
10701
  "kind": "field",
10725
- "name": "selected",
10702
+ "name": "searchText",
10726
10703
  "type": {
10727
- "text": "Component[]"
10704
+ "text": "string"
10728
10705
  },
10729
- "readonly": true
10706
+ "privacy": "private",
10707
+ "default": "''"
10730
10708
  },
10731
10709
  {
10732
10710
  "kind": "field",
10733
- "name": "index",
10711
+ "name": "viewMode",
10734
10712
  "type": {
10735
- "text": "InspectorIndex | undefined"
10713
+ "text": "InspectorViewMode"
10736
10714
  },
10737
- "description": "캐시된 모델 인덱스 — 없으면 build. execute/undo/redo 시 무효화.",
10738
- "readonly": true
10715
+ "privacy": "private"
10739
10716
  },
10740
10717
  {
10741
10718
  "kind": "field",
10742
- "name": "_invalidateAndRefresh",
10743
- "privacy": "private"
10719
+ "name": "controller",
10720
+ "privacy": "private",
10721
+ "default": "new InspectorController()"
10744
10722
  },
10745
10723
  {
10746
10724
  "kind": "field",
10747
- "name": "_refresh",
10725
+ "name": "show",
10726
+ "type": {
10727
+ "text": "boolean"
10728
+ },
10748
10729
  "privacy": "private",
10749
- "description": "선택된 컴포넌트의 조상을 펼치고 재렌더 요청."
10730
+ "default": "false"
10731
+ },
10732
+ {
10733
+ "kind": "field",
10734
+ "name": "_lastSelected",
10735
+ "type": {
10736
+ "text": "Component[]"
10737
+ },
10738
+ "privacy": "private",
10739
+ "default": "[]",
10740
+ "description": "reveal(스크롤) 판정용 직전 선택."
10750
10741
  },
10751
10742
  {
10752
10743
  "kind": "method",
10753
- "name": "isExtended",
10744
+ "name": "_renderResult",
10745
+ "privacy": "private",
10754
10746
  "return": {
10755
10747
  "type": {
10756
- "text": "boolean"
10748
+ "text": "TemplateResult"
10757
10749
  }
10758
- },
10750
+ }
10751
+ },
10752
+ {
10753
+ "kind": "method",
10754
+ "name": "_setViewMode",
10755
+ "privacy": "private",
10759
10756
  "parameters": [
10760
10757
  {
10761
- "name": "component",
10758
+ "name": "mode",
10762
10759
  "type": {
10763
- "text": "Component"
10760
+ "text": "InspectorViewMode"
10764
10761
  }
10765
10762
  }
10766
10763
  ]
10767
10764
  },
10765
+ {
10766
+ "kind": "field",
10767
+ "name": "_collapseGroups",
10768
+ "privacy": "private"
10769
+ },
10770
+ {
10771
+ "kind": "field",
10772
+ "name": "_expandGroups",
10773
+ "privacy": "private"
10774
+ },
10768
10775
  {
10769
10776
  "kind": "method",
10770
- "name": "toggleExtended",
10777
+ "name": "refresh",
10778
+ "description": "외부에서 강제 재렌더용."
10779
+ },
10780
+ {
10781
+ "kind": "method",
10782
+ "name": "_maybeReveal",
10783
+ "privacy": "private",
10784
+ "description": "선택이 바뀌면(캔버스 등) 해당 항목을 리스트에 노출한다 — 그룹 뷰면 그룹을 펼친 뒤 스크롤.\nscrollIntoView({block:'nearest'}) 라 이미 보이는 경우(인스펙터 클릭 등)엔 사실상 no-op."
10785
+ },
10786
+ {
10787
+ "kind": "method",
10788
+ "name": "_resolveComponent",
10789
+ "privacy": "private",
10771
10790
  "return": {
10772
10791
  "type": {
10773
- "text": "void"
10792
+ "text": "Component | undefined"
10774
10793
  }
10775
10794
  },
10776
10795
  "parameters": [
10777
10796
  {
10778
- "name": "component",
10797
+ "name": "e",
10779
10798
  "type": {
10780
- "text": "Component"
10799
+ "text": "MouseEvent"
10781
10800
  }
10782
10801
  }
10783
- ]
10802
+ ],
10803
+ "description": "이벤트 타겟에서 상위로 올라가며 `.component` 를 가진 요소를 찾는다."
10784
10804
  },
10785
10805
  {
10786
10806
  "kind": "method",
10787
- "name": "nodeHandleClass",
10788
- "return": {
10789
- "type": {
10790
- "text": "string"
10791
- }
10792
- },
10807
+ "name": "_onclick",
10793
10808
  "parameters": [
10794
10809
  {
10795
- "name": "component",
10810
+ "name": "e",
10796
10811
  "type": {
10797
- "text": "Component"
10812
+ "text": "MouseEvent"
10798
10813
  }
10799
10814
  }
10800
- ],
10801
- "description": "트리 노드 핸들(펼침/접힘/공백) 클래스."
10815
+ ]
10802
10816
  },
10803
10817
  {
10804
10818
  "kind": "method",
10805
- "name": "isGroupExpanded",
10806
- "return": {
10807
- "type": {
10808
- "text": "boolean"
10809
- }
10810
- },
10819
+ "name": "_ondblclick",
10811
10820
  "parameters": [
10812
10821
  {
10813
- "name": "type",
10822
+ "name": "e",
10814
10823
  "type": {
10815
- "text": "string"
10824
+ "text": "MouseEvent"
10816
10825
  }
10817
10826
  }
10818
10827
  ]
10828
+ }
10829
+ ],
10830
+ "attributes": [
10831
+ {
10832
+ "name": "scene",
10833
+ "type": {
10834
+ "text": "Scene | undefined"
10835
+ },
10836
+ "fieldName": "scene"
10837
+ }
10838
+ ],
10839
+ "superclass": {
10840
+ "name": "LitElement",
10841
+ "package": "lit"
10842
+ },
10843
+ "customElement": true
10844
+ }
10845
+ ],
10846
+ "exports": [
10847
+ {
10848
+ "kind": "js",
10849
+ "name": "SceneInspector",
10850
+ "declaration": {
10851
+ "name": "SceneInspector",
10852
+ "module": "src/modeller/property-sidebar/inspector/inspector.ts"
10853
+ }
10854
+ }
10855
+ ]
10856
+ },
10857
+ {
10858
+ "kind": "javascript-module",
10859
+ "path": "src/modeller/property-sidebar/shapes/box-padding-editor-styles.ts",
10860
+ "declarations": [
10861
+ {
10862
+ "kind": "variable",
10863
+ "name": "BoxPaddingEditorStyles",
10864
+ "default": "css` .box-padding { width: 100%; } .box-padding td { background: var(--url-icon-properties-padding) 50% 0 no-repeat; } .box-padding tr:nth-child(1), .box-padding tr:nth-child(3) { height: 20px; } .box-padding tr td:nth-child(1), .box-padding tr td:nth-child(3) { width: 18px; } .box-padding .slide1 { background-position: 0 0; } .box-padding .slide2 { background-position: 50% -40px; background-color: rgba(69, 46, 41, 0.2); } .box-padding .slide3 { background-position: 100% -440px; } .box-padding .slide4 { background-position: 0 -360px; background-color: rgba(69, 46, 41, 0.2); } .box-padding .slide5 { background: none; text-align: center; } .box-padding .slide6 { background-position: 100% -160px; background-color: rgba(69, 46, 41, 0.2); } .box-padding .slide7 { background-position: 0 100%; } .box-padding .slide8 { background-position: 50% -320px; background-color: rgba(69, 46, 41, 0.2); } .box-padding .slide9 { background-position: 0 0px; } .box-padding input { background-color: transparent; width: 35px; margin: 0px; padding: 0px; clear: both; float: initial; border: 1px solid #fff; border-width: 0 0 1px 0; text-align: right; font-size: 14px; } .slide5 input:nth-child(1), .slide5 input:nth-child(4) { display: block; margin: auto; } .slide5 input:nth-child(2) { float: left; } .slide5 input:nth-child(3) { float: right; margin-top: -25px; } .slide5 input:nth-child(4) { margin-top: -5px; } `"
10865
+ }
10866
+ ],
10867
+ "exports": [
10868
+ {
10869
+ "kind": "js",
10870
+ "name": "BoxPaddingEditorStyles",
10871
+ "declaration": {
10872
+ "name": "BoxPaddingEditorStyles",
10873
+ "module": "src/modeller/property-sidebar/shapes/box-padding-editor-styles.ts"
10874
+ }
10875
+ }
10876
+ ]
10877
+ },
10878
+ {
10879
+ "kind": "javascript-module",
10880
+ "path": "src/modeller/property-sidebar/shapes/ox-input-entity-id.ts",
10881
+ "declarations": [
10882
+ {
10883
+ "kind": "class",
10884
+ "description": "컴포넌트 ID 입력기 — 자유 입력 + 타입별 백엔드(MCS) 검색 선택을 함께 제공.\n\n- 기존처럼 자유롭게 텍스트로 ID 를 입력할 수 있다 (commit = blur/Enter).\n- input 에 *포커스가 가면* 아래로 검색 드롭다운이 펼쳐진다. `entityType`\n (컴포넌트 타입) 으로 MCS 에 정의된 ID 후보를 조회한다.\n - machine 타입 → 머신 id 가 1레벨 평면으로 (선택 가능)\n - unit 타입 → machine 이 그룹 헤더, 그 아래 unit id 가 자식 (선택 가능).\n 컴포넌트가 부모 machine 을 알면(`machine` prop) 그 머신으로 좁혀 조회.\n\nvalue-key=\"id\" 와 함께 property-grid 안에 두면, 이 host 가 `change`(bubbles+\ncomposed) 를 발행하므로 AbstractProperty 제너릭 핸들러가 `element.value` 를\n읽어 property-change 로 전파한다.\n\n등록: 패널 자식 커스텀 엘리먼트 컨벤션에 따라 전역 `@customElement` 가 아니라\n부모 패널(PropertyShapes)의 `scopedElements` 로 등록한다 (@open-wc/scoped-elements).",
10885
+ "name": "OxInputEntityId",
10886
+ "members": [
10887
+ {
10888
+ "kind": "field",
10889
+ "name": "value",
10890
+ "type": {
10891
+ "text": "string"
10892
+ },
10893
+ "default": "''",
10894
+ "description": "현재 ID 값.",
10895
+ "attribute": "value"
10819
10896
  },
10820
10897
  {
10821
- "kind": "method",
10822
- "name": "toggleGroup",
10823
- "return": {
10824
- "type": {
10825
- "text": "void"
10826
- }
10898
+ "kind": "field",
10899
+ "name": "entityType",
10900
+ "type": {
10901
+ "text": "string"
10827
10902
  },
10828
- "parameters": [
10829
- {
10830
- "name": "type",
10831
- "type": {
10832
- "text": "string"
10833
- }
10834
- }
10835
- ]
10903
+ "default": "''",
10904
+ "description": "검색 조건 — 선택된 컴포넌트 타입 (예: 'STOCKER', 'AGV', 'Port').",
10905
+ "attribute": "entityType"
10836
10906
  },
10837
10907
  {
10838
- "kind": "method",
10839
- "name": "collapseAllGroups",
10840
- "return": {
10841
- "type": {
10842
- "text": "void"
10843
- }
10908
+ "kind": "field",
10909
+ "name": "machine",
10910
+ "type": {
10911
+ "text": "string"
10844
10912
  },
10845
- "description": "모든 그룹 접기 — \"그룹 레벨까지만 펼침\"(헤더만 표시)."
10913
+ "default": "''",
10914
+ "description": "검색 조건 — 부모 machine id (unit 컴포넌트가 소속 machine 을 알 때).",
10915
+ "attribute": "machine"
10846
10916
  },
10847
10917
  {
10848
- "kind": "method",
10849
- "name": "expandAllGroups",
10850
- "return": {
10851
- "type": {
10852
- "text": "void"
10853
- }
10918
+ "kind": "field",
10919
+ "name": "requireMachine",
10920
+ "type": {
10921
+ "text": "boolean"
10854
10922
  },
10855
- "parameters": [
10856
- {
10857
- "name": "types",
10858
- "type": {
10859
- "text": "string[]"
10860
- }
10861
- }
10862
- ],
10863
- "description": "모든 그룹 펼치기."
10923
+ "default": "false",
10924
+ "description": "machine 필수 타입(예: Port) — machine 없으면 조회하지 않는다 (후보 과다 방지).",
10925
+ "attribute": "requireMachine"
10864
10926
  },
10865
10927
  {
10866
- "kind": "method",
10867
- "name": "isTypeDimmed",
10868
- "return": {
10869
- "type": {
10870
- "text": "boolean"
10871
- }
10928
+ "kind": "field",
10929
+ "name": "localItems",
10930
+ "type": {
10931
+ "text": "string[] | null"
10872
10932
  },
10873
- "parameters": [
10874
- {
10875
- "name": "type",
10876
- "type": {
10877
- "text": "string"
10878
- }
10879
- }
10880
- ]
10933
+ "default": "null",
10934
+ "description": "백엔드 조회 대신 사용할 로컬 후보 리스트 (예: parentObject — 씬의 머신들). null 이면 백엔드 조회.",
10935
+ "attribute": "localItems"
10881
10936
  },
10882
10937
  {
10883
- "kind": "method",
10884
- "name": "toggleTypeDim",
10885
- "return": {
10886
- "type": {
10887
- "text": "void"
10888
- }
10938
+ "kind": "field",
10939
+ "name": "placeholder",
10940
+ "type": {
10941
+ "text": "string"
10889
10942
  },
10890
- "parameters": [
10891
- {
10892
- "name": "type",
10893
- "type": {
10894
- "text": "string"
10895
- }
10896
- }
10897
- ],
10898
- "description": "그룹(타입) dim-out 토글 → scene.focusFilter 재설정(편집 모드에서 캔버스 dim + pick 제외)."
10943
+ "default": "''",
10944
+ "attribute": "placeholder"
10899
10945
  },
10900
10946
  {
10901
- "kind": "method",
10902
- "name": "_applyFocusFilter",
10947
+ "kind": "field",
10948
+ "name": "_open",
10949
+ "type": {
10950
+ "text": "boolean"
10951
+ },
10903
10952
  "privacy": "private",
10904
- "return": {
10905
- "type": {
10906
- "text": "void"
10907
- }
10908
- }
10953
+ "default": "false"
10909
10954
  },
10910
10955
  {
10911
- "kind": "method",
10912
- "name": "isTypeHidden",
10913
- "return": {
10914
- "type": {
10915
- "text": "boolean"
10916
- }
10956
+ "kind": "field",
10957
+ "name": "_all",
10958
+ "type": {
10959
+ "text": "string[]"
10917
10960
  },
10918
- "parameters": [
10919
- {
10920
- "name": "type",
10921
- "type": {
10922
- "text": "string"
10923
- }
10924
- }
10925
- ],
10926
- "description": "그룹 전원이 hidden 이면 true(집계). 멤버/트리 eye 규약과 동일한 아이콘 판정에 사용."
10961
+ "privacy": "private",
10962
+ "default": "[]",
10963
+ "description": "서버에서 받은 전체 후보 리스트 (포커스 시 1회 조회, 키워드 미적용)."
10927
10964
  },
10928
10965
  {
10929
- "kind": "method",
10930
- "name": "toggleTypeHidden",
10931
- "return": {
10932
- "type": {
10933
- "text": "void"
10934
- }
10966
+ "kind": "field",
10967
+ "name": "_loading",
10968
+ "type": {
10969
+ "text": "boolean"
10935
10970
  },
10936
- "parameters": [
10937
- {
10938
- "name": "type",
10939
- "type": {
10940
- "text": "string"
10941
- }
10942
- }
10943
- ],
10944
- "description": "그룹(타입) hidden 토글 → 하나라도 보이면 전원 숨김, 전원 숨김이면 전원 표시."
10971
+ "privacy": "private",
10972
+ "default": "false"
10945
10973
  },
10946
10974
  {
10947
- "kind": "method",
10948
- "name": "toggleHidden",
10949
- "return": {
10950
- "type": {
10951
- "text": "void"
10952
- }
10975
+ "kind": "field",
10976
+ "name": "_needMachine",
10977
+ "type": {
10978
+ "text": "boolean"
10953
10979
  },
10954
- "parameters": [
10955
- {
10956
- "name": "component",
10957
- "type": {
10958
- "text": "Component"
10959
- }
10960
- }
10961
- ],
10962
- "description": "개별 컴포넌트 hidden(영구 모델 속성) 토글 — 기존 eye 동작."
10980
+ "privacy": "private",
10981
+ "default": "false",
10982
+ "description": "machine 필수인데 machine 미지정이라 조회를 보류한 상태."
10963
10983
  },
10964
10984
  {
10965
- "kind": "method",
10966
- "name": "toggleLocked",
10967
- "return": {
10968
- "type": {
10969
- "text": "void"
10970
- }
10985
+ "kind": "field",
10986
+ "name": "_activeIndex",
10987
+ "type": {
10988
+ "text": "number"
10989
+ },
10990
+ "privacy": "private",
10991
+ "default": "-1",
10992
+ "description": "선택 가능 항목 기준 active index."
10993
+ },
10994
+ {
10995
+ "kind": "field",
10996
+ "name": "_input",
10997
+ "type": {
10998
+ "text": "HTMLInputElement"
10999
+ },
11000
+ "privacy": "private"
11001
+ },
11002
+ {
11003
+ "kind": "field",
11004
+ "name": "_blurTimer",
11005
+ "type": {
11006
+ "text": "ReturnType<typeof setTimeout> | undefined"
11007
+ },
11008
+ "privacy": "private"
11009
+ },
11010
+ {
11011
+ "kind": "field",
11012
+ "name": "_loadSeq",
11013
+ "type": {
11014
+ "text": "number"
11015
+ },
11016
+ "privacy": "private",
11017
+ "default": "0"
11018
+ },
11019
+ {
11020
+ "kind": "field",
11021
+ "name": "_lastEmitted",
11022
+ "type": {
11023
+ "text": "string | undefined"
11024
+ },
11025
+ "privacy": "private",
11026
+ "description": "마지막으로 발행한 값 — 같은 값 재발행(undo 중복) 방지."
11027
+ },
11028
+ {
11029
+ "kind": "field",
11030
+ "name": "_items",
11031
+ "type": {
11032
+ "text": "string[]"
10971
11033
  },
11034
+ "privacy": "private",
11035
+ "description": "드롭다운 표시 항목 — 입력값(초기값 포함)으로 풀텍스트 로컬 필터.\n단, 매치가 0이면 전체 후보로 fallback (막다른 \"결과 없음\" 방지 — 예: committed\nid 가 후보 형식과 달라 안 맞는 경우). 서버 재조회 없음.",
11036
+ "readonly": true
11037
+ },
11038
+ {
11039
+ "kind": "field",
11040
+ "name": "_selectableIds",
11041
+ "type": {
11042
+ "text": "string[]"
11043
+ },
11044
+ "privacy": "private",
11045
+ "description": "드롭다운에서 선택 가능한 id 들 (표시 순서).",
11046
+ "readonly": true
11047
+ },
11048
+ {
11049
+ "kind": "method",
11050
+ "name": "_renderDropdown",
11051
+ "privacy": "private"
11052
+ },
11053
+ {
11054
+ "kind": "method",
11055
+ "name": "_onFocus",
11056
+ "privacy": "private"
11057
+ },
11058
+ {
11059
+ "kind": "method",
11060
+ "name": "_onBlur",
11061
+ "privacy": "private"
11062
+ },
11063
+ {
11064
+ "kind": "method",
11065
+ "name": "_onInput",
11066
+ "privacy": "private",
10972
11067
  "parameters": [
10973
11068
  {
10974
- "name": "component",
11069
+ "name": "e",
10975
11070
  "type": {
10976
- "text": "Component"
11071
+ "text": "Event"
10977
11072
  }
10978
11073
  }
10979
- ],
10980
- "description": "개별 컴포넌트 locked(영구 모델 속성) 토글."
11074
+ ]
10981
11075
  },
10982
11076
  {
10983
11077
  "kind": "method",
10984
- "name": "centerTo",
10985
- "return": {
10986
- "type": {
10987
- "text": "void"
10988
- }
10989
- },
11078
+ "name": "_onInputCommit",
11079
+ "privacy": "private",
10990
11080
  "parameters": [
10991
11081
  {
10992
- "name": "component",
11082
+ "name": "e",
10993
11083
  "type": {
10994
- "text": "Component"
11084
+ "text": "Event"
10995
11085
  }
10996
11086
  }
10997
11087
  ],
10998
- "description": "캔버스를 해당 컴포넌트로 센터 이동."
11088
+ "description": "자유 입력 commit (blur/Enter 의 native change) — 기존 free-text 동작 보존."
10999
11089
  },
11000
11090
  {
11001
11091
  "kind": "method",
11002
- "name": "select",
11003
- "return": {
11004
- "type": {
11005
- "text": "void"
11006
- }
11007
- },
11092
+ "name": "_onKeydown",
11093
+ "privacy": "private",
11008
11094
  "parameters": [
11009
11095
  {
11010
- "name": "component",
11096
+ "name": "e",
11011
11097
  "type": {
11012
- "text": "Component"
11098
+ "text": "KeyboardEvent"
11013
11099
  }
11014
- },
11015
- {
11016
- "name": "append",
11017
- "default": "false"
11018
11100
  }
11019
- ],
11020
- "description": "선택 — append(ctrl/cmd) 시 토글식 다중 선택. anchor 를 갱신한다."
11101
+ ]
11021
11102
  },
11022
11103
  {
11023
11104
  "kind": "method",
11024
- "name": "selectRange",
11025
- "return": {
11026
- "type": {
11027
- "text": "void"
11028
- }
11029
- },
11105
+ "name": "_select",
11106
+ "privacy": "private",
11030
11107
  "parameters": [
11031
11108
  {
11032
- "name": "target",
11109
+ "name": "id",
11033
11110
  "type": {
11034
- "text": "Component"
11111
+ "text": "string"
11035
11112
  }
11036
11113
  },
11037
11114
  {
11038
- "name": "terms",
11115
+ "name": "e",
11039
11116
  "type": {
11040
- "text": "SearchTerm[]"
11117
+ "text": "MouseEvent"
11041
11118
  }
11042
11119
  }
11043
- ],
11044
- "description": "shift+click 범위(볼륨) 선택 — anchor↔target 사이의 **보이는 트리 행**을 블록 선택한다.\ntarget 이 이미 선택돼 있으면 그 범위를 블록 **해제**(additive/subtractive). anchor 는 유지."
11120
+ ]
11045
11121
  },
11046
11122
  {
11047
11123
  "kind": "method",
11048
- "name": "_decorate",
11124
+ "name": "_commitValue",
11049
11125
  "privacy": "private",
11050
- "return": {
11051
- "type": {
11052
- "text": "void"
11053
- }
11054
- },
11055
11126
  "parameters": [
11056
11127
  {
11057
- "name": "component",
11128
+ "name": "id",
11058
11129
  "type": {
11059
- "text": "Component"
11130
+ "text": "string"
11060
11131
  }
11061
11132
  }
11062
- ],
11063
- "description": "fmsim 선택 강조 — deco-border (operato 는 reaction)."
11133
+ ]
11064
11134
  },
11065
11135
  {
11066
11136
  "kind": "method",
11067
- "name": "_visibleOrder",
11068
- "privacy": "private",
11069
- "return": {
11070
- "type": {
11071
- "text": "Component[]"
11072
- }
11073
- },
11074
- "parameters": [
11075
- {
11076
- "name": "terms",
11077
- "type": {
11078
- "text": "SearchTerm[]"
11079
- }
11080
- }
11081
- ],
11082
- "description": "현재 트리 뷰에 보이는 컴포넌트를 렌더 순서대로 반환 — 범위 선택의 기준.\nrenderNode 와 동일 규칙(shouldBeShown = 자신/자손 매치, isExtended 자식만 전개)."
11083
- }
11084
- ]
11085
- }
11086
- ],
11087
- "exports": [
11088
- {
11089
- "kind": "js",
11090
- "name": "InspectorController",
11091
- "declaration": {
11092
- "name": "InspectorController",
11093
- "module": "src/modeller/property-sidebar/inspector/inspector-controller.ts"
11094
- }
11095
- }
11096
- ]
11097
- },
11098
- {
11099
- "kind": "javascript-module",
11100
- "path": "src/modeller/property-sidebar/inspector/inspector-group-view.ts",
11101
- "declarations": [
11102
- {
11103
- "kind": "function",
11104
- "name": "renderInspectorGroupView",
11105
- "return": {
11106
- "type": {
11107
- "text": "TemplateResult"
11108
- }
11109
- },
11110
- "parameters": [
11111
- {
11112
- "name": "index",
11113
- "type": {
11114
- "text": "InspectorIndex | undefined"
11115
- }
11116
- },
11117
- {
11118
- "name": "ctx",
11119
- "type": {
11120
- "text": "GroupViewContext"
11121
- }
11122
- }
11123
- ],
11124
- "description": "타입 그룹 뷰 전체 렌더 — 타입명 오름차순."
11125
- }
11126
- ],
11127
- "exports": [
11128
- {
11129
- "kind": "js",
11130
- "name": "renderInspectorGroupView",
11131
- "declaration": {
11132
- "name": "renderInspectorGroupView",
11133
- "module": "src/modeller/property-sidebar/inspector/inspector-group-view.ts"
11134
- }
11135
- }
11136
- ]
11137
- },
11138
- {
11139
- "kind": "javascript-module",
11140
- "path": "src/modeller/property-sidebar/inspector/inspector-highlight.ts",
11141
- "declarations": [
11142
- {
11143
- "kind": "function",
11144
- "name": "highlight",
11145
- "return": {
11146
- "type": {
11147
- "text": "TemplateResult | string"
11148
- }
11149
- },
11150
- "parameters": [
11151
- {
11152
- "name": "text",
11153
- "type": {
11154
- "text": "string | undefined"
11155
- }
11137
+ "name": "_emitChange",
11138
+ "privacy": "private"
11156
11139
  },
11157
11140
  {
11158
- "name": "terms",
11159
- "type": {
11160
- "text": "SearchTerm[]"
11161
- }
11141
+ "kind": "method",
11142
+ "name": "_load",
11143
+ "privacy": "private",
11144
+ "description": "후보 전체를 1회 조회 (포커스 시). keyword 는 보내지 않으며, 표시 필터는 _items\n게터가 로컬에서 처리한다. entityType(+unit 이면 machine) 만 서버로 보낸다."
11162
11145
  }
11163
11146
  ],
11164
- "description": "text 안에서 terms 의 값(field 무관, 시각 표시용)에 일치하는 부분을 하이라이트.\n매치가 없거나 terms 가 비면 원본 문자열을 그대로 반환."
11165
- }
11166
- ],
11167
- "exports": [
11168
- {
11169
- "kind": "js",
11170
- "name": "highlight",
11171
- "declaration": {
11172
- "name": "highlight",
11173
- "module": "src/modeller/property-sidebar/inspector/inspector-highlight.ts"
11174
- }
11175
- }
11176
- ]
11177
- },
11178
- {
11179
- "kind": "javascript-module",
11180
- "path": "src/modeller/property-sidebar/inspector/inspector-model.ts",
11181
- "declarations": [
11182
- {
11183
- "kind": "function",
11184
- "name": "buildInspectorIndex",
11185
- "return": {
11186
- "type": {
11187
- "text": "InspectorIndex"
11188
- }
11189
- },
11190
- "parameters": [
11147
+ "events": [
11191
11148
  {
11192
- "name": "root",
11149
+ "name": "change",
11193
11150
  "type": {
11194
- "text": "Component"
11151
+ "text": "CustomEvent"
11195
11152
  }
11196
11153
  }
11197
11154
  ],
11198
- "description": "scene root 를 순회해 flat 목록 + 타입 그룹 맵을 만든다. root 자신은 제외."
11199
- },
11200
- {
11201
- "kind": "function",
11202
- "name": "parseQuery",
11203
- "return": {
11204
- "type": {
11205
- "text": "SearchTerm[]"
11206
- }
11207
- },
11208
- "parameters": [
11155
+ "attributes": [
11209
11156
  {
11210
- "name": "raw",
11157
+ "name": "value",
11211
11158
  "type": {
11212
11159
  "text": "string"
11213
- }
11214
- }
11215
- ],
11216
- "description": "검색 문자열을 공백 토큰화해 SearchTerm[] 로 파싱. `field:value` 는 필드 스코프. 소문자화."
11217
- },
11218
- {
11219
- "kind": "function",
11220
- "name": "matchesQuery",
11221
- "return": {
11222
- "type": {
11223
- "text": "boolean"
11224
- }
11225
- },
11226
- "parameters": [
11227
- {
11228
- "name": "component",
11229
- "type": {
11230
- "text": "Component"
11231
- }
11160
+ },
11161
+ "default": "''",
11162
+ "description": "현재 ID 값.",
11163
+ "fieldName": "value"
11232
11164
  },
11233
11165
  {
11234
- "name": "terms",
11166
+ "name": "entityType",
11235
11167
  "type": {
11236
- "text": "SearchTerm[]"
11237
- }
11238
- }
11239
- ],
11240
- "description": "파싱된 검색어(AND)로 컴포넌트 매치 판정.\n- field 지정 term → 해당 필드 부분일치\n- bare term → type/name/id/tag/class 통합 부분일치\n빈 terms 는 항상 매치."
11241
- }
11242
- ],
11243
- "exports": [
11244
- {
11245
- "kind": "js",
11246
- "name": "buildInspectorIndex",
11247
- "declaration": {
11248
- "name": "buildInspectorIndex",
11249
- "module": "src/modeller/property-sidebar/inspector/inspector-model.ts"
11250
- }
11251
- },
11252
- {
11253
- "kind": "js",
11254
- "name": "parseQuery",
11255
- "declaration": {
11256
- "name": "parseQuery",
11257
- "module": "src/modeller/property-sidebar/inspector/inspector-model.ts"
11258
- }
11259
- },
11260
- {
11261
- "kind": "js",
11262
- "name": "matchesQuery",
11263
- "declaration": {
11264
- "name": "matchesQuery",
11265
- "module": "src/modeller/property-sidebar/inspector/inspector-model.ts"
11266
- }
11267
- }
11268
- ]
11269
- },
11270
- {
11271
- "kind": "javascript-module",
11272
- "path": "src/modeller/property-sidebar/inspector/inspector-tree-view.ts",
11273
- "declarations": [
11274
- {
11275
- "kind": "function",
11276
- "name": "countMatches",
11277
- "return": {
11278
- "type": {
11279
- "text": "number"
11280
- }
11281
- },
11282
- "parameters": [
11168
+ "text": "string"
11169
+ },
11170
+ "default": "''",
11171
+ "description": "검색 조건 — 선택된 컴포넌트 타입 (예: 'STOCKER', 'AGV', 'Port').",
11172
+ "fieldName": "entityType"
11173
+ },
11283
11174
  {
11284
- "name": "component",
11175
+ "name": "machine",
11285
11176
  "type": {
11286
- "text": "Component"
11287
- }
11177
+ "text": "string"
11178
+ },
11179
+ "default": "''",
11180
+ "description": "검색 조건 — 부모 machine id (unit 컴포넌트가 소속 machine 을 알 때).",
11181
+ "fieldName": "machine"
11288
11182
  },
11289
11183
  {
11290
- "name": "terms",
11184
+ "name": "requireMachine",
11291
11185
  "type": {
11292
- "text": "SearchTerm[]"
11293
- }
11294
- }
11295
- ],
11296
- "description": "검색 매치 개수(루트 포함, 전체 트리) — ROOT 노드 count 표시용."
11297
- },
11298
- {
11299
- "kind": "function",
11300
- "name": "renderInspectorTree",
11301
- "return": {
11302
- "type": {
11303
- "text": "TemplateResult"
11304
- }
11305
- },
11306
- "parameters": [
11186
+ "text": "boolean"
11187
+ },
11188
+ "default": "false",
11189
+ "description": "machine 필수 타입(예: Port) — machine 없으면 조회하지 않는다 (후보 과다 방지).",
11190
+ "fieldName": "requireMachine"
11191
+ },
11307
11192
  {
11308
- "name": "root",
11193
+ "name": "localItems",
11309
11194
  "type": {
11310
- "text": "Component | undefined"
11311
- }
11195
+ "text": "string[] | null"
11196
+ },
11197
+ "default": "null",
11198
+ "description": "백엔드 조회 대신 사용할 로컬 후보 리스트 (예: parentObject — 씬의 머신들). null 이면 백엔드 조회.",
11199
+ "fieldName": "localItems"
11312
11200
  },
11313
11201
  {
11314
- "name": "ctx",
11202
+ "name": "placeholder",
11315
11203
  "type": {
11316
- "text": "TreeViewContext"
11317
- }
11204
+ "text": "string"
11205
+ },
11206
+ "default": "''",
11207
+ "fieldName": "placeholder"
11318
11208
  }
11319
11209
  ],
11320
- "description": "scene.root 부터 트리를 렌더한다."
11210
+ "superclass": {
11211
+ "name": "LitElement",
11212
+ "package": "lit"
11213
+ },
11214
+ "customElement": true
11321
11215
  }
11322
11216
  ],
11323
11217
  "exports": [
11324
11218
  {
11325
11219
  "kind": "js",
11326
- "name": "countMatches",
11327
- "declaration": {
11328
- "name": "countMatches",
11329
- "module": "src/modeller/property-sidebar/inspector/inspector-tree-view.ts"
11330
- }
11331
- },
11332
- {
11333
- "kind": "js",
11334
- "name": "renderInspectorTree",
11220
+ "name": "OxInputEntityId",
11335
11221
  "declaration": {
11336
- "name": "renderInspectorTree",
11337
- "module": "src/modeller/property-sidebar/inspector/inspector-tree-view.ts"
11222
+ "name": "OxInputEntityId",
11223
+ "module": "src/modeller/property-sidebar/shapes/ox-input-entity-id.ts"
11338
11224
  }
11339
11225
  }
11340
11226
  ]
11341
11227
  },
11342
11228
  {
11343
11229
  "kind": "javascript-module",
11344
- "path": "src/modeller/property-sidebar/inspector/inspector.ts",
11345
- "declarations": [
11346
- {
11347
- "kind": "class",
11348
- "description": "",
11349
- "name": "SceneInspector",
11350
- "members": [
11351
- {
11352
- "kind": "field",
11353
- "name": "scene",
11354
- "type": {
11355
- "text": "Scene | undefined"
11356
- },
11357
- "attribute": "scene"
11358
- },
11230
+ "path": "src/modeller/property-sidebar/shapes/shapes.ts",
11231
+ "declarations": [
11232
+ {
11233
+ "kind": "class",
11234
+ "description": "",
11235
+ "name": "PropertyShapes",
11236
+ "members": [
11359
11237
  {
11360
11238
  "kind": "field",
11361
- "name": "searchText",
11362
- "type": {
11363
- "text": "string"
11364
- },
11365
- "privacy": "private",
11366
- "default": "''"
11239
+ "name": "scopedElements",
11240
+ "static": true,
11241
+ "readonly": true
11367
11242
  },
11368
11243
  {
11369
11244
  "kind": "field",
11370
- "name": "viewMode",
11245
+ "name": "value",
11371
11246
  "type": {
11372
- "text": "InspectorViewMode"
11247
+ "text": "Properties | undefined"
11373
11248
  },
11374
- "privacy": "private"
11375
- },
11376
- {
11377
- "kind": "field",
11378
- "name": "controller",
11379
- "privacy": "private",
11380
- "default": "new InspectorController()"
11249
+ "attribute": "value"
11381
11250
  },
11382
11251
  {
11383
11252
  "kind": "field",
11384
- "name": "show",
11253
+ "name": "bounds",
11385
11254
  "type": {
11386
- "text": "boolean"
11255
+ "text": "BOUNDS | null"
11387
11256
  },
11388
- "privacy": "private",
11389
- "default": "false"
11257
+ "default": "null",
11258
+ "attribute": "bounds"
11390
11259
  },
11391
11260
  {
11392
11261
  "kind": "field",
11393
- "name": "_lastSelected",
11262
+ "name": "selected",
11394
11263
  "type": {
11395
11264
  "text": "Component[]"
11396
11265
  },
11397
- "privacy": "private",
11398
11266
  "default": "[]",
11399
- "description": "reveal(스크롤) 판정용 직전 선택."
11267
+ "attribute": "selected"
11400
11268
  },
11401
11269
  {
11402
11270
  "kind": "method",
11403
- "name": "_renderResult",
11404
- "privacy": "private",
11405
- "return": {
11406
- "type": {
11407
- "text": "TemplateResult"
11271
+ "name": "_onValueChange",
11272
+ "parameters": [
11273
+ {
11274
+ "name": "e",
11275
+ "type": {
11276
+ "text": "Event"
11277
+ }
11408
11278
  }
11279
+ ],
11280
+ "inheritedFrom": {
11281
+ "name": "AbstractProperty",
11282
+ "module": "src/modeller/property-sidebar/abstract-property.ts"
11409
11283
  }
11410
11284
  },
11411
11285
  {
11412
11286
  "kind": "method",
11413
- "name": "_setViewMode",
11414
- "privacy": "private",
11287
+ "name": "_hasTextProperty",
11415
11288
  "parameters": [
11416
11289
  {
11417
- "name": "mode",
11290
+ "name": "selected",
11418
11291
  "type": {
11419
- "text": "InspectorViewMode"
11292
+ "text": "Component[]"
11420
11293
  }
11421
11294
  }
11422
11295
  ]
11423
11296
  },
11424
11297
  {
11425
- "kind": "field",
11426
- "name": "_collapseGroups",
11427
- "privacy": "private"
11298
+ "kind": "method",
11299
+ "name": "_hasProperties",
11300
+ "parameters": [
11301
+ {
11302
+ "name": "selected",
11303
+ "type": {
11304
+ "text": "Component[]"
11305
+ }
11306
+ }
11307
+ ]
11428
11308
  },
11429
11309
  {
11430
- "kind": "field",
11431
- "name": "_expandGroups",
11432
- "privacy": "private"
11310
+ "kind": "method",
11311
+ "name": "_isIdentifiable",
11312
+ "parameters": [
11313
+ {
11314
+ "name": "selected",
11315
+ "type": {
11316
+ "text": "Component[]"
11317
+ }
11318
+ }
11319
+ ]
11433
11320
  },
11434
11321
  {
11435
11322
  "kind": "method",
11436
- "name": "refresh",
11437
- "description": "외부에서 강제 재렌더용."
11323
+ "name": "_parentMachineId",
11324
+ "return": {
11325
+ "type": {
11326
+ "text": "string"
11327
+ }
11328
+ },
11329
+ "parameters": [
11330
+ {
11331
+ "name": "selected",
11332
+ "type": {
11333
+ "text": "Component[]"
11334
+ }
11335
+ }
11336
+ ],
11337
+ "description": "단일 선택 컴포넌트의 부모 machine id (unit 의 ID 검색 시 조회조건으로 전달).\n부모가 루트 모델/레이어가 아니고 id 를 가지면 그 id 를 반환 — unit 이 자신의\n소속 machine 을 특정할 수 있는 경우에 해당. 그 외엔 빈 문자열."
11438
11338
  },
11439
11339
  {
11440
11340
  "kind": "method",
11441
- "name": "_maybeReveal",
11442
- "privacy": "private",
11443
- "description": "선택이 바뀌면(캔버스 등) 해당 항목을 리스트에 노출한다 — 그룹 뷰면 그룹을 펼친 뒤 스크롤.\nscrollIntoView({block:'nearest'}) 라 이미 보이는 경우(인스펙터 클릭 등)엔 사실상 no-op."
11341
+ "name": "_idLookupType",
11342
+ "return": {
11343
+ "type": {
11344
+ "text": "string | undefined"
11345
+ }
11346
+ },
11347
+ "parameters": [
11348
+ {
11349
+ "name": "selected",
11350
+ "type": {
11351
+ "text": "Component[]"
11352
+ }
11353
+ }
11354
+ ],
11355
+ "description": "선택 컴포넌트의 id 조회용 타입명 (capability `idLookupType`). 값이 있으면 그 타입으로\n검색 에디터를 띄우고, 없으면(일반 도형·Carrier 등) plain input 으로 두어 불필요한 id\n리스트 요청을 보내지 않는다. 기본은 자기 타입이며 컴포넌트가 다른 타입으로 override 가능.\n(머신/유닛 + Node 가 opt-in. isLVComponent 은 Carrier 포함·Node 제외라 부적합.)"
11444
11356
  },
11445
11357
  {
11446
11358
  "kind": "method",
11447
- "name": "_resolveComponent",
11448
- "privacy": "private",
11359
+ "name": "_idLookupEnabled",
11449
11360
  "return": {
11450
11361
  "type": {
11451
- "text": "Component | undefined"
11362
+ "text": "boolean"
11452
11363
  }
11453
11364
  },
11454
11365
  "parameters": [
11455
11366
  {
11456
- "name": "e",
11367
+ "name": "selected",
11457
11368
  "type": {
11458
- "text": "MouseEvent"
11369
+ "text": "Component[]"
11459
11370
  }
11460
11371
  }
11461
11372
  ],
11462
- "description": "이벤트 타겟에서 상위로 올라가며 `.component` 를 가진 요소를 찾는다."
11373
+ "description": "Board 루트 속성 state.idLookup 으로 id 룩업 전체 ON/OFF (기본 ON)."
11463
11374
  },
11464
11375
  {
11465
11376
  "kind": "method",
11466
- "name": "_onclick",
11377
+ "name": "_isClassIdentifiable",
11467
11378
  "parameters": [
11468
11379
  {
11469
- "name": "e",
11380
+ "name": "selected",
11470
11381
  "type": {
11471
- "text": "MouseEvent"
11382
+ "text": "Component[]"
11472
11383
  }
11473
11384
  }
11474
11385
  ]
11475
11386
  },
11476
11387
  {
11477
11388
  "kind": "method",
11478
- "name": "_ondblclick",
11389
+ "name": "_isLine",
11479
11390
  "parameters": [
11480
11391
  {
11481
- "name": "e",
11392
+ "name": "selected",
11482
11393
  "type": {
11483
- "text": "MouseEvent"
11394
+ "text": "Component[]"
11395
+ }
11396
+ }
11397
+ ]
11398
+ },
11399
+ {
11400
+ "kind": "method",
11401
+ "name": "_is3dish",
11402
+ "parameters": [
11403
+ {
11404
+ "name": "selected",
11405
+ "type": {
11406
+ "text": "Component[]"
11484
11407
  }
11485
11408
  }
11486
11409
  ]
11410
+ },
11411
+ {
11412
+ "kind": "method",
11413
+ "name": "_getValueFromEventTarget",
11414
+ "parameters": [
11415
+ {
11416
+ "name": "element",
11417
+ "type": {
11418
+ "text": "HTMLElement"
11419
+ }
11420
+ }
11421
+ ],
11422
+ "inheritedFrom": {
11423
+ "name": "AbstractProperty",
11424
+ "module": "src/modeller/property-sidebar/abstract-property.ts"
11425
+ }
11426
+ },
11427
+ {
11428
+ "kind": "method",
11429
+ "name": "_onAfterValueChange",
11430
+ "parameters": [
11431
+ {
11432
+ "name": "key",
11433
+ "type": {
11434
+ "text": "string"
11435
+ }
11436
+ },
11437
+ {
11438
+ "name": "value",
11439
+ "type": {
11440
+ "text": "any"
11441
+ }
11442
+ }
11443
+ ],
11444
+ "inheritedFrom": {
11445
+ "name": "AbstractProperty",
11446
+ "module": "src/modeller/property-sidebar/abstract-property.ts"
11447
+ }
11448
+ }
11449
+ ],
11450
+ "events": [
11451
+ {
11452
+ "name": "bounds-change",
11453
+ "type": {
11454
+ "text": "CustomEvent"
11455
+ }
11456
+ },
11457
+ {
11458
+ "name": "property-change",
11459
+ "type": {
11460
+ "text": "CustomEvent"
11461
+ },
11462
+ "inheritedFrom": {
11463
+ "name": "AbstractProperty",
11464
+ "module": "src/modeller/property-sidebar/abstract-property.ts"
11465
+ }
11487
11466
  }
11488
11467
  ],
11489
11468
  "attributes": [
11490
11469
  {
11491
- "name": "scene",
11470
+ "name": "value",
11492
11471
  "type": {
11493
- "text": "Scene | undefined"
11472
+ "text": "Properties | undefined"
11494
11473
  },
11495
- "fieldName": "scene"
11474
+ "fieldName": "value"
11475
+ },
11476
+ {
11477
+ "name": "bounds",
11478
+ "type": {
11479
+ "text": "BOUNDS | null"
11480
+ },
11481
+ "default": "null",
11482
+ "fieldName": "bounds"
11483
+ },
11484
+ {
11485
+ "name": "selected",
11486
+ "type": {
11487
+ "text": "Component[]"
11488
+ },
11489
+ "default": "[]",
11490
+ "fieldName": "selected"
11491
+ }
11492
+ ],
11493
+ "mixins": [
11494
+ {
11495
+ "name": "ScopedElementsMixin",
11496
+ "package": "@open-wc/scoped-elements"
11496
11497
  }
11497
11498
  ],
11498
11499
  "superclass": {
11499
- "name": "LitElement",
11500
- "package": "lit"
11501
- },
11502
- "customElement": true
11500
+ "name": "AbstractProperty",
11501
+ "module": "/src/modeller/property-sidebar/abstract-property"
11502
+ }
11503
11503
  }
11504
11504
  ],
11505
11505
  "exports": [
11506
11506
  {
11507
11507
  "kind": "js",
11508
- "name": "SceneInspector",
11508
+ "name": "PropertyShapes",
11509
11509
  "declaration": {
11510
- "name": "SceneInspector",
11511
- "module": "src/modeller/property-sidebar/inspector/inspector.ts"
11510
+ "name": "PropertyShapes",
11511
+ "module": "src/modeller/property-sidebar/shapes/shapes.ts"
11512
11512
  }
11513
11513
  }
11514
11514
  ]