@fmsim/fmsim 2.0.0-beta.102 → 2.0.0-beta.104

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/_index.html CHANGED
@@ -55,7 +55,8 @@
55
55
  <link href="/fmsim/node_modules/@fontsource/roboto/index.css" rel="stylesheet" />
56
56
  </head>
57
57
  <body class="light">
58
- <things-app></things-app>
58
+ <!-- threed-enabled: 이 앱의 3D 기능 단일 제어점. "false" 면 모든 board 2D 전용. -->
59
+ <things-app threed-enabled="true"></things-app>
59
60
  <noscript> Please enable JavaScript to view this website. </noscript>
60
61
  </body>
61
62
  </html>
@@ -10,8 +10,13 @@ import { setupContextUIPart } from '@things-factory/context-ui/dist-client';
10
10
  import { auth } from '@things-factory/auth-base/dist-client';
11
11
  import { setAuthManagementMenus } from '@things-factory/auth-ui/dist-client';
12
12
  import { store, UPDATE_BASE_URL } from '@operato/shell';
13
+ import { setThreedEnabled } from '@hatiolab/things-scene';
13
14
  var width;
14
15
  export default async function bootstrap() {
16
+ var _a;
17
+ // 3D capability 전역 설정: 최상위 <things-app threed-enabled="false"> 를 여기서 딱 한 번
18
+ // 읽어 things-scene 전역에 밀어넣는다. 이후 모든 씬이 이 값을 참조한다.
19
+ setThreedEnabled(((_a = document.querySelector('things-app')) === null || _a === void 0 ? void 0 : _a.getAttribute('threed-enabled')) !== 'false');
15
20
  store.dispatch({
16
21
  type: UPDATE_BASE_URL
17
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAC3B,OAAO,0BAA0B,CAAA;AACjC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,0BAA0B,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAClH,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEvD,IAAI,KAAK,CAAA;AAET,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,SAAS;IACrC,KAAK,CAAC,QAAQ,CAAC;QACb,IAAI,EAAE,eAAe;KACtB,CAAC,CAAA;IAEF,+CAA+C;IAC/C,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QAC1C,sBAAsB,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,MAAM,gBAAgB,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,MAAM,kBAAkB,CAAC;QACvB,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE,aAAa;KAC9B,CAAC,CAAA;IAEF,wCAAwC;IACxC,cAAc,CAAC;QACb,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI;SACf;QACD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;KACrC,CAAC,CAAA;IAEF,cAAc,CAAC;QACb,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI,CAAA,6BAA6B;SAC5C;QACD,QAAQ,EAAE,iBAAiB,CAAC,MAAM;KACnC,CAAC,CAAA;IAEF,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACzB,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAS,CAAA;QAEnC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;YAChC,OAAM;QACR,CAAC;QAED,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;QAE1B,cAAc,CAAC,eAAe,EAAE;YAC9B,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS;YAClF,KAAK,EAAE,cAAc,CAAC,OAAO;SAC9B,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,uCAAuC;IACvC,IAAI,aAAa,GAAG,CAAC,cAAc,CAAC,CAAA;IAEpC,KAAK,CAAC,QAAQ,CAAC;QACb,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE;YACJ,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,IAAI,CAAA,kCAAkC,aAAa,oBAAoB;YACjF,QAAQ,EAAE,aAAa,CAAC,IAAI;SAC7B;KACF,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import '@fmsim/layout-view'\nimport '@operato/i18n/ox-i18n.js'\nimport './viewparts/menu-tools'\nimport './apptools/favorite-tool'\n\nimport { html } from 'lit-html'\n\nimport { appendViewpart, updateViewpart, TOOL_POSITION, VIEWPART_LEVEL, VIEWPART_POSITION } from '@operato/layout'\nimport { APPEND_APP_TOOL } from '@things-factory/apptool-base/client'\nimport { setupAppToolPart } from '@things-factory/apptool-ui/dist-client'\nimport { setupContextUIPart } from '@things-factory/context-ui/dist-client'\nimport { auth } from '@things-factory/auth-base/dist-client'\nimport { setAuthManagementMenus } from '@things-factory/auth-ui/dist-client'\nimport { store, UPDATE_BASE_URL } from '@operato/shell'\n\nvar width\n\nexport default async function bootstrap() {\n store.dispatch({\n type: UPDATE_BASE_URL\n })\n\n /* set auth management menus into more-panel */\n auth.on('profile', async ({ credential }) => {\n setAuthManagementMenus()\n })\n\n await setupAppToolPart({\n toolbar: true,\n busybar: true,\n mdibar: true\n })\n\n await setupContextUIPart({\n titlebar: 'header',\n contextToolbar: 'page-footer'\n })\n\n /* append viewpart anchor to asidebar */\n appendViewpart({\n name: 'viewpart-info',\n viewpart: {\n show: false,\n hovering: 'edge',\n backdrop: true\n },\n position: VIEWPART_POSITION.ASIDEBAR\n })\n\n appendViewpart({\n name: 'board-topmenu',\n viewpart: {\n show: true,\n template: html` <menu-tools></menu-tools> `\n },\n position: VIEWPART_POSITION.NAVBAR\n })\n\n store.subscribe(async () => {\n var state = store.getState() as any\n\n if (state.layout.width == width) {\n return\n }\n\n width = state.layout.width\n\n updateViewpart('board-topmenu', {\n position: width == 'WIDE' ? VIEWPART_POSITION.NAVBAR : VIEWPART_POSITION.FOOTERBAR,\n level: VIEWPART_LEVEL.TOPMOST\n })\n })\n\n /* append favorite tool to app-tools */\n var acceptedPages = ['board-viewer']\n\n store.dispatch({\n type: APPEND_APP_TOOL,\n tool: {\n name: 'favorite-tool',\n template: html` <favorite-tool .acceptedPages=${acceptedPages}></favorite-tool> `,\n position: TOOL_POSITION.REAR\n }\n })\n}\n"]}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAC3B,OAAO,0BAA0B,CAAA;AACjC,OAAO,wBAAwB,CAAA;AAC/B,OAAO,0BAA0B,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAClH,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,IAAI,KAAK,CAAA;AAET,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,SAAS;;IACrC,2EAA2E;IAC3E,iDAAiD;IACjD,gBAAgB,CAAC,CAAA,MAAA,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,0CAAE,YAAY,CAAC,gBAAgB,CAAC,MAAK,OAAO,CAAC,CAAA;IAElG,KAAK,CAAC,QAAQ,CAAC;QACb,IAAI,EAAE,eAAe;KACtB,CAAC,CAAA;IAEF,+CAA+C;IAC/C,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QAC1C,sBAAsB,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,MAAM,gBAAgB,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,MAAM,kBAAkB,CAAC;QACvB,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE,aAAa;KAC9B,CAAC,CAAA;IAEF,wCAAwC;IACxC,cAAc,CAAC;QACb,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI;SACf;QACD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;KACrC,CAAC,CAAA;IAEF,cAAc,CAAC;QACb,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI,CAAA,6BAA6B;SAC5C;QACD,QAAQ,EAAE,iBAAiB,CAAC,MAAM;KACnC,CAAC,CAAA;IAEF,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACzB,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAS,CAAA;QAEnC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;YAChC,OAAM;QACR,CAAC;QAED,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAA;QAE1B,cAAc,CAAC,eAAe,EAAE;YAC9B,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS;YAClF,KAAK,EAAE,cAAc,CAAC,OAAO;SAC9B,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,uCAAuC;IACvC,IAAI,aAAa,GAAG,CAAC,cAAc,CAAC,CAAA;IAEpC,KAAK,CAAC,QAAQ,CAAC;QACb,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE;YACJ,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,IAAI,CAAA,kCAAkC,aAAa,oBAAoB;YACjF,QAAQ,EAAE,aAAa,CAAC,IAAI;SAC7B;KACF,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import '@fmsim/layout-view'\nimport '@operato/i18n/ox-i18n.js'\nimport './viewparts/menu-tools'\nimport './apptools/favorite-tool'\n\nimport { html } from 'lit-html'\n\nimport { appendViewpart, updateViewpart, TOOL_POSITION, VIEWPART_LEVEL, VIEWPART_POSITION } from '@operato/layout'\nimport { APPEND_APP_TOOL } from '@things-factory/apptool-base/client'\nimport { setupAppToolPart } from '@things-factory/apptool-ui/dist-client'\nimport { setupContextUIPart } from '@things-factory/context-ui/dist-client'\nimport { auth } from '@things-factory/auth-base/dist-client'\nimport { setAuthManagementMenus } from '@things-factory/auth-ui/dist-client'\nimport { store, UPDATE_BASE_URL } from '@operato/shell'\nimport { setThreedEnabled } from '@hatiolab/things-scene'\n\nvar width\n\nexport default async function bootstrap() {\n // 3D capability 전역 설정: 최상위 <things-app threed-enabled=\"false\"> 를 여기서 딱 한 번\n // 읽어 things-scene 전역에 밀어넣는다. 이후 모든 씬이 이 값을 참조한다.\n setThreedEnabled(document.querySelector('things-app')?.getAttribute('threed-enabled') !== 'false')\n\n store.dispatch({\n type: UPDATE_BASE_URL\n })\n\n /* set auth management menus into more-panel */\n auth.on('profile', async ({ credential }) => {\n setAuthManagementMenus()\n })\n\n await setupAppToolPart({\n toolbar: true,\n busybar: true,\n mdibar: true\n })\n\n await setupContextUIPart({\n titlebar: 'header',\n contextToolbar: 'page-footer'\n })\n\n /* append viewpart anchor to asidebar */\n appendViewpart({\n name: 'viewpart-info',\n viewpart: {\n show: false,\n hovering: 'edge',\n backdrop: true\n },\n position: VIEWPART_POSITION.ASIDEBAR\n })\n\n appendViewpart({\n name: 'board-topmenu',\n viewpart: {\n show: true,\n template: html` <menu-tools></menu-tools> `\n },\n position: VIEWPART_POSITION.NAVBAR\n })\n\n store.subscribe(async () => {\n var state = store.getState() as any\n\n if (state.layout.width == width) {\n return\n }\n\n width = state.layout.width\n\n updateViewpart('board-topmenu', {\n position: width == 'WIDE' ? VIEWPART_POSITION.NAVBAR : VIEWPART_POSITION.FOOTERBAR,\n level: VIEWPART_LEVEL.TOPMOST\n })\n })\n\n /* append favorite tool to app-tools */\n var acceptedPages = ['board-viewer']\n\n store.dispatch({\n type: APPEND_APP_TOOL,\n tool: {\n name: 'favorite-tool',\n template: html` <favorite-tool .acceptedPages=${acceptedPages}></favorite-tool> `,\n position: TOOL_POSITION.REAR\n }\n })\n}\n"]}