{"version":3,"sources":["node_modules/@arcgis/core/layers/support/PromiseQueue.js","node_modules/@arcgis/core/views/support/debugFlags.js","node_modules/@arcgis/core/views/support/Scheduler.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { isAborted as s, createAbortError as t, isPromiseLike as e } from \"../../core/promiseUtils.js\";\nimport { signal as r } from \"../../core/signal.js\";\nclass n {\n constructor() {\n this._tasks = new Array(), this._running = r(!1);\n }\n get length() {\n return this._tasks.length;\n }\n get running() {\n return this._running.value;\n }\n destroy() {\n this.cancelAll();\n }\n runTask(s) {\n for (; !s.done && this._process(s);) s.madeProgress();\n }\n push(s, t, e) {\n return this._running.value = !0, new Promise((r, n) => this._tasks.push(new i(r, n, s, t, e)));\n }\n unshift(s, t, e) {\n return this._running.value = !0, new Promise((r, n) => this._tasks.unshift(new i(r, n, s, t, e)));\n }\n _process(r) {\n if (0 === this._tasks.length) return !1;\n const n = this._tasks.shift();\n try {\n const i = s(n.signal);\n if (i && !n.abortCallback) n.reject(t());else {\n const s = i ? n.abortCallback?.(t()) : n.callback(r);\n e(s) ? s.then(n.resolve, n.reject) : n.resolve(s);\n }\n } catch (i) {\n n.reject(i);\n }\n return this._running.value = this._tasks.length > 0, !0;\n }\n cancelAll() {\n const s = t();\n for (const t of this._tasks) if (t.abortCallback) {\n const e = t.abortCallback(s);\n t.resolve(e);\n } else t.reject(s);\n this._tasks.length = 0, this._running.value = !1;\n }\n}\nclass i {\n constructor(s, t, e, r = void 0, n = void 0) {\n this.resolve = s, this.reject = t, this.callback = e, this.signal = r, this.abortCallback = n;\n }\n}\nexport { n as PromiseQueue };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { _ as r } from \"../../chunks/tslib.es6.js\";\nimport o from \"../../core/Accessor.js\";\nimport { property as s } from \"../../core/accessorSupport/decorators/property.js\";\nimport \"../../core/accessorSupport/ensureType.js\";\nimport \"../../core/arrayUtils.js\";\nimport \"../../core/has.js\";\nimport { subclass as e } from \"../../core/accessorSupport/decorators/subclass.js\";\nlet t = class extends o {\n constructor() {\n super(...arguments), this.SCHEDULER_LOG_SLOW_TASKS = !1, this.FEATURE_SERVICE_SNAPPING_SOURCE_TILE_TREE_SHOW_TILES = !1;\n }\n};\nr([s()], t.prototype, \"SCHEDULER_LOG_SLOW_TASKS\", void 0), r([s()], t.prototype, \"FEATURE_SERVICE_SNAPPING_SOURCE_TILE_TREE_SHOW_TILES\", void 0), t = r([e(\"esri.views.support.DebugFlags\")], t);\nconst p = new t();\nexport { p as default };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from \"../../core/Handles.js\";\nimport \"../../core/has.js\";\nimport t from \"../../core/Logger.js\";\nimport { removeMaybe as s } from \"../../core/maybe.js\";\nimport r from \"../../core/PerformanceSampler.js\";\nimport i from \"../../core/PooledArray.js\";\nimport { isAborted as a, createAbortError as n, when as u } from \"../../core/promiseUtils.js\";\nimport { watch as _, initial as h, when as o } from \"../../core/reactiveUtils.js\";\nimport { signal as d } from \"../../core/signal.js\";\nimport { Milliseconds as E } from \"../../core/time.js\";\nimport { PromiseQueue as l } from \"../../layers/support/PromiseQueue.js\";\nimport T from \"./debugFlags.js\";\nimport { RenderState as m } from \"./RenderState.js\";\nfunction c() {\n return new N.Scheduler();\n}\nvar g, I;\n!function (e) {\n e[e.YIELD = 1] = \"YIELD\";\n}(g || (g = {})), function (e) {\n e.RESOURCE_CONTROLLER_IMMEDIATE = \"immediate\", e.RESOURCE_CONTROLLER = \"schedule\", e.SLIDE = \"slide\", e.STREAM_DATA_LOADER = \"stream loader\", e.ELEVATION_QUERY = \"elevation query\", e.TERRAIN_SURFACE = \"terrain\", e.SURFACE_GEOMETRY_UPDATES = \"surface geometry updates\", e.LOD_RENDERER = \"LoD renderer\", e.GRAPHICS_CORE = \"Graphics3D\", e.I3S_CONTROLLER = \"I3S\", e.POINT_CLOUD_LAYER = \"point cloud\", e.FEATURE_TILE_FETCHER = \"feature fetcher\", e.OVERLAY = \"overlay\", e.STAGE = \"stage\", e.GRAPHICS_DECONFLICTOR = \"graphics deconflictor\", e.FILTER_VISIBILITY = \"Graphics3D filter visibility\", e.SCALE_VISIBILITY = \"Graphics3D scale visibility\", e.FRUSTUM_VISIBILITY = \"Graphics3D frustum visibility\", e.POINT_OF_INTEREST_FREQUENT = \"POI frequent\", e.POINT_OF_INTEREST_INFREQUENT = \"POI infrequent\", e.LABELER = \"labeler\", e.FEATURE_QUERY_ENGINE = \"feature query\", e.FEATURE_TILE_TREE = \"feature tile tree\", e.FEATURE_TILE_TREE_ACTIVE = \"fast feature tile tree\", e.ELEVATION_ALIGNMENT = \"elevation alignment\", e.TEXT_TEXTURE_ATLAS = \"text texture atlas\", e.TEXTURE_UNLOAD = \"texture unload\", e.LINE_OF_SIGHT_TOOL = \"line of sight tool\", e.LINE_OF_SIGHT_TOOL_INTERACTIVE = \"interactive line of sight tool\", e.ELEVATION_PROFILE = \"elevation profile\", e.SNAPPING = \"snapping\", e.SHADOW_ACCUMULATOR = \"shadow accumulator\", e.CLOUDS_GENERATOR = \"clouds generator\", e[e.NONE = 0] = \"NONE\", e[e.TEST_PRIO = 1] = \"TEST_PRIO\";\n}(I || (I = {}));\nconst R = 0,\n p = new Map([[I.RESOURCE_CONTROLLER_IMMEDIATE, R], [I.RESOURCE_CONTROLLER, 4], [I.SLIDE, R], [I.STREAM_DATA_LOADER, R], [I.ELEVATION_QUERY, R], [I.TERRAIN_SURFACE, 1], [I.SURFACE_GEOMETRY_UPDATES, 1], [I.LOD_RENDERER, 2], [I.GRAPHICS_CORE, 2], [I.I3S_CONTROLLER, 2], [I.POINT_CLOUD_LAYER, 2], [I.FEATURE_TILE_FETCHER, 2], [I.OVERLAY, 4], [I.STAGE, 4], [I.GRAPHICS_DECONFLICTOR, 4], [I.FILTER_VISIBILITY, 4], [I.SCALE_VISIBILITY, 4], [I.FRUSTUM_VISIBILITY, 4], [I.CLOUDS_GENERATOR, 4], [I.POINT_OF_INTEREST_FREQUENT, 6], [I.POINT_OF_INTEREST_INFREQUENT, 30], [I.LABELER, 8], [I.FEATURE_QUERY_ENGINE, 8], [I.FEATURE_TILE_TREE, 16], [I.FEATURE_TILE_TREE_ACTIVE, R], [I.ELEVATION_ALIGNMENT, 12], [I.TEXT_TEXTURE_ATLAS, 12], [I.TEXTURE_UNLOAD, 12], [I.LINE_OF_SIGHT_TOOL, 16], [I.LINE_OF_SIGHT_TOOL_INTERACTIVE, R], [I.SNAPPING, R], [I.SHADOW_ACCUMULATOR, 30]]);\nfunction f(e) {\n return p.has(e) ? p.get(e) : \"number\" == typeof e ? e : 1;\n}\nconst L = E(6.5),\n A = E(1),\n b = E(30),\n S = E(1e3 / 30),\n O = E(100),\n k = .9;\nvar N, U;\n!function (a) {\n class n {\n get updating() {\n return this._updating.value;\n }\n _updatingChanged() {\n this._updating.value = this._tasks.some(e => e.needsUpdate);\n }\n constructor() {\n this._updating = d(!0), this._microTaskQueued = !1, this._frameNumber = 0, this.performanceInfo = {\n total: new r(\"total\"),\n tasks: new Map()\n }, this._frameTaskTimes = new Map(), this._budget = new c(), this._state = m.INTERACTING, this._tasks = new i(), this._runQueue = new i(), this._load = 0, this._idleStateCallbacks = new i(), this._idleUpdatesStartFired = !1, this._forceTask = !1, this._debug = !1, this._debugHandle = _(() => T.SCHEDULER_LOG_SLOW_TASKS, e => this._debug = e, h);\n for (const t of Object.keys(I)) this.performanceInfo.tasks.set(I[t], new r(I[t]));\n const e = this;\n this._test = {\n FRAME_SAFETY_BUDGET: L,\n INTERACTING_BUDGET: S,\n IDLE_BUDGET: O,\n get availableBudget() {\n return e._budget.budget;\n },\n usedBudget: 0,\n getBudget: () => e._budget,\n setBudget: t => e._budget = t,\n updateTask: e => this._updateTask(e),\n getState: e => this._getState(e),\n getRuntime: e => this._getRuntime(e),\n frameTaskTimes: this._frameTaskTimes,\n resetRuntimes: () => this._resetRuntimes(),\n getRunning: () => this._getRunning()\n };\n }\n destroy() {\n this._tasks.toArray().forEach(e => e.remove()), this._tasks.clear(), s(this._debugHandle), this._microTaskQueued = !1, this._updatingChanged();\n }\n taskRunningChanged(e) {\n this._updatingChanged(), e && this._budget.remaining > 0 && !this._microTaskQueued && (this._microTaskQueued = !0, queueMicrotask(() => {\n this._microTaskQueued && (this._microTaskQueued = !1, this._budget.remaining > 0 && this._schedule() && this.frame());\n }));\n }\n registerTask(e, t) {\n const s = f(e),\n i = new u(this, e, t, s);\n return this._tasks.push(i), this._updatingChanged(), this.performanceInfo.tasks.has(e) || this.performanceInfo.tasks.set(e, new r(e)), i;\n }\n registerIdleStateCallbacks(e, t) {\n const s = {\n idleBegin: e,\n idleEnd: t\n };\n this._idleStateCallbacks.push(s), this.state === m.IDLE && this._idleUpdatesStartFired && s.idleBegin();\n const r = this;\n return {\n remove: () => this._removeIdleStateCallbacks(s),\n set idleBegin(e) {\n r._idleUpdatesStartFired && (s.idleEnd(), r._state === m.IDLE && e()), s.idleBegin = e;\n },\n set idleEnd(e) {\n s.idleEnd = e;\n }\n };\n }\n get load() {\n return this._load;\n }\n set state(e) {\n this._state !== e && (this._state = e, this.state !== m.IDLE && this._idleUpdatesStartFired && (this._idleUpdatesStartFired = !1, this._idleStateCallbacks.forAll(e => e.idleEnd())));\n }\n get state() {\n return this._state;\n }\n updateBudget(e) {\n this._test.usedBudget = 0, ++this._frameNumber;\n let t = L,\n s = e.frameDuration,\n r = A;\n switch (this.state) {\n case m.IDLE:\n t = E(0), s = E(Math.max(O, e.frameDuration)), r = b;\n break;\n case m.INTERACTING:\n s = E(Math.max(S, e.frameDuration));\n case m.ANIMATING:\n }\n return s = E(s - e.elapsedFrameTime - t), this.state !== m.IDLE && s < A && !this._forceTask ? (this._forceTask = !0, !1) : (s = E(Math.max(s, r)), this._budget.reset(s, this.state), this._updateLoad(), this._schedule());\n }\n frame() {\n switch (this._forceTask = !1, this._microTaskQueued = !1, this.state) {\n case m.IDLE:\n this._idleUpdatesStartFired || (this._idleUpdatesStartFired = !0, this._idleStateCallbacks.forAll(e => e.idleBegin())), this._runIdle();\n break;\n case m.INTERACTING:\n this._runInteracting();\n break;\n default:\n this._runAnimating();\n }\n this._test.usedBudget = this._budget.elapsed;\n }\n stopFrame() {\n this._budget.reset(E(0), this._state), this._budget.madeProgress();\n }\n _removeIdleStateCallbacks(e) {\n this._idleUpdatesStartFired && e.idleEnd(), this._idleStateCallbacks.removeUnordered(e);\n }\n removeTask(e) {\n this._tasks.removeUnordered(e), this._runQueue.removeUnordered(e), this._updatingChanged();\n }\n _updateTask(e) {\n this._tasks.forAll(t => {\n t.name === e && t.setPriority(e);\n });\n }\n _getState(e) {\n if (this._runQueue.some(t => t.name === e)) return U.SCHEDULED;\n let t = U.IDLE;\n return this._tasks.forAll(s => {\n s.name === e && s.needsUpdate && (s.schedulePriority <= 1 ? t = U.READY : t !== U.READY && (t = U.WAITING));\n }), t;\n }\n _getRuntime(e) {\n let t = 0;\n return this._tasks.forAll(s => {\n s.name === e && (t += s.runtime);\n }), t;\n }\n _resetRuntimes() {\n this._tasks.forAll(e => e.runtime = 0);\n }\n _getRunning() {\n const e = new Map();\n if (this._tasks.forAll(t => {\n t.needsUpdate && e.set(t.name, (e.get(t.name) || 0) + 1);\n }), 0 === e.size) return null;\n let t = \"\";\n return e.forEach((e, s) => {\n t += e > 1 ? ` ${e}x ${s}` : ` ${s}`;\n }), t;\n }\n _runIdle() {\n this._run();\n }\n _runInteracting() {\n this._run();\n }\n _runAnimating() {\n this._run();\n }\n _updateLoad() {\n const e = this._tasks.reduce((e, t) => t.needsUpdate ? ++e : e, 0);\n this._load = this._load * k + e * (1 - k);\n }\n _schedule() {\n for (this._runQueue.filterInPlace(e => !!e.needsUpdate || (e.schedulePriority = e.basePriority, !1)), this._tasks.forAll(e => {\n e.basePriority === R && e.needsUpdate && !this._runQueue.includes(e) && e.blockFrame !== this._frameNumber && this._runQueue.unshift(e);\n }); 0 === this._runQueue.length;) {\n let e = !1,\n t = 0;\n if (this._tasks.forAll(s => {\n if (s.needsUpdate && 0 !== s.schedulePriority && s.basePriority !== R && s.blockFrame !== this._frameNumber) if (e = !0, t = Math.max(t, s.basePriority), 1 === s.schedulePriority) s.schedulePriority = 0, this._runQueue.push(s);else --s.schedulePriority;\n }), !e) return this._updatingChanged(), !1;\n }\n return this._updatingChanged(), !0;\n }\n _run() {\n const e = this._budget.now();\n this._startFrameTaskTimes();\n do {\n for (; this._runQueue.length > 0;) {\n const r = this._budget.now(),\n i = this._runQueue.pop();\n this._budget.resetProgress();\n try {\n i.task.runTask(this._budget) === g.YIELD && (i.blockFrame = this._frameNumber);\n } catch (s) {\n t.getLogger(\"esri.views.support.Scheduler\").error(`Exception in task \"${i.name}\"`, s), i.blockFrame = this._frameNumber;\n }\n !this._budget.hasProgressed && i.blockFrame !== this._frameNumber && i.needsUpdate && (i.name, I.I3S_CONTROLLER, i.blockFrame = this._frameNumber), i.schedulePriority = i.basePriority;\n const a = this._budget.now() - r;\n if (i.runtime += a, this._frameTaskTimes.set(i.priority, this._frameTaskTimes.get(i.priority) + a), this._debug && a > 2 * this._budget.budget && console.log(\"Task\", i.name, \"used\", a, \"of max\", this._budget.budget, \"ms\"), this._budget.remaining <= 0) return this._updatingChanged(), void this._recordFrameTaskTimes(this._budget.now() - e);\n }\n } while (this._schedule());\n this._updatingChanged(), this._recordFrameTaskTimes(this._budget.now() - e);\n }\n _startFrameTaskTimes() {\n for (const e of Object.keys(I)) this._frameTaskTimes.set(I[e], 0);\n }\n _recordFrameTaskTimes(e) {\n this._frameTaskTimes.forEach((e, t) => this.performanceInfo.tasks.get(t).record(e)), this.performanceInfo.total.record(e);\n }\n get test() {\n return this._test;\n }\n }\n a.Scheduler = n;\n class u {\n get task() {\n return this._task.value;\n }\n get updating() {\n return this._queue.running;\n }\n constructor(t, s, r, i) {\n this._scheduler = t, this.name = s, this._basePriority = i, this.blockFrame = 0, this.runtime = 0, this._queue = new l(), this._handles = new e(), this.schedulePriority = this._basePriority, this._task = d(null != r ? r : this._queue), this._handles.add(o(() => this.task.running, e => t.taskRunningChanged(e)));\n }\n remove() {\n this.processQueue(C), this._scheduler.removeTask(this), this.schedule = F.schedule, this.reschedule = F.reschedule, this._handles.destroy();\n }\n get basePriority() {\n return this._basePriority;\n }\n setPriority(e) {\n this.name = e;\n const t = f(e);\n this._basePriority !== R && 0 === this.schedulePriority || (this.schedulePriority = t), this._basePriority = t;\n }\n get priority() {\n return this.name;\n }\n set priority(e) {\n this.setPriority(e);\n }\n get needsUpdate() {\n return this.updating || this.task.running;\n }\n schedule(e, t, s) {\n return this._queue.push(e, t, s);\n }\n reschedule(e, t, s) {\n return this._queue.unshift(e, t, s);\n }\n processQueue(e) {\n this._queue.runTask(e);\n }\n }\n class c {\n constructor() {\n this._begin = \"undefined\" != typeof performance ? performance.now() : 0, this._budget = 0, this._state = m.IDLE, this._done = !1, this._progressed = !1, this._enabled = !0;\n }\n run(e) {\n return !this.done && (!0 === e() && this.madeProgress(), !0);\n }\n get done() {\n return this._done;\n }\n get budget() {\n return this._budget;\n }\n madeProgress() {\n return this._progressed = !0, this._done = this.elapsed >= this._budget && this._enabled, this._done;\n }\n get state() {\n return this._state;\n }\n get enabled() {\n return this._enabled;\n }\n set enabled(e) {\n this._enabled = e;\n }\n reset(e, t) {\n this._begin = this.now(), this._budget = e, this._state = t, this.resetProgress();\n }\n get remaining() {\n return Math.max(this._budget - this.elapsed, 0);\n }\n now() {\n return performance.now();\n }\n get elapsed() {\n return performance.now() - this._begin;\n }\n resetProgress() {\n this._progressed = !1, this._done = !1;\n }\n get hasProgressed() {\n return this._progressed;\n }\n }\n a.Budget = c;\n}(N || (N = {})), function (e) {\n e.SCHEDULED = \"s\", e.READY = \"r\", e.WAITING = \"w\", e.IDLE = \"i\";\n}(U || (U = {}));\nconst C = (() => {\n const e = new N.Budget();\n return e.enabled = !1, e;\n})();\nclass P {\n remove() {}\n processQueue() {}\n schedule(e, t, s) {\n try {\n if (a(t)) {\n const e = n();\n return s ? Promise.resolve(s(e)) : Promise.reject(e);\n }\n return u(e(C));\n } catch (r) {\n return Promise.reject(r);\n }\n }\n reschedule(e, t, s) {\n return this.schedule(e, t, s);\n }\n}\nconst F = new P();\nexport { F as ImmediateTask, g as Task, I as TaskPriority, U as TaskState, f as getTaskPriority, c as newScheduler, C as noBudget, p as taskPriorities };"],"mappings":"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","names":["n","s","t","e","r","i","c","p","g","I","e","p","S","n","s","c","l","t","i","u","r","a","P"],"x_google_ignoreList":[0,1,2]}