@infinite-canvas-tutorial/webcomponents
Version:
WebComponents UI implementation
35 lines • 1.57 kB
JavaScript
import { Camera, CameraControl, Canvas, ComputeBounds, PreStartUp, PropagateTransforms, SyncSimpleTransforms, system, Select, Last, RenderTransformer, RenderHighlighter, } from '@infinite-canvas-tutorial/ecs';
import { Comment, DownloadScreenshot, InitCanvas, ListenTransformableStatus, ZoomLevel, } from '../systems';
export const UIPlugin = () => {
/**
* Solve the following error:
* Uncaught (in promise) p: Multiple component types named o; names must be unique at eG.createSystems
*
* Usually, this error is caused when the code is bundled.
*/
Object.defineProperty(InitCanvas, 'name', {
value: 'InitCanvas',
});
Object.defineProperty(ZoomLevel, 'name', {
value: 'ZoomLevel',
});
Object.defineProperty(DownloadScreenshot, 'name', {
value: 'DownloadScreenshot',
});
Object.defineProperty(ListenTransformableStatus, 'name', {
value: 'ListenTransformableStatus',
});
Object.defineProperty(Comment, 'name', {
value: 'Comment',
});
system((s) => s.after(PreStartUp).before(ZoomLevel).beforeWritersOf(Canvas))(InitCanvas);
system((s) => s
.inAnyOrderWithWritersOf(Camera)
.afterWritersOf(Canvas)
.after(SyncSimpleTransforms, PropagateTransforms, ComputeBounds, CameraControl, Select, RenderTransformer, RenderHighlighter)
.before(Last))(ZoomLevel);
system((s) => s.before(PreStartUp))(DownloadScreenshot);
system(PreStartUp)(ListenTransformableStatus);
system(PreStartUp)(Comment);
};
//# sourceMappingURL=UI.js.map