UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

50 lines (49 loc) 2.93 kB
"use strict"; // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. Object.defineProperty(exports, "__esModule", { value: true }); exports.ProjectWorkerMessageType = exports.StorageTransferMode = void 0; /** * Describes how storage is transferred to the worker. */ var StorageTransferMode; (function (StorageTransferMode) { /** Use BrowserStorage pointer - worker hydrates from same IndexedDB */ StorageTransferMode["browserStoragePointer"] = "browserStoragePointer"; /** Use serialized in-memory storage as JSON */ StorageTransferMode["serializedStorage"] = "serializedStorage"; })(StorageTransferMode || (exports.StorageTransferMode = StorageTransferMode = {})); /** * Message types for worker communication. * * The new streaming architecture uses a persistent worker with cached project state: * - hydrateProject: Preload and cache a project in the worker * - disposeProject: Clean up cached project (called on project switch or idle timeout) * - processRelationsAndGenerateInfoSet: Main entry point - streams results as they complete: * 1. relationsComplete - sent immediately after relations calculated (unblocks waiters) * 2. validationComplete - sent after validation finishes * 3. Thumbnails are enqueued to low-priority queue (silent, no progress to user) * - cancelThumbnails: Stop pending thumbnail generation (e.g., on project switch) */ var ProjectWorkerMessageType; (function (ProjectWorkerMessageType) { // Main thread -> Worker ProjectWorkerMessageType["hydrateProject"] = "hydrateProject"; ProjectWorkerMessageType["disposeProject"] = "disposeProject"; ProjectWorkerMessageType["generateInfoSet"] = "generateInfoSet"; ProjectWorkerMessageType["processRelationsAndGenerateInfoSet"] = "processRelationsAndGenerateInfoSet"; ProjectWorkerMessageType["cancelThumbnails"] = "cancelThumbnails"; ProjectWorkerMessageType["cancel"] = "cancel"; // Worker -> Main thread (streamed responses) ProjectWorkerMessageType["hydrateComplete"] = "hydrateComplete"; ProjectWorkerMessageType["projectDisposed"] = "projectDisposed"; ProjectWorkerMessageType["relationsComplete"] = "relationsComplete"; ProjectWorkerMessageType["validationComplete"] = "validationComplete"; ProjectWorkerMessageType["thumbnailBatchComplete"] = "thumbnailBatchComplete"; ProjectWorkerMessageType["thumbnailsFinished"] = "thumbnailsFinished"; // Legacy combined result (deprecated - kept for backward compatibility during transition) ProjectWorkerMessageType["generateInfoSetResult"] = "generateInfoSetResult"; ProjectWorkerMessageType["processRelationsAndGenerateInfoSetResult"] = "processRelationsAndGenerateInfoSetResult"; ProjectWorkerMessageType["progress"] = "progress"; ProjectWorkerMessageType["error"] = "error"; })(ProjectWorkerMessageType || (exports.ProjectWorkerMessageType = ProjectWorkerMessageType = {}));