@fmsim/board 2.0.0-beta.7 → 2.0.0-beta.75

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 (82) hide show
  1. package/custom-elements.json +4024 -2059
  2. package/demo/index-modeller.html +1 -1
  3. package/demo/index-player.html +2 -2
  4. package/demo/index-viewer.html +2 -2
  5. package/demo/index.html +2 -2
  6. package/dist/src/component/etc.js +35 -0
  7. package/dist/src/component/etc.js.map +1 -1
  8. package/dist/src/component/index.d.ts +1 -0
  9. package/dist/src/component/index.js +1 -0
  10. package/dist/src/component/index.js.map +1 -1
  11. package/dist/src/component/restful-input-attachment-selector.d.ts +1 -1
  12. package/dist/src/component/restful-property-editor-backdrop-faces.d.ts +50 -0
  13. package/dist/src/component/restful-property-editor-backdrop-faces.js +524 -0
  14. package/dist/src/component/restful-property-editor-backdrop-faces.js.map +1 -0
  15. package/dist/src/data-storage/board-model-cache.d.ts +13 -0
  16. package/dist/src/data-storage/board-model-cache.js +66 -0
  17. package/dist/src/data-storage/board-model-cache.js.map +1 -0
  18. package/dist/src/index.d.ts +3 -0
  19. package/dist/src/index.js +2 -0
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/layers/movement-layer.d.ts +1 -1
  22. package/dist/src/layers/movement-layer.js +3 -7
  23. package/dist/src/layers/movement-layer.js.map +1 -1
  24. package/dist/src/modeller/component-toolbar/component-menu.d.ts +1 -1
  25. package/dist/src/modeller/component-toolbar/component-toolbar.d.ts +1 -1
  26. package/dist/src/modeller/edit-toolbar-style.js +43 -3
  27. package/dist/src/modeller/edit-toolbar-style.js.map +1 -1
  28. package/dist/src/modeller/edit-toolbar.d.ts +8 -14
  29. package/dist/src/modeller/edit-toolbar.js +208 -211
  30. package/dist/src/modeller/edit-toolbar.js.map +1 -1
  31. package/dist/src/modeller/property-sidebar/abstract-property.js +10 -2
  32. package/dist/src/modeller/property-sidebar/abstract-property.js.map +1 -1
  33. package/dist/src/modeller/property-sidebar/data-binding/data-binding.d.ts +1 -1
  34. package/dist/src/modeller/property-sidebar/effects/effects.d.ts +1 -1
  35. package/dist/src/modeller/property-sidebar/effects/property-event-hover.d.ts +1 -1
  36. package/dist/src/modeller/property-sidebar/effects/property-event.d.ts +1 -1
  37. package/dist/src/modeller/property-sidebar/inspector/inspector.d.ts +1 -1
  38. package/dist/src/modeller/property-sidebar/property-sidebar.d.ts +1 -1
  39. package/dist/src/modeller/property-sidebar/shapes/shapes.js +31 -0
  40. package/dist/src/modeller/property-sidebar/shapes/shapes.js.map +1 -1
  41. package/dist/src/modeller/property-sidebar/specifics/specifics.d.ts +2 -1
  42. package/dist/src/modeller/property-sidebar/specifics/specifics.js +10 -0
  43. package/dist/src/modeller/property-sidebar/specifics/specifics.js.map +1 -1
  44. package/dist/src/modeller/property-sidebar/styles/styles.d.ts +1 -1
  45. package/dist/src/modeller/scene-viewer/ox-scene-layer.d.ts +4 -3
  46. package/dist/src/modeller/scene-viewer/ox-scene-layer.js +2 -1
  47. package/dist/src/modeller/scene-viewer/ox-scene-layer.js.map +1 -1
  48. package/dist/src/modeller/scene-viewer/ox-scene-viewer.d.ts +2 -1
  49. package/dist/src/modeller/scene-viewer/ox-scene-viewer.js +5 -1
  50. package/dist/src/modeller/scene-viewer/ox-scene-viewer.js.map +1 -1
  51. package/dist/src/ox-board-component-info.d.ts +1 -0
  52. package/dist/src/ox-board-component-info.js +5 -1
  53. package/dist/src/ox-board-component-info.js.map +1 -1
  54. package/dist/src/ox-board-list.js +2 -2
  55. package/dist/src/ox-board-list.js.map +1 -1
  56. package/dist/src/ox-board-modeller.d.ts +6 -3
  57. package/dist/src/ox-board-modeller.js +14 -4
  58. package/dist/src/ox-board-modeller.js.map +1 -1
  59. package/dist/src/ox-board-viewer.d.ts +60 -13
  60. package/dist/src/ox-board-viewer.js +572 -86
  61. package/dist/src/ox-board-viewer.js.map +1 -1
  62. package/dist/src/ox-editor-board-selector.d.ts +3 -0
  63. package/dist/src/ox-editor-board-selector.js +38 -9
  64. package/dist/src/ox-editor-board-selector.js.map +1 -1
  65. package/dist/src/ox-playback-controls.d.ts +154 -0
  66. package/dist/src/ox-playback-controls.js +947 -0
  67. package/dist/src/ox-playback-controls.js.map +1 -0
  68. package/dist/src/playback/playback-engine.d.ts +106 -0
  69. package/dist/src/playback/playback-engine.js +395 -0
  70. package/dist/src/playback/playback-engine.js.map +1 -0
  71. package/dist/src/selector/board-creation-popup.js +2 -2
  72. package/dist/src/selector/board-creation-popup.js.map +1 -1
  73. package/dist/src/selector/board-thumbnail-card.js +6 -6
  74. package/dist/src/selector/board-thumbnail-card.js.map +1 -1
  75. package/dist/src/selector/ox-board-creation-card.js +2 -2
  76. package/dist/src/selector/ox-board-creation-card.js.map +1 -1
  77. package/dist/src/selector/ox-board-selector.js +21 -10
  78. package/dist/src/selector/ox-board-selector.js.map +1 -1
  79. package/dist/tsconfig.tsbuildinfo +1 -1
  80. package/icons/components/text.png +0 -0
  81. package/icons/icon-htoolbar.png +0 -0
  82. package/package.json +8 -4
@@ -3,8 +3,9 @@ import '@material/web/icon/icon.js';
3
3
  import './layers/movement-layer.js';
4
4
  import './ox-board-component-info.js';
5
5
  import './layers/mcs-mouse-event-handler.js';
6
+ import './ox-playback-controls.js';
6
7
  import { LitElement, PropertyValues } from 'lit';
7
- import { Component, ReferenceProvider } from '@hatiolab/things-scene';
8
+ import { Component, LoadTracker, ReferenceProvider } from '@hatiolab/things-scene';
8
9
  export declare class BoardViewer extends LitElement {
9
10
  static styles: import("lit").CSSResult[];
10
11
  baseUrl: string;
@@ -12,24 +13,24 @@ export declare class BoardViewer extends LitElement {
12
13
  provider: ReferenceProvider | null;
13
14
  data: any;
14
15
  values: any;
16
+ /** 앱에서 미리 생성한 LoadTracker — fetch 시작 전 생성하면 네트워크 시간도 추적 */
17
+ loadTracker?: LoadTracker;
15
18
  hideFullscreen: boolean;
16
19
  hideNavigation: boolean;
17
- _scene: any;
18
- _forward: {
19
- id: string;
20
- scene: any;
21
- }[];
22
- _backward: {
23
- id: string;
24
- scene: any;
25
- }[];
26
- _oldtarget: HTMLElement | null;
27
- _fade_animations?: Array<Animation>;
20
+ private _scene;
21
+ private _forward;
22
+ private _backward;
23
+ private _loadingOverlay?;
24
+ private _oldtarget;
25
+ private _fade_animations?;
26
+ _fabExpanded: boolean;
27
+ _playbackActive: boolean;
28
+ get _is3dMode(): boolean;
28
29
  currentBoardId?: string;
29
30
  _target: HTMLElement;
30
31
  _prev: HTMLElement;
31
32
  _next: HTMLElement;
32
- _fullscreen: HTMLElement;
33
+ _fabGroup: HTMLElement;
33
34
  private popup;
34
35
  private lastComponent;
35
36
  render(): import("lit-html").TemplateResult<1>;
@@ -46,11 +47,20 @@ export declare class BoardViewer extends LitElement {
46
47
  fmbStartAnimation: (e: Event) => void;
47
48
  fmbStopAnimation: (e: Event) => void;
48
49
  fmbResetAnimation: () => void;
50
+ private _pointerMoveHandler;
51
+ /**
52
+ * playback 모드는 전체화면 모드와 한 몸 — 어떤 경로로든 전체화면이 해제되면
53
+ * playback 도 함께 종료. (단독 전체화면 토글은 기존처럼 동작하도록 `_playbackActive` 가드.)
54
+ */
55
+ private _fullscreenChangeHandler;
56
+ /** connect/disconnect 시 일괄 등록/해제할 window 이벤트 목록 (모니터링 연동) */
57
+ private get _monitoringEvents();
49
58
  connectedCallback(): void;
50
59
  disconnectedCallback(): void;
51
60
  updated(changes: PropertyValues<this>): void;
52
61
  initSceneAsync(): Promise<void>;
53
62
  initScene(): void;
63
+ private _ensureOverlay;
54
64
  closeScene(): void;
55
65
  releaseScene(): void;
56
66
  setupScene({ id, scene }: {
@@ -65,6 +75,43 @@ export declare class BoardViewer extends LitElement {
65
75
  onTapNext(): void;
66
76
  onTapPrev(): void;
67
77
  onTapFullscreen(): void;
78
+ onTapToggle3D(): void;
79
+ private _dataSubscriptionProvider;
80
+ private _playbackEngine?;
81
+ onTapPlayback(): void;
82
+ private _onPlaybackStart;
83
+ private _onPlaybackPause;
84
+ private _onPlaybackResume;
85
+ private _onPlaybackStop;
86
+ /**
87
+ * 플레이백 시작 시: RESTful data-subscription 컴포넌트의 WebSocket 을 실제 disconnect.
88
+ * GraphQL 경로는 _dataSubscriptionProvider.pause() 에서 일괄 처리.
89
+ */
90
+ private _unsubscribeSceneData;
91
+ /**
92
+ * 플레이백 종료 시: RESTful data-subscription 컴포넌트의 WebSocket 을 재연결.
93
+ * GraphQL 경로는 _dataSubscriptionProvider.resume() 에서 일괄 처리.
94
+ */
95
+ private _resubscribeSceneData;
96
+ private _resetSceneData;
97
+ private _onPlaybackSeek;
98
+ /**
99
+ * 드래그 시작 신호 — 엔진의 재생 타이머 정지해서 스크러빙 동안
100
+ * scene 이 엔진 시간으로 독립 갱신되지 않도록 함. _state 는 유지되므로
101
+ * 드래그 종료 시 seekTo 가 원래 재생/일시정지 상태로 복원.
102
+ */
103
+ private _onPlaybackSeekStart;
104
+ /**
105
+ * 드래그 중 디바운스된 seek preview. 해당 시간의 snapshot 만 scene 에 적용.
106
+ * 보드 리셋 없음, 애니메이션 억제.
107
+ */
108
+ private _onPlaybackSeekPreview;
109
+ private _onPlaybackSpeed;
110
+ /**
111
+ * 페이지에서 주입하는 playback 데이터 fetch 함수.
112
+ * 2-arg 호출은 청크 프리페치, 4-arg 호출은 preview snapshot (count=1).
113
+ */
114
+ _fetchPlaybackData?: (startTime: string, endTime?: string, includeSnapshot?: boolean, count?: number) => Promise<any>;
68
115
  onRunBoard(): void;
69
116
  onLinkGoto(targetBoardId: string, options: any, fromComponent: any): void;
70
117
  onLinkOpen(url: string, value: any, fromComponent: Component): void;