@gedit/editor-2d 0.1.38 → 0.1.43
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/lib/browser/playground/canvas-layer.d.ts +7 -4
- package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
- package/lib/browser/playground/canvas-layer.js +49 -31
- package/lib/browser/playground/canvas-layer.js.map +1 -1
- package/lib/browser/playground/playground-contribution.js +4 -4
- package/lib/browser/playground/playground-contribution.js.map +1 -1
- package/package.json +7 -7
- package/src/.DS_Store +0 -0
- package/src/browser/.DS_Store +0 -0
- package/src/browser/playground/canvas-layer.ts +51 -32
- package/src/browser/playground/playground-contribution.ts +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Layer } from '@gedit/playground';
|
|
1
|
+
import { Layer, SizeSchema } from '@gedit/playground';
|
|
2
2
|
import { DocumentEntity } from './entities';
|
|
3
3
|
import { PlaygroundContext2d } from './playground-context';
|
|
4
4
|
import { Editor2dDocument, Editor2dNode } from '../model';
|
|
@@ -16,7 +16,7 @@ export declare class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
16
16
|
documentEntity: DocumentEntity;
|
|
17
17
|
node: HTMLDivElement;
|
|
18
18
|
protected gameObjectCache: Map<string, GameObject>;
|
|
19
|
-
protected gameObjectTextureMap: Map<string, string>;
|
|
19
|
+
protected gameObjectTextureMap: Map<string, string | undefined>;
|
|
20
20
|
protected gameObjectStateMap: Map<string, GameObjectState>;
|
|
21
21
|
protected nodeVersionCache: Map<string, string>;
|
|
22
22
|
protected lastRenderKeys: string[];
|
|
@@ -25,10 +25,11 @@ export declare class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
25
25
|
protected selectionEntityManager: SelectionEntityManager;
|
|
26
26
|
protected renderWidgetDispose: Disposable | undefined;
|
|
27
27
|
protected waitToDispose: Disposable | undefined;
|
|
28
|
-
protected
|
|
28
|
+
protected pixelArt: boolean;
|
|
29
29
|
private booted;
|
|
30
30
|
private libLoaded;
|
|
31
31
|
private libLoading;
|
|
32
|
+
private allCount;
|
|
32
33
|
startLoadLibs(): Promise<void>;
|
|
33
34
|
onReady(): void;
|
|
34
35
|
/**
|
|
@@ -42,13 +43,15 @@ export declare class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
42
43
|
updateGameObjects(scene: GameSceneIDE, document: Editor2dDocument): void;
|
|
43
44
|
updateGameObject(scene: GameSceneIDE, document: Editor2dDocument, node: Editor2dNode, depth: number, renderKeys: string[], isInside?: boolean): number;
|
|
44
45
|
get document(): Editor2dDocument | undefined;
|
|
46
|
+
toTextureId(textureId?: string): string | undefined;
|
|
45
47
|
/**
|
|
46
48
|
* 加载完成
|
|
47
49
|
*/
|
|
48
50
|
updateLoadingPercent(allLoaded: boolean): void;
|
|
49
51
|
onZoom(scale: number): void;
|
|
50
52
|
private currentRectangle;
|
|
51
|
-
|
|
53
|
+
private currentResolution;
|
|
54
|
+
tryToResizeToCenter(size?: SizeSchema): void;
|
|
52
55
|
draw(): void;
|
|
53
56
|
}
|
|
54
57
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"canvas-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAc,MAAM,8BAA8B,CAAC;AAOzE,UAAU,eAAe;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,WAAY,SAAQ,KAAK,CAAC,mBAAmB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IACvD,IAAI,iBAAqD;IACzD,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAC/D,SAAS,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAa;IAC5E,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAa;IACvE,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAC5D,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,CAAM;IACxC,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC9B,SAAS,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACzD,SAAS,CAAC,mBAAmB,EAAE,UAAU,GAAG,SAAS,CAAC;IACtD,SAAS,CAAC,aAAa,EAAE,UAAU,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAM;IAChB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC,OAAO,IAAI,IAAI;IAef;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAkD3F,YAAY,IAAI,MAAM;IAKtB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAiBxE,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,OAAe,GAAG,MAAM;IAyG7J,IAAI,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAE3C;IACD,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWnD;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAiB9C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,mBAAmB,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI;IAe5C,IAAI,IAAI,IAAI;CAkCb"}
|
|
@@ -91,7 +91,7 @@ var selection_entity_manager_1 = require("./selection-entity-manager");
|
|
|
91
91
|
var common_1 = require("@gedit/app-config/lib/common");
|
|
92
92
|
var CANVAS_MIN_WIDTH = 1500;
|
|
93
93
|
var CANVAS_MIN_HEIGHT = 1500;
|
|
94
|
-
var WAIT_TO_DISPOSE_TIME =
|
|
94
|
+
var WAIT_TO_DISPOSE_TIME = 30000; // 延迟删除, 这样tab在频繁切换时候不会有延迟
|
|
95
95
|
var SCENE_KEY = 'boot';
|
|
96
96
|
var CanvasLayer = /** @class */ (function (_super) {
|
|
97
97
|
__extends(CanvasLayer, _super);
|
|
@@ -106,6 +106,8 @@ var CanvasLayer = /** @class */ (function (_super) {
|
|
|
106
106
|
_this.booted = false;
|
|
107
107
|
_this.libLoaded = false;
|
|
108
108
|
_this.libLoading = false;
|
|
109
|
+
_this.allCount = -1;
|
|
110
|
+
_this.currentResolution = 1;
|
|
109
111
|
return _this;
|
|
110
112
|
}
|
|
111
113
|
CanvasLayer.prototype.startLoadLibs = function () {
|
|
@@ -145,12 +147,12 @@ var CanvasLayer = /** @class */ (function (_super) {
|
|
|
145
147
|
this.waitToDispose.dispose();
|
|
146
148
|
this.waitToDispose = undefined;
|
|
147
149
|
}
|
|
148
|
-
//
|
|
149
|
-
if (appConfig !== this.
|
|
150
|
+
// pixlerArt 更新的话则重新创建
|
|
151
|
+
if (appConfig.pixelArt !== this.pixelArt && this.renderWidget) {
|
|
150
152
|
this.renderWidget.dispose();
|
|
151
153
|
}
|
|
152
154
|
if (visible && !this.renderWidget) {
|
|
153
|
-
this.
|
|
155
|
+
this.pixelArt = appConfig.pixelArt;
|
|
154
156
|
var element_1 = window.document.createElement('canvas');
|
|
155
157
|
this.node.appendChild(element_1);
|
|
156
158
|
appConfig = common_1.toAutoSize(appConfig);
|
|
@@ -192,7 +194,7 @@ var CanvasLayer = /** @class */ (function (_super) {
|
|
|
192
194
|
var root = document.root;
|
|
193
195
|
if (!root)
|
|
194
196
|
return;
|
|
195
|
-
this.updateGameObject(scene, document, root, 0, renderKeys);
|
|
197
|
+
this.allCount = this.updateGameObject(scene, document, root, 0, renderKeys);
|
|
196
198
|
// 删除节点
|
|
197
199
|
this.lastRenderKeys.forEach(function (key) {
|
|
198
200
|
if (!renderKeys.includes(key)) {
|
|
@@ -248,14 +250,14 @@ var CanvasLayer = /** @class */ (function (_super) {
|
|
|
248
250
|
if (!gameObject) {
|
|
249
251
|
var gameObjectChildren = children ? children.map(function (c) { return gameObjectCache.get(model_1.Editor2dNode.getNodePath(c)); }) : [];
|
|
250
252
|
try {
|
|
251
|
-
gameObject = scene.createAuto(node.displayType, __assign(__assign({}, node), { id: nodePath, depth: currentDepth, parentId: parentId }), gameObjectChildren);
|
|
253
|
+
gameObject = scene.createAuto(node.displayType, __assign(__assign({}, node), { id: nodePath, textureId: this.toTextureId(node.textureId), depth: currentDepth, parentId: parentId }), gameObjectChildren);
|
|
252
254
|
}
|
|
253
255
|
catch (e) {
|
|
254
256
|
console.error(e);
|
|
255
257
|
return depth;
|
|
256
258
|
}
|
|
257
259
|
// 标记并缓存当前texture
|
|
258
|
-
this.gameObjectTextureMap.set(nodePath,
|
|
260
|
+
this.gameObjectTextureMap.set(nodePath, this.toTextureId(node.textureId));
|
|
259
261
|
gameObjectCache.set(nodePath, gameObject);
|
|
260
262
|
scene.onGameObjectDispose(gameObject, function () {
|
|
261
263
|
_this.gameObjectCache.delete(nodePath);
|
|
@@ -290,7 +292,7 @@ var CanvasLayer = /** @class */ (function (_super) {
|
|
|
290
292
|
firstCreate = true;
|
|
291
293
|
}
|
|
292
294
|
if (gameObject && gameObject.getTextureId) {
|
|
293
|
-
gameObject.data.textureId = node.textureId;
|
|
295
|
+
gameObject.data.textureId = this.toTextureId(node.textureId);
|
|
294
296
|
var oldTexture = this.gameObjectTextureMap.get(nodePath);
|
|
295
297
|
var newTexture = gameObject.getTextureId();
|
|
296
298
|
// 素材更新则销毁重新创建
|
|
@@ -302,7 +304,7 @@ var CanvasLayer = /** @class */ (function (_super) {
|
|
|
302
304
|
var update = function () {
|
|
303
305
|
var oldVersion = _this.nodeVersionCache.get(nodePath);
|
|
304
306
|
if (oldVersion !== newVersion) {
|
|
305
|
-
gameObject.update(__assign(__assign({}, node), { depth: currentDepth }));
|
|
307
|
+
gameObject.update(__assign(__assign({}, node), { parentId: parentId, id: nodePath, textureId: _this.toTextureId(node.textureId), depth: currentDepth }));
|
|
306
308
|
_this.nodeVersionCache.set(nodePath, newVersion);
|
|
307
309
|
}
|
|
308
310
|
};
|
|
@@ -320,25 +322,37 @@ var CanvasLayer = /** @class */ (function (_super) {
|
|
|
320
322
|
enumerable: false,
|
|
321
323
|
configurable: true
|
|
322
324
|
});
|
|
325
|
+
CanvasLayer.prototype.toTextureId = function (textureId) {
|
|
326
|
+
var _a;
|
|
327
|
+
if (!textureId)
|
|
328
|
+
return textureId;
|
|
329
|
+
if (textureId.match(/^symbol\//)) {
|
|
330
|
+
var symbols = ((_a = this.documentEntity.config.appConfig) === null || _a === void 0 ? void 0 : _a.symbols) || [];
|
|
331
|
+
var symbolId_1 = textureId.replace(/^symbol\//, '');
|
|
332
|
+
var symbol = symbols.find(function (s) { return s.id === symbolId_1; });
|
|
333
|
+
return symbol ? symbol.value : undefined;
|
|
334
|
+
}
|
|
335
|
+
return textureId;
|
|
336
|
+
};
|
|
323
337
|
/**
|
|
324
338
|
* 加载完成
|
|
325
339
|
*/
|
|
326
340
|
CanvasLayer.prototype.updateLoadingPercent = function (allLoaded) {
|
|
327
|
-
var
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
}
|
|
341
|
+
var allCount = this.allCount;
|
|
342
|
+
var currentCount = this.gameObjectStateMap.size;
|
|
343
|
+
if (allLoaded || allCount <= currentCount || allCount === 0) {
|
|
344
|
+
if (!this.config.loading)
|
|
345
|
+
return;
|
|
346
|
+
this.config.loading = false;
|
|
347
|
+
this.tryToResizeToCenter();
|
|
348
|
+
this.node.classList.add('ready');
|
|
349
|
+
this.context.onCanvasDataChanged(this.renderWidget);
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
this.config.loading = true;
|
|
353
|
+
this.config.updateConfig({
|
|
354
|
+
loadingHTML: Math.round(currentCount / allCount * 100) + "%"
|
|
355
|
+
});
|
|
342
356
|
}
|
|
343
357
|
};
|
|
344
358
|
CanvasLayer.prototype.onZoom = function (scale) {
|
|
@@ -346,16 +360,20 @@ var CanvasLayer = /** @class */ (function (_super) {
|
|
|
346
360
|
transform: "scale(" + scale + ")"
|
|
347
361
|
});
|
|
348
362
|
};
|
|
349
|
-
CanvasLayer.prototype.tryToResizeToCenter = function () {
|
|
363
|
+
CanvasLayer.prototype.tryToResizeToCenter = function (size) {
|
|
350
364
|
var _a;
|
|
351
|
-
var
|
|
352
|
-
|
|
365
|
+
var _b = this.documentEntity.config, visible = _b.visible, appConfig = _b.appConfig;
|
|
366
|
+
var resolution = (appConfig === null || appConfig === void 0 ? void 0 : appConfig.resolution) || 1;
|
|
367
|
+
size = size || ((_a = this.document) === null || _a === void 0 ? void 0 : _a.getSceneSize());
|
|
368
|
+
if (!visible || !size || this.config.loading || this.config.config.width === 0 || this.config.config.height === 0)
|
|
353
369
|
return;
|
|
354
370
|
var newRect = new math_1.Rectangle(0, 0, size.width, size.height);
|
|
355
|
-
if (!this.currentRectangle || !this.currentRectangle.isEqual(newRect)) {
|
|
371
|
+
if (!this.currentRectangle || !this.currentRectangle.isEqual(newRect) || this.currentResolution !== resolution) {
|
|
356
372
|
this.currentRectangle = newRect;
|
|
373
|
+
this.currentResolution = resolution;
|
|
374
|
+
this.config.updateConfig({ resolution: resolution });
|
|
357
375
|
this.config.setPageBounds(newRect);
|
|
358
|
-
this.config.scrollPageBoundsToCenter(true,
|
|
376
|
+
this.config.scrollPageBoundsToCenter(true, 20, !this.context.options.isTemplate);
|
|
359
377
|
}
|
|
360
378
|
};
|
|
361
379
|
CanvasLayer.prototype.draw = function () {
|
|
@@ -371,11 +389,11 @@ var CanvasLayer = /** @class */ (function (_super) {
|
|
|
371
389
|
this.toggleVisible(document, appConfig, visible);
|
|
372
390
|
if (!this.renderWidget || !this.booted)
|
|
373
391
|
return;
|
|
374
|
-
var scene = this.renderWidget.switchScene(SCENE_KEY, size);
|
|
392
|
+
var scene = this.renderWidget.switchScene(SCENE_KEY, size, appConfig.backgroundColor);
|
|
375
393
|
/**
|
|
376
394
|
* 尝试触发居中
|
|
377
395
|
*/
|
|
378
|
-
this.tryToResizeToCenter();
|
|
396
|
+
this.tryToResizeToCenter(size);
|
|
379
397
|
/**
|
|
380
398
|
* 更新canvas数据
|
|
381
399
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-layer.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canvas-layer.js","sourceRoot":"","sources":["../../../src/browser/playground/canvas-layer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8D;AAC9D,uCAA4C;AAC5C,oDAAoD;AAEpD,kCAA0D;AAG1D,sCAA0C;AAC1C,oCAAwC;AACxC,uEAAoE;AACpE,uDAAyE;AAEzE,IAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,IAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,IAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,0BAA0B;AAC9D,IAAM,SAAS,GAAG,MAAM,CAAC;AAQzB;IAAiC,+BAA0B;IAA3D;QAAA,qEAuTC;QArTC,UAAI,GAAG,kBAAQ,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QAC/C,qBAAe,GAA4B,IAAI,GAAG,EAAE,CAAC;QACrD,0BAAoB,GAAoC,IAAI,GAAG,EAAE,CAAC;QAClE,wBAAkB,GAAiC,IAAI,GAAG,EAAE,CAAC;QAC7D,sBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAClD,oBAAc,GAAa,EAAE,CAAC;QAOhC,YAAM,GAAY,KAAK,CAAC;QACxB,eAAS,GAAG,KAAK,CAAC;QAClB,gBAAU,GAAG,KAAK,CAAC;QACnB,cAAQ,GAAG,CAAC,CAAC,CAAC;QAoPd,uBAAiB,GAAG,CAAC,CAAC;;IAkDhC,CAAC;IArSO,mCAAa,GAAnB;;;;4BACE,qBAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,EAAA;;wBAA7C,SAA6C,CAAC;wBAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,IAAI,CAAC,IAAI,EAAE,CAAC;;;;;KACb;IACD,6BAAO,GAAP;QAAA,iBAaC;QAZC,IAAI,CAAC,sBAAsB,GAAG,IAAI,iDAAsB,CACtD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,cAAM,OAAA,KAAI,CAAC,QAAQ,EAAb,CAAa,CACpB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACrB,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE;gBACtC,KAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC;YAChE,CAAC,EAAE,CAAC,CAAC,CAAC;SACP,CAAC,CAAC;QACH,6IAA6I;QAC7I,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,mCAAa,GAAb,UAAc,QAA0B,EAAE,SAAwB,EAAE,OAAgB;QAApF,iBAgDC;QA/CC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;SAChC;QACD,sBAAsB;QACtB,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;YAC7D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;SAC7B;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACjC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACnC,IAAM,SAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAO,CAAC,CAAC;YAC/B,SAAS,GAAG,mBAAU,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,wBAC7E,SAAS,KACZ,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,MAAM,EAAE,SAAO,EACf,eAAe,EAAE,SAAS,CAAC,eAAe,EAC1C,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EACvC,KAAK,EAAE,IAAI,IACX,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAU,CAAC,MAAM,CAAC;gBACjD,IAAI,KAAI,CAAC,mBAAmB,EAAE;oBAC5B,KAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;oBACnC,KAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;iBACtC;gBACD,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAO,CAAC,CAAC;gBAC/B,KAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,CAAC,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC;gBAC7B,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,KAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;SACJ;QACD,qBAAqB;QACrB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,IAAM,WAAS,GAAG,UAAU,CAAC;gBAC3B,IAAI,KAAI,CAAC,YAAY;oBAAE,KAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACrD,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,kBAAU,CAAC,MAAM,CAAC;gBACrC,MAAM,CAAC,YAAY,CAAC,WAAS,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAAA,CAAC;IAEF,kCAAY,GAAZ;QACE,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1C,OAAO,GAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzD,CAAC;IAED,uCAAiB,GAAjB,UAAkB,KAAmB,EAAE,QAA0B;QAAjE,iBAeC;QAdC,IAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC5E,OAAO;QACP,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAA,GAAG;YAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC7B,IAAM,GAAG,GAAG,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,OAAO,EAAE,CAAC;iBACf;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;IACnC,CAAC;IAED,sCAAgB,GAAhB,UAAiB,KAAmB,EAAE,QAA0B,EAAE,IAAkB,EAAE,KAAa,EAAE,UAAoB,EAAE,QAAyB;;QAApJ,iBAuGC;QAvG0H,yBAAA,EAAA,gBAAyB;QAClJ,IAAM,QAAQ,GAAG,oBAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,QAA0B,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;QACzE,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAY,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,IAAM,IAAI,GAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvG,IAAM,MAAM,GAAG,CAAC,oBAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7G,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,SAAS;QAChC,IAAM,UAAU,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,oBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAClH,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,MAAM,EAAE;YACV,QAAQ,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;YAChF,OAAO;YACP,WAAW,GAAG,IAAI,CAAC;YACnB,kBAAkB;YAClB,UAAU,GAAG,KAAK,CAAC;SACpB;QACD,SAAS;QACT,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;;gBACnC,KAAoB,IAAA,KAAA,SAAA,QAAQ,CAAC,MAAM,EAAE,CAAA,gBAAA,4BAAE;oBAAlC,IAAM,KAAK,WAAA;oBACd,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,IAAI,QAAQ,CAAC,CAAC;iBACnG;;;;;;;;;SACF;QACD,IAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAM,YAAY,GAAG,KAAK,CAAC;QAC3B,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAM,UAAU,GAAG,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC;QACvG,WAAW;QACX,IAAI,CAAC,UAAU,EAAE;YACf,IAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,eAAe,CAAC,GAAG,CAAC,oBAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAE,EAAjD,CAAiD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChH,IAAI;gBACF,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,wBACxC,IAAI,KAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,UAAA,KAClG,kBAAkB,CACnB,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO,KAAK,CAAC;aACd;YACD,iBAAiB;YACjB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1E,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC1C,KAAK,CAAC,mBAAmB,CAAC,UAAU,EAAE;gBACpC,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACtC,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzC,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3C,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACvC,KAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,kBAAkB,CAAC,UAAU,EAAE;gBACnC,KAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;gBACxF,oCAAoC;gBACpC,UAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,CAAC;oBAC5B,IAAM,KAAK,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;oBACjD,KAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAY,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBAClG,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,kBAAkB,CAAC,UAAU,EAAE;gBACnC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAChD,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAC,UAAU,YAAA,EAAE,UAAU,YAAA,EAAE,QAAQ,UAAA,EAAC,CAAC,CAAC;gBAC1E,cAAc;gBACd,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;gBAC9C,KAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;gBACxF,iBAAiB;gBACjB,KAAI,CAAC,oBAAoB,CAAC,oBAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAA,KAAK;gBACvC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAC,KAAK,OAAA,EAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,QAAQ;YACR,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC7F,WAAW,GAAG,IAAI,CAAC;SACpB;QACD,IAAI,UAAU,IAAI,UAAU,CAAC,YAAY,EAAE;YACzC,UAAU,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAM,UAAU,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;YAC7C,cAAc;YACd,IAAI,UAAU,KAAK,UAAU,EAAE;gBAC7B,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;aACzF;SACF;QACD,IAAM,MAAM,GAAG;YACb,IAAM,UAAU,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,KAAK,UAAU,EAAE;gBAC7B,UAAW,CAAC,MAAM,uBACb,IAAI,KACP,QAAQ,UAAA,EACR,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAC3C,KAAK,EAAE,YAAY,IACnB,CAAC;gBACH,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aACjD;QACH,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,OAAO,EAAE;YACtC,MAAM,EAAE,CAAC;SACV;QACD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,KAAK,EAAE,CAAC;QACR,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sBAAI,iCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC7C,CAAC;;;OAAA;IACD,iCAAW,GAAX,UAAY,SAAkB;;QAC5B,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACjC,IAAI,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAChC,IAAM,OAAO,GAAG,OAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,0CAAE,OAAO,KAAI,EAAE,CAAC;YACpE,IAAM,UAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACpD,IAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,UAAQ,EAAjB,CAAiB,CAAC,CAAC;YACpD,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SAC1C;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,0CAAoB,GAApB,UAAqB,SAAkB;QACrC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAClD,IAAI,SAAS,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ,KAAK,CAAC,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YACjC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACrD;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;gBACvB,WAAW,EAAK,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,GAAG,GAAG,CAAC,MAAG;aAC7D,CAAC,CAAC;SACJ;IACH,CAAC;IAED,4BAAM,GAAN,UAAO,KAAa;QAClB,kBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;YAC3B,SAAS,EAAE,WAAS,KAAK,MAAG;SAC7B,CAAC,CAAC;IACL,CAAC;IAGD,yCAAmB,GAAnB,UAAoB,IAAiB;;QAC7B,IAAA,KAAyB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAjD,OAAO,aAAA,EAAE,SAAS,eAA+B,CAAC;QAC1D,IAAM,UAAU,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,KAAI,CAAC,CAAC;QAC9C,IAAI,GAAG,IAAI,WAAI,IAAI,CAAC,QAAQ,0CAAE,YAAY,GAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC1H,IAAM,OAAO,GAAG,IAAI,gBAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,iBAAiB,KAAK,UAAU,EAAE;YAC9G,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAClF;IACH,CAAC;IAED,0BAAI,GAAJ;QACQ,IAAA,KAAyC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAlE,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,eAAe,EAAf,OAAO,mBAAG,KAAK,KAA8B,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;SACR;QACD,IAAM,IAAI,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI;YAAE,OAAO;QAChE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAC/C,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;QACxF;;WAEG;QACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/B;;WAEG;QACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxC;;WAEG;QACH,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QACrC;;WAEG;QACH,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,EAAE,CAAC;QACpD;;WAEG;QACH,IAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;QAC9G,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IArTuB;QAAvB,mBAAM,CAAC,yBAAc,CAAC;kCAAiB,yBAAc;uDAAC;IAsTzD,kBAAC;CAAA,AAvTD,CAAiC,kBAAK,GAuTrC;AAvTY,kCAAW"}
|
|
@@ -48,14 +48,14 @@ var PlaygroundContribution2d = /** @class */ (function () {
|
|
|
48
48
|
this.appConfig.onConfigChange(function (data) {
|
|
49
49
|
_this.updateAppConfigData(data, playground);
|
|
50
50
|
}));
|
|
51
|
-
playground.onRestoreState(
|
|
52
|
-
|
|
53
|
-
});
|
|
51
|
+
// playground.onRestoreState(() => {
|
|
52
|
+
// this.appConfig.getConfigData().then(data => this.updateAppConfigData(data, playground));
|
|
53
|
+
// });
|
|
54
54
|
};
|
|
55
55
|
PlaygroundContribution2d.prototype.updateAppConfigData = function (data, playground) {
|
|
56
56
|
// const snaplineEntity = playground.getConfigEntity<SnaplineConfigEntity>(SnaplineConfigEntity);
|
|
57
57
|
// 更新分辨率
|
|
58
|
-
playground.config.updateConfig({ resolution: data.resolution });
|
|
58
|
+
// playground.config.updateConfig({ resolution: data.resolution });
|
|
59
59
|
// if (!this.modelOpts.isTemplate) {
|
|
60
60
|
// const lines: Snapline[] = [];
|
|
61
61
|
// lines.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playground-contribution.js","sourceRoot":"","sources":["../../../src/browser/playground/playground-contribution.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA+C;AAC/C,gDAO2B;AAC3B,+CAA6C;AAC7C,yDAAsD;AACtD,sDAAsD;AACtD,gDAAoE;AACpE,8CAAyD;AAGzD;IAAA;IA2DA,CAAC;IAxDC,qDAAkB,GAAlB,UAAmB,QAA4B;QAC7C,QAAQ,CAAC,aAAa,CAAC,0BAAW,CAAC,CAAC;QACpC,QAAQ,CAAC,aAAa,CAAC,mCAAe,CAAC,CAAC;QACxC,0CAA0C;IAC5C,CAAC;IACD,0CAAO,GAAP,UAAQ,UAAsB;QAA9B,iBA0BC;QAzBC,OAAO;QACP,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,UAAU;QACV,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YAC7B,UAAU,CAAC,eAAe,CAAoB,8BAAiB,CAAC,CAAC,YAAY,CAAC;gBAC5E,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,UAAU,CAAC,eAAe,CAAsB,gCAAmB,CAAC,CAAC,YAAY,CAAC;gBAChF,OAAO,EAAE,KAAK;gBACd,qBAAqB,EAAE,KAAK;aAC7B,CAAC,CAAC;SACJ;QACD,UAAU,CAAC,eAAe,CAAuB,iCAAoB,CAAC,CAAC,YAAY,CAAC;YAClF,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,UAAU,CAAC,SAAS,CAAC,IAAI;QACvB,oBAAoB;QACpB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAA,IAAI;YAChC,KAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC,CAAC,CACH,CAAC;QACF,
|
|
1
|
+
{"version":3,"file":"playground-contribution.js","sourceRoot":"","sources":["../../../src/browser/playground/playground-contribution.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA+C;AAC/C,gDAO2B;AAC3B,+CAA6C;AAC7C,yDAAsD;AACtD,sDAAsD;AACtD,gDAAoE;AACpE,8CAAyD;AAGzD;IAAA;IA2DA,CAAC;IAxDC,qDAAkB,GAAlB,UAAmB,QAA4B;QAC7C,QAAQ,CAAC,aAAa,CAAC,0BAAW,CAAC,CAAC;QACpC,QAAQ,CAAC,aAAa,CAAC,mCAAe,CAAC,CAAC;QACxC,0CAA0C;IAC5C,CAAC;IACD,0CAAO,GAAP,UAAQ,UAAsB;QAA9B,iBA0BC;QAzBC,OAAO;QACP,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,UAAU;QACV,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YAC7B,UAAU,CAAC,eAAe,CAAoB,8BAAiB,CAAC,CAAC,YAAY,CAAC;gBAC5E,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YACH,UAAU,CAAC,eAAe,CAAsB,gCAAmB,CAAC,CAAC,YAAY,CAAC;gBAChF,OAAO,EAAE,KAAK;gBACd,qBAAqB,EAAE,KAAK;aAC7B,CAAC,CAAC;SACJ;QACD,UAAU,CAAC,eAAe,CAAuB,iCAAoB,CAAC,CAAC,YAAY,CAAC;YAClF,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,UAAU,CAAC,SAAS,CAAC,IAAI;QACvB,oBAAoB;QACpB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAA,IAAI;YAChC,KAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC,CAAC,CACH,CAAC;QACF,oCAAoC;QACpC,6FAA6F;QAC7F,MAAM;IACR,CAAC;IACD,sDAAmB,GAAnB,UAAoB,IAAmB,EAAE,UAAsB;QAC7D,iGAAiG;QACjG,QAAQ;QACR,mEAAmE;QACnE,oCAAoC;QACpC,kCAAkC;QAClC,iBAAiB;QACjB,qBAAqB;QACrB,8CAA8C;QAC9C,sBAAsB;QACtB,sBAAsB;QACtB,QAAQ;QACR,iBAAiB;QACjB,qBAAqB;QACrB,8CAA8C;QAC9C,wBAAwB;QACxB,sBAAsB;QACtB,QAAQ;QACR,kCAAkC;QAClC,aAAa;QACb,gCAAgC;QAChC,QAAQ;QACR,IAAI;IACN,CAAC;IAzDyB;QAAzB,kBAAM,CAAC,6BAAgB,CAAC;kCAAqB,6BAAgB;+DAAC;IACjC;QAA7B,kBAAM,CAAC,+BAAoB,CAAC;;+DAA0C;IAF5D,wBAAwB;QADpC,sBAAU,EAAE;OACA,wBAAwB,CA2DpC;IAAD,+BAAC;CAAA,AA3DD,IA2DC;AA3DY,4DAAwB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gedit/editor-2d",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.43",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/browser/index",
|
|
6
6
|
"typings": "lib/browser/index.d.ts",
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
"src"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@gedit/app-config": "^0.1.
|
|
13
|
-
"@gedit/editor": "^0.1.
|
|
14
|
-
"@gedit/playground": "^0.1.
|
|
15
|
-
"@gedit/render-engine-ide": "^0.1.
|
|
16
|
-
"@gedit/workspace-2d": "^0.1.
|
|
12
|
+
"@gedit/app-config": "^0.1.43",
|
|
13
|
+
"@gedit/editor": "^0.1.43",
|
|
14
|
+
"@gedit/playground": "^0.1.43",
|
|
15
|
+
"@gedit/render-engine-ide": "^0.1.43",
|
|
16
|
+
"@gedit/workspace-2d": "^0.1.43",
|
|
17
17
|
"json-stringify-pretty-compact": "^2.0.0"
|
|
18
18
|
},
|
|
19
19
|
"geditExtensions": [
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"nyc": {
|
|
35
35
|
"extends": "../../configs/nyc.json"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "a2770cd752ca48b418a3deeab3421f408a5c0058"
|
|
38
38
|
}
|
package/src/.DS_Store
ADDED
|
Binary file
|
|
Binary file
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { entity, Layer } from '@gedit/playground';
|
|
1
|
+
import { entity, Layer, SizeSchema } from '@gedit/playground';
|
|
2
2
|
import { DocumentEntity } from './entities';
|
|
3
3
|
import { domUtils } from '@gedit/utils/lib/browser';
|
|
4
4
|
import { PlaygroundContext2d } from './playground-context';
|
|
5
5
|
import { Editor2dDocument, Editor2dNode } from '../model';
|
|
6
6
|
import { GameObject } from '@gedit/render-engine';
|
|
7
7
|
import { GameSceneIDE, GameWidgetIDE } from '@gedit/render-engine-ide';
|
|
8
|
-
import { Disposable
|
|
8
|
+
import { Disposable } from '@gedit/utils';
|
|
9
9
|
import { Rectangle } from '@gedit/math';
|
|
10
10
|
import { SelectionEntityManager } from './selection-entity-manager';
|
|
11
11
|
import { AppConfigData, toAutoSize } from '@gedit/app-config/lib/common';
|
|
12
12
|
|
|
13
13
|
const CANVAS_MIN_WIDTH = 1500;
|
|
14
14
|
const CANVAS_MIN_HEIGHT = 1500;
|
|
15
|
-
const WAIT_TO_DISPOSE_TIME =
|
|
15
|
+
const WAIT_TO_DISPOSE_TIME = 30000; // 延迟删除, 这样tab在频繁切换时候不会有延迟
|
|
16
16
|
const SCENE_KEY = 'boot';
|
|
17
17
|
|
|
18
18
|
interface GameObjectState {
|
|
@@ -25,7 +25,7 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
25
25
|
@entity(DocumentEntity) documentEntity: DocumentEntity;
|
|
26
26
|
node = domUtils.createDivWithClass('gedit-canvas-layer');
|
|
27
27
|
protected gameObjectCache: Map<string, GameObject> = new Map();
|
|
28
|
-
protected gameObjectTextureMap: Map<string, string> = new Map();
|
|
28
|
+
protected gameObjectTextureMap: Map<string, string | undefined> = new Map();
|
|
29
29
|
protected gameObjectStateMap: Map<string, GameObjectState> = new Map();
|
|
30
30
|
protected nodeVersionCache: Map<string, string> = new Map();
|
|
31
31
|
protected lastRenderKeys: string[] = [];
|
|
@@ -34,10 +34,11 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
34
34
|
protected selectionEntityManager: SelectionEntityManager;
|
|
35
35
|
protected renderWidgetDispose: Disposable | undefined;
|
|
36
36
|
protected waitToDispose: Disposable | undefined; // 延迟删除
|
|
37
|
-
protected
|
|
37
|
+
protected pixelArt: boolean;
|
|
38
38
|
private booted: boolean = false;
|
|
39
39
|
private libLoaded = false;
|
|
40
40
|
private libLoading = false;
|
|
41
|
+
private allCount = -1;
|
|
41
42
|
async startLoadLibs(): Promise<void> {
|
|
42
43
|
await this.context.renderEngine.loadIDELibs();
|
|
43
44
|
this.libLoaded = true;
|
|
@@ -69,12 +70,12 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
69
70
|
this.waitToDispose.dispose();
|
|
70
71
|
this.waitToDispose = undefined;
|
|
71
72
|
}
|
|
72
|
-
//
|
|
73
|
-
if (appConfig !== this.
|
|
73
|
+
// pixlerArt 更新的话则重新创建
|
|
74
|
+
if (appConfig.pixelArt !== this.pixelArt && this.renderWidget) {
|
|
74
75
|
this.renderWidget.dispose();
|
|
75
76
|
}
|
|
76
77
|
if (visible && !this.renderWidget) {
|
|
77
|
-
this.
|
|
78
|
+
this.pixelArt = appConfig.pixelArt;
|
|
78
79
|
const element = window.document.createElement('canvas');
|
|
79
80
|
this.node.appendChild(element);
|
|
80
81
|
appConfig = toAutoSize(appConfig);
|
|
@@ -123,7 +124,7 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
123
124
|
const renderKeys: string[] = [];
|
|
124
125
|
const root = document.root;
|
|
125
126
|
if (!root) return;
|
|
126
|
-
this.updateGameObject(scene, document, root, 0, renderKeys);
|
|
127
|
+
this.allCount = this.updateGameObject(scene, document, root, 0, renderKeys);
|
|
127
128
|
// 删除节点
|
|
128
129
|
this.lastRenderKeys.forEach(key => {
|
|
129
130
|
if (!renderKeys.includes(key)) {
|
|
@@ -168,7 +169,7 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
168
169
|
const gameObjectChildren = children ? children.map(c => gameObjectCache.get(Editor2dNode.getNodePath(c))!) : [];
|
|
169
170
|
try {
|
|
170
171
|
gameObject = scene.createAuto(node.displayType,
|
|
171
|
-
{...node, id: nodePath, depth: currentDepth, parentId },
|
|
172
|
+
{...node, id: nodePath, textureId: this.toTextureId(node.textureId), depth: currentDepth, parentId },
|
|
172
173
|
gameObjectChildren,
|
|
173
174
|
);
|
|
174
175
|
} catch (e) {
|
|
@@ -176,7 +177,7 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
176
177
|
return depth;
|
|
177
178
|
}
|
|
178
179
|
// 标记并缓存当前texture
|
|
179
|
-
this.gameObjectTextureMap.set(nodePath,
|
|
180
|
+
this.gameObjectTextureMap.set(nodePath, this.toTextureId(node.textureId));
|
|
180
181
|
gameObjectCache.set(nodePath, gameObject);
|
|
181
182
|
scene.onGameObjectDispose(gameObject, () => {
|
|
182
183
|
this.gameObjectCache.delete(nodePath);
|
|
@@ -211,7 +212,7 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
211
212
|
firstCreate = true;
|
|
212
213
|
}
|
|
213
214
|
if (gameObject && gameObject.getTextureId) {
|
|
214
|
-
gameObject.data.textureId = node.textureId;
|
|
215
|
+
gameObject.data.textureId = this.toTextureId(node.textureId);
|
|
215
216
|
const oldTexture = this.gameObjectTextureMap.get(nodePath);
|
|
216
217
|
const newTexture = gameObject.getTextureId();
|
|
217
218
|
// 素材更新则销毁重新创建
|
|
@@ -225,6 +226,9 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
225
226
|
if (oldVersion !== newVersion) {
|
|
226
227
|
gameObject!.update({
|
|
227
228
|
...node,
|
|
229
|
+
parentId,
|
|
230
|
+
id: nodePath,
|
|
231
|
+
textureId: this.toTextureId(node.textureId),
|
|
228
232
|
depth: currentDepth,
|
|
229
233
|
});
|
|
230
234
|
this.nodeVersionCache.set(nodePath, newVersion);
|
|
@@ -241,24 +245,34 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
241
245
|
get document(): Editor2dDocument | undefined {
|
|
242
246
|
return this.documentEntity.config.document;
|
|
243
247
|
}
|
|
248
|
+
toTextureId(textureId?: string): string | undefined {
|
|
249
|
+
if (!textureId) return textureId;
|
|
250
|
+
if (textureId.match(/^symbol\//)) {
|
|
251
|
+
const symbols = this.documentEntity.config.appConfig?.symbols || [];
|
|
252
|
+
const symbolId = textureId.replace(/^symbol\//, '');
|
|
253
|
+
const symbol = symbols.find(s => s.id === symbolId);
|
|
254
|
+
return symbol ? symbol.value : undefined;
|
|
255
|
+
}
|
|
256
|
+
return textureId;
|
|
257
|
+
}
|
|
244
258
|
|
|
245
259
|
/**
|
|
246
260
|
* 加载完成
|
|
247
261
|
*/
|
|
248
262
|
updateLoadingPercent(allLoaded: boolean): void {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
if (
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
}
|
|
261
|
-
}
|
|
263
|
+
const allCount = this.allCount;
|
|
264
|
+
const currentCount = this.gameObjectStateMap.size;
|
|
265
|
+
if (allLoaded || allCount <= currentCount || allCount === 0) {
|
|
266
|
+
if (!this.config.loading) return;
|
|
267
|
+
this.config.loading = false;
|
|
268
|
+
this.tryToResizeToCenter();
|
|
269
|
+
this.node.classList.add('ready');
|
|
270
|
+
this.context.onCanvasDataChanged(this.renderWidget);
|
|
271
|
+
} else {
|
|
272
|
+
this.config.loading = true;
|
|
273
|
+
this.config.updateConfig({
|
|
274
|
+
loadingHTML: `${Math.round(currentCount / allCount * 100)}%`
|
|
275
|
+
});
|
|
262
276
|
}
|
|
263
277
|
}
|
|
264
278
|
|
|
@@ -268,14 +282,19 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
268
282
|
});
|
|
269
283
|
}
|
|
270
284
|
private currentRectangle: Rectangle | undefined;
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
285
|
+
private currentResolution = 1;
|
|
286
|
+
tryToResizeToCenter(size?: SizeSchema): void {
|
|
287
|
+
const { visible, appConfig } = this.documentEntity.config;
|
|
288
|
+
const resolution = appConfig?.resolution || 1;
|
|
289
|
+
size = size || this.document?.getSceneSize();
|
|
290
|
+
if (!visible || !size || this.config.loading || this.config.config.width === 0 || this.config.config.height === 0) return;
|
|
274
291
|
const newRect = new Rectangle(0, 0, size.width, size.height);
|
|
275
|
-
if (!this.currentRectangle || !this.currentRectangle.isEqual(newRect)) {
|
|
292
|
+
if (!this.currentRectangle || !this.currentRectangle.isEqual(newRect) || this.currentResolution !== resolution) {
|
|
276
293
|
this.currentRectangle = newRect;
|
|
294
|
+
this.currentResolution = resolution;
|
|
295
|
+
this.config.updateConfig({ resolution });
|
|
277
296
|
this.config.setPageBounds(newRect);
|
|
278
|
-
this.config.scrollPageBoundsToCenter(true,
|
|
297
|
+
this.config.scrollPageBoundsToCenter(true, 20, !this.context.options.isTemplate);
|
|
279
298
|
}
|
|
280
299
|
}
|
|
281
300
|
|
|
@@ -290,11 +309,11 @@ export class CanvasLayer extends Layer<PlaygroundContext2d> {
|
|
|
290
309
|
if (!document || !appConfig || !this.libLoaded || !size) return;
|
|
291
310
|
this.toggleVisible(document, appConfig, visible);
|
|
292
311
|
if (!this.renderWidget || !this.booted) return;
|
|
293
|
-
const scene = this.renderWidget.switchScene(SCENE_KEY, size);
|
|
312
|
+
const scene = this.renderWidget.switchScene(SCENE_KEY, size, appConfig.backgroundColor);
|
|
294
313
|
/**
|
|
295
314
|
* 尝试触发居中
|
|
296
315
|
*/
|
|
297
|
-
this.tryToResizeToCenter();
|
|
316
|
+
this.tryToResizeToCenter(size);
|
|
298
317
|
/**
|
|
299
318
|
* 更新canvas数据
|
|
300
319
|
*/
|
|
@@ -45,14 +45,14 @@ export class PlaygroundContribution2d implements PlaygroundContribution {
|
|
|
45
45
|
this.updateAppConfigData(data, playground);
|
|
46
46
|
})
|
|
47
47
|
);
|
|
48
|
-
playground.onRestoreState(() => {
|
|
49
|
-
|
|
50
|
-
});
|
|
48
|
+
// playground.onRestoreState(() => {
|
|
49
|
+
// this.appConfig.getConfigData().then(data => this.updateAppConfigData(data, playground));
|
|
50
|
+
// });
|
|
51
51
|
}
|
|
52
52
|
updateAppConfigData(data: AppConfigData, playground: Playground): void {
|
|
53
53
|
// const snaplineEntity = playground.getConfigEntity<SnaplineConfigEntity>(SnaplineConfigEntity);
|
|
54
54
|
// 更新分辨率
|
|
55
|
-
playground.config.updateConfig({ resolution: data.resolution });
|
|
55
|
+
// playground.config.updateConfig({ resolution: data.resolution });
|
|
56
56
|
// if (!this.modelOpts.isTemplate) {
|
|
57
57
|
// const lines: Snapline[] = [];
|
|
58
58
|
// lines.push({
|