@ray-js/robot-map-sdk 0.0.3-beta-23 → 0.0.3-beta-25
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/dist/index.d.ts +1 -311
- package/dist/index.js +1 -1
- package/dist/rjs/_virtual/_commonjsHelpers.js +1 -0
- package/dist/rjs/_virtual/deinterlace.js +1 -0
- package/dist/rjs/_virtual/gif.js +1 -0
- package/dist/rjs/_virtual/index.js +1 -0
- package/dist/rjs/_virtual/index10.js +1 -0
- package/dist/rjs/_virtual/index2.js +1 -0
- package/dist/rjs/_virtual/index3.js +1 -0
- package/dist/rjs/_virtual/index4.js +1 -0
- package/dist/rjs/_virtual/index5.js +1 -0
- package/dist/rjs/_virtual/index6.js +1 -0
- package/dist/rjs/_virtual/index7.js +1 -0
- package/dist/rjs/_virtual/index8.js +1 -0
- package/dist/rjs/_virtual/index9.js +1 -0
- package/dist/rjs/_virtual/lzw.js +1 -0
- package/dist/rjs/_virtual/uint8.js +1 -0
- package/dist/rjs/index.js +1 -0
- package/dist/rjs/node_modules/@pixi/colord/index.js +1 -0
- package/dist/rjs/node_modules/@pixi/colord/plugins/names.js +1 -0
- package/dist/rjs/node_modules/@ray-js/robot-protocol/dist/index.js +1 -0
- package/dist/rjs/node_modules/base64-js/index.js +1 -0
- package/dist/rjs/node_modules/buffer/index.js +1 -0
- package/dist/rjs/node_modules/earcut/src/earcut.js +1 -0
- package/dist/rjs/node_modules/eventemitter3/index.js +1 -0
- package/dist/rjs/node_modules/eventemitter3/index2.js +1 -0
- package/dist/rjs/node_modules/gifuct-js/lib/deinterlace.js +1 -0
- package/dist/rjs/node_modules/gifuct-js/lib/index.js +1 -0
- package/dist/rjs/node_modules/gifuct-js/lib/lzw.js +1 -0
- package/dist/rjs/node_modules/ieee754/index.js +1 -0
- package/dist/rjs/node_modules/ismobilejs/esm/isMobile.js +1 -0
- package/dist/rjs/node_modules/js-binary-schema-parser/lib/index.js +1 -0
- package/dist/rjs/node_modules/js-binary-schema-parser/lib/parsers/uint8.js +1 -0
- package/dist/rjs/node_modules/js-binary-schema-parser/lib/schemas/gif.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_DataView.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_Hash.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_ListCache.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_Map.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_MapCache.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_Promise.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_Set.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_SetCache.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_Stack.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_Symbol.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_Uint8Array.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_WeakMap.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_apply.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_arrayFilter.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_arrayLikeKeys.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_arrayPush.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_arraySome.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_assignMergeValue.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_assignValue.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_assocIndexOf.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseAssignValue.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseCreate.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseFor.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseGetAllKeys.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseGetTag.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseIsArguments.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseIsEqual.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseIsEqualDeep.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseIsNative.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseIsTypedArray.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseKeys.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseKeysIn.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseMerge.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseMergeDeep.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseRest.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseSetToString.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseSlice.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseTimes.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseTrim.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_baseUnary.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_cacheHas.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_cloneArrayBuffer.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_cloneBuffer.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_cloneTypedArray.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_copyArray.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_copyObject.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_coreJsData.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_createAssigner.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_createBaseFor.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_defineProperty.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_equalArrays.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_equalByTag.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_equalObjects.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_freeGlobal.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_getAllKeys.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_getMapData.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_getNative.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_getPrototype.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_getRawTag.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_getSymbols.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_getTag.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_getValue.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_hashClear.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_hashDelete.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_hashGet.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_hashHas.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_hashSet.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_initCloneObject.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_isIndex.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_isIterateeCall.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_isKeyable.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_isMasked.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_isPrototype.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_listCacheClear.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_listCacheDelete.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_listCacheGet.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_listCacheHas.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_listCacheSet.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_mapCacheClear.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_mapCacheDelete.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_mapCacheGet.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_mapCacheHas.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_mapCacheSet.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_mapToArray.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_nativeCreate.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_nativeKeys.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_nativeKeysIn.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_nodeUtil.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_objectToString.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_overArg.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_overRest.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_root.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_safeGet.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_setCacheAdd.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_setCacheHas.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_setToArray.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_setToString.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_shortOut.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_stackClear.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_stackDelete.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_stackGet.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_stackHas.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_stackSet.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_toSource.js +1 -0
- package/dist/rjs/node_modules/lodash-es/_trimmedEndIndex.js +1 -0
- package/dist/rjs/node_modules/lodash-es/chunk.js +1 -0
- package/dist/rjs/node_modules/lodash-es/constant.js +1 -0
- package/dist/rjs/node_modules/lodash-es/debounce.js +1 -0
- package/dist/rjs/node_modules/lodash-es/eq.js +1 -0
- package/dist/rjs/node_modules/lodash-es/identity.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isArguments.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isArray.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isArrayLike.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isArrayLikeObject.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isBuffer.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isEqual.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isFunction.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isLength.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isObject.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isObjectLike.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isPlainObject.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isSymbol.js +1 -0
- package/dist/rjs/node_modules/lodash-es/isTypedArray.js +1 -0
- package/dist/rjs/node_modules/lodash-es/keys.js +1 -0
- package/dist/rjs/node_modules/lodash-es/keysIn.js +1 -0
- package/dist/rjs/node_modules/lodash-es/mergeWith.js +1 -0
- package/dist/rjs/node_modules/lodash-es/now.js +1 -0
- package/dist/rjs/node_modules/lodash-es/stubArray.js +1 -0
- package/dist/rjs/node_modules/lodash-es/stubFalse.js +1 -0
- package/dist/rjs/node_modules/lodash-es/throttle.js +1 -0
- package/dist/rjs/node_modules/lodash-es/toFinite.js +1 -0
- package/dist/rjs/node_modules/lodash-es/toInteger.js +1 -0
- package/dist/rjs/node_modules/lodash-es/toNumber.js +1 -0
- package/dist/rjs/node_modules/lodash-es/toPlainObject.js +1 -0
- package/dist/rjs/node_modules/mitt/dist/mitt.js +1 -0
- package/dist/rjs/node_modules/nanoid/non-secure/index.js +1 -0
- package/dist/rjs/node_modules/parse-svg-path/index.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/_virtual/checkImageBitmap.worker.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/_virtual/loadImageBitmap.worker.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/accessibility/AccessibilitySystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/accessibility/accessibilityTarget.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/accessibility/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/app/Application.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/app/ResizePlugin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/app/TickerPlugin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/app/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/Assets.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/BackgroundLoader.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/cache/Cache.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/cache/parsers/cacheTextureArray.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectAvif.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectDefaults.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectMp4.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectOgv.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectWebm.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/detections/parsers/detectWebp.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/detections/utils/testImageFormat.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/detections/utils/testVideoFormat.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/loader/Loader.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/LoaderParser.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/loadJson.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/loadTxt.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/loadWebFont.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/textures/loadSVG.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/textures/loadTextures.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/textures/loadVideoTextures.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/loader/parsers/textures/utils/createTexture.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/loader/workers/WorkerManager.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/resolver/Resolver.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/resolver/parsers/resolveJsonUrl.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/resolver/parsers/resolveTextureUrl.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/utils/checkDataUrl.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/utils/checkExtension.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/utils/convertToList.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/utils/copySearchParams.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/utils/createStringVariations.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/assets/utils/isSingleItem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/color/Color.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/culling/cullingMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/dom/CanvasObserver.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/dom/DOMContainer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/dom/DOMPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/dom/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/environment/adapter.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/environment/autoDetectEnvironment.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/environment-browser/BrowserAdapter.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/environment-browser/browserAll.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/environment-browser/browserExt.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/environment-webworker/webworkerAll.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/environment-webworker/webworkerExt.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/events/EventBoundary.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/events/EventSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/events/EventTicker.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/events/FederatedEvent.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/events/FederatedEventTarget.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/events/FederatedMouseEvent.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/events/FederatedPointerEvent.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/events/FederatedWheelEvent.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/events/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/extensions/Extensions.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/Filter.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/FilterEffect.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/FilterPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/FilterSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/defaults/defaultFilter.vert.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/defaults/passthrough/PassthroughFilter.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/defaults/passthrough/passthrough.frag.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/defaults/passthrough/passthrough.wgsl.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/mask/MaskFilter.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/mask/mask.frag.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/mask/mask.vert.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/filters/mask/mask.wgsl.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/gif/GifAsset.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/gif/GifSource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/gif/GifSprite.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/gif/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/index.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/matrix/Matrix.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/matrix/groupD8.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/misc/const.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/misc/pow2.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/misc/squaredDistanceToLineSegment.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/point/ObservablePoint.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/point/Point.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/point/pointInTriangle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/shapes/Circle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/shapes/Ellipse.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/shapes/Polygon.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/shapes/Rectangle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/maths/shapes/RoundedRectangle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/gl/GlBatchAdaptor.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/gl/utils/checkMaxIfStatementsInShader.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/gl/utils/maxRecommendedTextures.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/gpu/GpuBatchAdaptor.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/gpu/getTextureBatchBindGroup.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/BatchGeometry.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/BatchTextureArray.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/Batcher.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/BatcherPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/DefaultBatcher.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/batcher/shared/DefaultShader.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compileHighShaderToProgram.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/compileHighShader.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/utils/addBits.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/utils/compileHooks.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/utils/compileInputs.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/utils/compileOutputs.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/compiler/utils/injectBits.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/defaultProgramTemplate.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/colorBit.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/generateTextureBatchBit.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/globalUniformsBit.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/localUniformBit.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/roundPixelsBit.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/high-shader/shader-bits/textureBit.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/MaskEffectManager.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/alpha/AlphaMask.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/alpha/AlphaMaskPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/color/ColorMask.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/color/ColorMaskPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/stencil/StencilMask.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/stencil/StencilMaskPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/utils/addMaskBounds.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/mask/utils/addMaskLocalBounds.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/autoDetectRenderer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlBackBufferSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlColorMaskSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlEncoderSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlLimitsSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlRenderTarget.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlStencilSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/GlUboSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/WebGLRenderer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/buffer/GlBuffer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/buffer/GlBufferSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/buffer/const.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/const.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/context/GlContextSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/geometry/GlGeometrySystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/geometry/utils/getGlTypeFromFormat.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/renderTarget/GlRenderTargetAdaptor.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/renderTarget/GlRenderTargetSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GenerateShaderSyncCode.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlProgram.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlProgramData.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlShaderSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlUniformGroupSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/getBatchSamplersUniformGroup.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/compileShader.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/defaultValue.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/ensureAttributes.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/extractAttributesFromGlProgram.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/generateProgram.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/getMaxFragmentPrecision.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/getTestContext.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/getUboData.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/getUniformData.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/logProgramError.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/mapType.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/preprocessors/addProgramDefines.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/preprocessors/ensurePrecision.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/preprocessors/insertVersion.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/preprocessors/setProgramName.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/program/preprocessors/stripVersion.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/utils/createUboElementsSTD40.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/utils/createUboSyncSTD40.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/utils/generateArraySyncSTD40.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/utils/generateUniformsSync.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/shader/utils/generateUniformsSyncTypes.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/state/GlStateSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/state/mapWebGLBlendModesToPixi.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/GlTexture.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/GlTextureSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/const.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/uploaders/glUploadBufferImageResource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/uploaders/glUploadCompressedTextureResource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/uploaders/glUploadImageResource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/uploaders/glUploadVideoResource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/utils/applyStyleParams.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/utils/mapFormatToGlFormat.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/utils/mapFormatToGlInternalFormat.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/utils/mapFormatToGlType.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gl/texture/utils/pixiToGlMaps.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/BindGroupSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuColorMaskSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuDeviceSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuEncoderSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuLimitsSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuStencilSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuUboSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/GpuUniformBatchPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/WebGPURenderer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/buffer/GpuBufferSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/buffer/UboBatch.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/pipeline/PipelineSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/renderTarget/GpuRenderTarget.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/renderTarget/GpuRenderTargetAdaptor.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/renderTarget/GpuRenderTargetSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/renderTarget/calculateProjection.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/BindGroup.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/GpuProgram.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/GpuShaderSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/createUboElementsWGSL.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/createUboSyncFunctionWGSL.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/extractAttributesFromGpuProgram.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/extractStructAndGroups.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/generateArraySyncWGSL.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/generateGpuLayoutGroups.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/generateLayoutHash.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/shader/utils/removeStructAndGroupDuplicates.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/state/GpuBlendModesToPixi.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/state/GpuStateSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/state/GpuStencilModesToPixi.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/GpuTextureSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/uploaders/gpuUploadBufferImageResource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/uploaders/gpuUploadCompressedTextureResource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/uploaders/gpuUploadImageSource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/uploaders/gpuUploadVideoSource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/gpu/texture/utils/GpuMipmapGenerator.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/SchedulerSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/background/BackgroundSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/blendModes/BlendModePipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/buffer/Buffer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/buffer/BufferResource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/buffer/const.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/buffer/utils/fastCopy.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/extract/ExtractSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/extract/GenerateTextureSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/buildUvs.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/ensureIsBuffer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/getAttributeInfoFromFormat.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/getGeometryBounds.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/geometry/utils/transformVertices.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/instructions/InstructionSet.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/renderTarget/GlobalUniformSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/renderTarget/RenderTarget.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/renderTarget/RenderTargetSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/renderTarget/isRenderingToScreen.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/UboSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/UniformGroup.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/const.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/types.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/utils/createUboSyncFunction.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/utils/getDefaultUniformValue.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/utils/uboSyncFunctions.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/shader/utils/uniformParsers.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/startup/HelloSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/state/State.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/state/const.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/state/getAdjustedBlendModeBlend.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/system/AbstractRenderer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/system/SharedSystems.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/system/SystemRunner.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/CanvasPool.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/RenderTexture.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/RenderableGCSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/Texture.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/TextureGCSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/TextureMatrix.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/TexturePool.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/TextureStyle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/sources/BufferImageSource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/sources/CanvasSource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/sources/ImageSource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/sources/TextureSource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/sources/VideoSource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/utils/getCanvasTexture.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/texture/utils/textureFrom.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/utils/createIdFromString.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/shared/view/ViewSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/rendering/renderers/types.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/Container.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/CustomRenderPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/RenderGroup.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/RenderGroupPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/RenderGroupSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/bounds/Bounds.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/bounds/getGlobalBounds.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/bounds/getLocalBounds.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/bounds/getRenderableBounds.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/bounds/utils/matrixAndBoundsPool.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/cacheAsTextureMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/childrenHelperMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/collectRenderablesMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/effectsMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/findMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/getFastGlobalBoundsMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/getGlobalMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/measureMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/onRenderMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/sortMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/container-mixins/toLocalGlobalMixin.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/assignWithIgnore.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/checkChildrenDidChange.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/clearList.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/definedProps.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/executeInstructions.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/multiplyColors.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/multiplyHexColors.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/updateRenderGroupTransforms.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/container/utils/validateRenderables.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/gl/GlGraphicsAdaptor.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/gpu/GpuGraphicsAdaptor.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/gpu/colorToUniform.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/BatchableGraphics.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/GraphicsContext.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/GraphicsContextSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/GraphicsPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildAdaptiveBezier.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildAdaptiveQuadratic.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildArc.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildArcTo.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildArcToSvg.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildCircle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildLine.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildPixelLine.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildPolygon.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildRectangle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/buildCommands/buildTriangle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/const.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/fill/FillGradient.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/fill/FillPattern.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/path/GraphicsPath.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/path/ShapePath.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/path/roundShape.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/SVGParser.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGDefinitions.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGFloatAttribute.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGPath.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/parseSVGStyle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/utils/extractSvgUrlId.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/utils/fillOperations.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/svg/utils/pathOperations.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/utils/buildContextBatches.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/utils/convertFillInputToFillStyle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/utils/generateTextureFillMatrix.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/utils/getOrientationOfPoints.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/graphics/shared/utils/triangulateWithHoles.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/gl/GlMeshAdaptor.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/gpu/GpuMeshAdapter.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/shared/BatchableMesh.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/shared/Mesh.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/shared/MeshGeometry.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/mesh/shared/MeshPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/mesh-plane/PlaneGeometry.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/gl/GlParticleContainerAdaptor.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/gpu/GpuParticleContainerAdaptor.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/GlParticleContainerPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/GpuParticleContainerPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/ParticleBuffer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/ParticleContainerPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/shader/ParticleShader.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/shader/particles.frag.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/shader/particles.vert.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/shader/particles.wgsl.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/utils/createIndicesForQuads.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/particle-container/shared/utils/generateParticleUpdateFunction.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite/BatchableSprite.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite/Sprite.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite/SpritePipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-animated/AnimatedSprite.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-nine-slice/NineSliceGeometry.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-nine-slice/NineSliceSpritePipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-nine-slice/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/TilingSprite.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/TilingSpritePipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/shader/TilingSpriteShader.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/shader/tilingBit.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/utils/QuadGeometry.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/utils/applyMatrix.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/utils/setPositions.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/sprite-tiling/utils/setUvs.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/AbstractText.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/Text.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/TextStyle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/BatchableText.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/CanvasTextGenerator.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/CanvasTextMetrics.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/CanvasTextPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/CanvasTextSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/utils/fontStringFromTextStyle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/canvas/utils/getCanvasFillStyle.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/sdfShader/SdfShader.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/localUniformMSDFBit.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/sdfShader/shader-bits/mSDFBit.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/utils/getPo2TextureFromSource.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text/utils/updateTextBounds.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/AbstractBitmapFont.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/BitmapFont.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/BitmapFontManager.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/BitmapTextPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/DynamicBitmapFont.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/asset/bitmapFontTextParser.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/asset/bitmapFontXMLParser.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/asset/bitmapFontXMLStringParser.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/asset/loadBitmapFont.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/utils/getBitmapTextLayout.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-bitmap/utils/resolveCharacters.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/BatchableHTMLText.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/HTMLTextPipe.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/HTMLTextRenderData.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/HTMLTextSystem.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/extractFontFamilies.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/getFontCss.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/getSVGUrl.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/getTemporaryCanvasFromImage.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/loadFontAsBase64.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/loadFontCSS.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/loadSVGImage.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/text-html/utils/measureHtmlText.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/scene/view/ViewContainer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/spritesheet/Spritesheet.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/spritesheet/init.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/spritesheet/spritesheetAsset.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/ticker/Ticker.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/ticker/TickerListener.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/ticker/const.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/browser/detectVideoAlphaMode.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/browser/isMobile.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/browser/isSafari.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/browser/isWebGLSupported.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/browser/isWebGPUSupported.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/browser/unsafeEvalSupported.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/canvas/getCanvasBoundingBox.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/const.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/data/ViewableBuffer.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/data/clean.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/data/removeItems.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/data/uid.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/data/updateQuadBounds.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/global/globalHooks.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/logging/deprecation.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/logging/warn.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/misc/NOOP.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/misc/Transform.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/network/getResolutionOfUrl.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/path.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/pool/GlobalResourceRegistry.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/pool/Pool.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/pool/PoolGroup.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/sayHello.js +1 -0
- package/dist/rjs/node_modules/pixi.js/lib/utils/utils.js +1 -0
- package/dist/rjs/node_modules/proxy-compare/dist/index.js +1 -0
- package/dist/rjs/node_modules/tiny-lru/dist/tiny-lru.js +1 -0
- package/dist/rjs/node_modules/tinycolor2/esm/tinycolor.js +1 -0
- package/dist/rjs/node_modules/valtio/esm/vanilla/utils.js +1 -0
- package/dist/rjs/node_modules/valtio/esm/vanilla.js +1 -0
- package/dist/rjs/src/core/application/AppContainer.js +1 -0
- package/dist/rjs/src/core/application/AppService.js +1 -0
- package/dist/rjs/src/core/application/Interaction.js +1 -0
- package/dist/rjs/src/core/application/MapApplication.js +1 -0
- package/dist/rjs/src/core/application/ViewportContainer.js +1 -0
- package/dist/rjs/src/core/components/Base/BaseControlButton.js +1 -0
- package/dist/rjs/src/core/components/Base/Border.js +1 -0
- package/dist/rjs/src/core/components/Base/ControlFill.js +1 -0
- package/dist/rjs/src/core/components/Base/DashLine.js +1 -0
- package/dist/rjs/src/core/components/Base/EndPoint.js +1 -0
- package/dist/rjs/src/core/components/Base/EnhancedAnimatedSprite.js +1 -0
- package/dist/rjs/src/core/components/Base/EnhancedGifSprite.js +1 -0
- package/dist/rjs/src/core/components/Base/EnhancedSprite.js +1 -0
- package/dist/rjs/src/core/components/Base/FixedSizeContainer.js +1 -0
- package/dist/{components → rjs/src/core/components}/Base/FixedSizeDOMContainer.js +1 -1
- package/dist/rjs/src/core/components/Base/FixedSizeText.js +1 -0
- package/dist/rjs/src/core/components/Base/Ring.js +1 -0
- package/dist/rjs/src/core/components/Base/Zone.js +1 -0
- package/dist/rjs/src/core/components/ChargingStation/index.js +1 -0
- package/dist/rjs/src/core/components/Controls/Divider.js +1 -0
- package/dist/rjs/src/core/components/Controls/Spot.js +1 -0
- package/dist/rjs/src/core/components/Controls/VirtualWall.js +1 -0
- package/dist/rjs/src/core/components/Heatmap/index.js +1 -0
- package/dist/rjs/src/core/components/Map/Carpet.js +1 -0
- package/dist/rjs/src/core/components/Map/Free.js +1 -0
- package/dist/rjs/src/core/components/Map/Obstacle.js +1 -0
- package/dist/rjs/src/core/components/Map/RoomFill.js +1 -0
- package/dist/rjs/src/core/components/Path/index.js +1 -0
- package/dist/rjs/src/core/components/Robot/SleepAnimation.js +1 -0
- package/dist/rjs/src/core/components/Robot/index.js +1 -0
- package/dist/rjs/src/core/components/RoomFloorType/index.js +1 -0
- package/dist/rjs/src/core/components/RoomInfo/RoomName.js +1 -0
- package/dist/rjs/src/core/components/RoomInfo/RoomProperty.js +1 -0
- package/dist/rjs/src/core/components/RoomInfo/RoomSelectionIndicator.js +1 -0
- package/dist/rjs/src/core/constant/config.js +1 -0
- package/dist/rjs/src/core/constant/methods.js +1 -0
- package/dist/rjs/src/core/managers/ControlsManager.js +1 -0
- package/dist/rjs/src/core/managers/CustomElementsManager.js +1 -0
- package/dist/rjs/src/core/managers/MapManager.js +1 -0
- package/dist/rjs/src/core/managers/PathManager.js +1 -0
- package/dist/rjs/src/core/managers/RoomManager.js +1 -0
- package/dist/rjs/src/core/utils/browser.js +1 -0
- package/dist/rjs/src/core/utils/index.js +1 -0
- package/dist/utils/index.js +1 -1
- package/dist-docs/404.html +2 -2
- package/dist-docs/assets/{app.DKcv5ocC.js → app.DFCBjZzz.js} +1 -1
- package/dist-docs/assets/chunks/@localSearchIndexroot.BRrKBG3E.js +1 -0
- package/dist-docs/assets/chunks/{VPLocalSearchBox.Ry2KicD5.js → VPLocalSearchBox.DA9tFqkT.js} +1 -1
- package/dist-docs/assets/chunks/{theme.D-vPQmyU.js → theme.DLVtiTEc.js} +2 -2
- package/dist-docs/assets/{guide_advanced-usage.md.BquC67D7.js → guide_advanced-usage.md.BrZgx45A.js} +3 -1
- package/dist-docs/assets/{guide_advanced-usage.md.BquC67D7.lean.js → guide_advanced-usage.md.BrZgx45A.lean.js} +1 -1
- package/dist-docs/assets/{guide_getting-started.md.zACqR2O5.js → guide_getting-started.md.FCeGzF_5.js} +1 -1
- package/dist-docs/assets/reference_config.md.CfEp0H9c.js +61 -0
- package/dist-docs/assets/reference_config.md.CfEp0H9c.lean.js +1 -0
- package/dist-docs/guide/advanced-usage.html +7 -5
- package/dist-docs/guide/concepts.html +3 -3
- package/dist-docs/guide/getting-started.html +5 -5
- package/dist-docs/hashmap.json +1 -1
- package/dist-docs/index.html +3 -3
- package/dist-docs/reference/callbacks.html +3 -3
- package/dist-docs/reference/config.html +14 -8
- package/dist-docs/reference/data.html +3 -3
- package/dist-docs/reference/methods.html +3 -3
- package/dist-docs/reference/runtime.html +3 -3
- package/dist-docs/reference/types.html +3 -3
- package/dist-docs/reference/utils.html +3 -3
- package/package.json +2 -2
- package/dist/application/AppContainer.js +0 -1
- package/dist/application/AppService.js +0 -1
- package/dist/application/Interaction.js +0 -1
- package/dist/application/MapApplication.js +0 -1
- package/dist/application/ViewportContainer.js +0 -1
- package/dist/components/Base/BaseControlButton.js +0 -1
- package/dist/components/Base/Border.js +0 -1
- package/dist/components/Base/ControlFill.js +0 -1
- package/dist/components/Base/DashLine.js +0 -1
- package/dist/components/Base/EndPoint.js +0 -1
- package/dist/components/Base/EnhancedAnimatedSprite.js +0 -1
- package/dist/components/Base/EnhancedGifSprite.js +0 -1
- package/dist/components/Base/EnhancedSprite.js +0 -1
- package/dist/components/Base/FixedSizeContainer.js +0 -1
- package/dist/components/Base/FixedSizeText.js +0 -1
- package/dist/components/Base/Ring.js +0 -1
- package/dist/components/Base/Zone.js +0 -1
- package/dist/components/ChargingStation/index.js +0 -1
- package/dist/components/Controls/Divider.js +0 -1
- package/dist/components/Controls/Spot.js +0 -1
- package/dist/components/Controls/VirtualWall.js +0 -1
- package/dist/components/Heatmap/index.js +0 -1
- package/dist/components/Map/Carpet.js +0 -1
- package/dist/components/Map/Free.js +0 -1
- package/dist/components/Map/Obstacle.js +0 -1
- package/dist/components/Map/RoomFill.js +0 -1
- package/dist/components/Path/index.js +0 -1
- package/dist/components/Robot/SleepAnimation.js +0 -1
- package/dist/components/Robot/index.js +0 -1
- package/dist/components/RoomFloorType/index.js +0 -1
- package/dist/components/RoomInfo/RoomName.js +0 -1
- package/dist/components/RoomInfo/RoomProperty.js +0 -1
- package/dist/components/RoomInfo/RoomSelectionIndicator.js +0 -1
- package/dist/constant/config.js +0 -1
- package/dist/index.rjs.js +0 -1
- package/dist/managers/ControlsManager.js +0 -1
- package/dist/managers/CustomElementsManager.js +0 -1
- package/dist/managers/MapManager.js +0 -1
- package/dist/managers/PathManager.js +0 -1
- package/dist/managers/RoomManager.js +0 -1
- package/dist/utils/browser.js +0 -1
- package/dist-docs/assets/chunks/@localSearchIndexroot.C-cF3iZs.js +0 -1
- package/dist-docs/assets/reference_config.md.CRlb96P2.js +0 -55
- package/dist-docs/assets/reference_config.md.CRlb96P2.lean.js +0 -1
- /package/dist/{assets → rjs/src/core/assets}/carpet.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/chargingStation.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/checkmark.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/cleanMode0.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/cleanMode1.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/cleanMode2.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/cleanMode3.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/cleanTimes1.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/cleanTimes2.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/controlDelete.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/controlMove.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/controlRotate.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/controlScale.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/fan0.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/fan1.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/fan2.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/fan3.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/fan4.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/floorType1.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/floorType2.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/floorType3.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/robot.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/sleep.json.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/spot.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/water0.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/water1.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/water2.png.js +0 -0
- /package/dist/{assets → rjs/src/core/assets}/water3.png.js +0 -0
- /package/dist/{components → rjs/src/core/components}/Base/MoveControlButton.js +0 -0
- /package/dist/{components → rjs/src/core/components}/Base/RemoveControlButton.js +0 -0
- /package/dist/{components → rjs/src/core/components}/Base/RotateControlButton.js +0 -0
- /package/dist/{components → rjs/src/core/components}/Base/ScaleControlButton.js +0 -0
- /package/dist/{components → rjs/src/core/components}/ChargingStation/ChargingStationIcon.js +0 -0
- /package/dist/{components → rjs/src/core/components}/Controls/CleanZone.js +0 -0
- /package/dist/{components → rjs/src/core/components}/Controls/ForbiddenMopZone.js +0 -0
- /package/dist/{components → rjs/src/core/components}/Controls/ForbiddenSweepZone.js +0 -0
- /package/dist/{components → rjs/src/core/components}/CustomElements/CustomGif.js +0 -0
- /package/dist/{components → rjs/src/core/components}/CustomElements/CustomHTML.js +0 -0
- /package/dist/{components → rjs/src/core/components}/CustomElements/CustomImage.js +0 -0
- /package/dist/{components → rjs/src/core/components}/DetectedObject/index.js +0 -0
- /package/dist/{components → rjs/src/core/components}/Robot/RobotIcon.js +0 -0
- /package/dist/{components → rjs/src/core/components}/RoomInfo/index.js +0 -0
- /package/dist/{constant → rjs/src/core/constant}/index.js +0 -0
- /package/dist/{managers → rjs/src/core/managers}/DetectedObjectManager.js +0 -0
- /package/dist/{managers → rjs/src/core/managers}/HeatmapManager.js +0 -0
- /package/dist/{mixins → rjs/src/core/mixins}/ClickHandler.js +0 -0
- /package/dist/{utils → rjs/src/core/utils}/algorithm.js +0 -0
- /package/dist/{utils → rjs/src/core/utils}/logger.js +0 -0
- /package/dist-docs/assets/{guide_getting-started.md.zACqR2O5.lean.js → guide_getting-started.md.FCeGzF_5.lean.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{UPDATE_PRIORITY as t}from"./const.js";import{TickerListener as e}from"./TickerListener.js";const s=class s{constructor(){this.autoStart=!1,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=!1,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=!1,this._lastFrame=-1,this._head=new e(null,null,1/0),this.deltaMS=1/s.targetFPMS,this.elapsedMS=1/s.targetFPMS,this._tick=t=>{this._requestId=null,this.started&&(this.update(t),this.started&&null===this._requestId&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)))}}_requestIfNeeded(){null===this._requestId&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))}_cancelIfNeeded(){null!==this._requestId&&(cancelAnimationFrame(this._requestId),this._requestId=null)}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start()}add(s,i,a=t.NORMAL){return this._addListener(new e(s,i,a))}addOnce(s,i,a=t.NORMAL){return this._addListener(new e(s,i,a,!0))}_addListener(t){let e=this._head.next,s=this._head;if(e){for(;e;){if(t.priority>e.priority){t.connect(s);break}s=e,e=e.next}t.previous||t.connect(s)}else t.connect(s);return this._startIfPossible(),this}remove(t,e){let s=this._head.next;for(;s;)s=s.match(t,e)?s.destroy():s.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let t=0,e=this._head;for(;e=e.next;)t++;return t}start(){this.started||(this.started=!0,this._requestIfNeeded())}stop(){this.started&&(this.started=!1,this._cancelIfNeeded())}destroy(){if(!this._protected){this.stop();let t=this._head.next;for(;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}}update(t=performance.now()){let e;if(t>this.lastTime){if(e=this.elapsedMS=t-this.lastTime,e>this._maxElapsedMS&&(e=this._maxElapsedMS),e*=this.speed,this._minElapsedMS){const e=t-this._lastFrame|0;if(e<this._minElapsedMS)return;this._lastFrame=t-e%this._minElapsedMS}this.deltaMS=e,this.deltaTime=this.deltaMS*s.targetFPMS;const i=this._head;let a=i.next;for(;a;)a=a.emit(this);i.next||this._cancelIfNeeded()}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=t}get FPS(){return 1e3/this.elapsedMS}get minFPS(){return 1e3/this._maxElapsedMS}set minFPS(t){const e=Math.min(this.maxFPS,t),i=Math.min(Math.max(0,e)/1e3,s.targetFPMS);this._maxElapsedMS=1/i}get maxFPS(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0}set maxFPS(t){if(0===t)this._minElapsedMS=0;else{const e=Math.max(this.minFPS,t);this._minElapsedMS=1/(e/1e3)}}static get shared(){if(!s._shared){const t=s._shared=new s;t.autoStart=!0,t._protected=!0}return s._shared}static get system(){if(!s._system){const t=s._system=new s;t.autoStart=!0,t._protected=!0}return s._system}};s.targetFPMS=.06;let i=s;export{i as Ticker};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class t{constructor(t,s=null,i=0,n=!1){this.next=null,this.previous=null,this._destroyed=!1,this._fn=t,this._context=s,this.priority=i,this._once=n}match(t,s=null){return this._fn===t&&this._context===s}emit(t){this._fn&&(this._context?this._fn.call(this._context,t):this._fn(t));const s=this.next;return this._once&&this.destroy(!0),this._destroyed&&(this.next=null),s}connect(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this}destroy(t=!1){this._destroyed=!0,this._fn=null,this._context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);const s=this.next;return this.next=t?null:s,this.previous=null,s}}export{t as TickerListener};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var I=(I=>(I[I.INTERACTION=50]="INTERACTION",I[I.HIGH=25]="HIGH",I[I.NORMAL=0]="NORMAL",I[I.LOW=-25]="LOW",I[I.UTILITY=-50]="UTILITY",I))(I||{});export{I as UPDATE_PRIORITY};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
async function A(){return t??(t=(async()=>{const A=e.get().createCanvas(1,1).getContext("webgl");if(!A)return"premultiply-alpha-on-upload";const t=await new Promise(A=>{const e=document.createElement("video");e.onloadeddata=()=>A(e),e.onerror=()=>A(null),e.autoplay=!1,e.crossOrigin="anonymous",e.preload="auto",e.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",e.load()});if(!t)return"premultiply-alpha-on-upload";const r=A.createTexture();A.bindTexture(A.TEXTURE_2D,r);const E=A.createFramebuffer();A.bindFramebuffer(A.FRAMEBUFFER,E),A.framebufferTexture2D(A.FRAMEBUFFER,A.COLOR_ATTACHMENT0,A.TEXTURE_2D,r,0),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,A.NONE),A.texImage2D(A.TEXTURE_2D,0,A.RGBA,A.RGBA,A.UNSIGNED_BYTE,t);const a=new Uint8Array(4);return A.readPixels(0,0,1,1,A.RGBA,A.UNSIGNED_BYTE,a),A.deleteFramebuffer(E),A.deleteTexture(r),A.getExtension("WEBGL_lose_context")?.loseContext(),a[0]<=a[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),t}import{DOMAdapter as e}from"../../environment/adapter.js";let t;export{A as detectVideoAlphaMode};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import o from"../../../../ismobilejs/esm/isMobile.js";const i=(o.default??o)(globalThis.navigator);export{i as isMobile};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(){const{userAgent:t}=r.get().getNavigator();return/^((?!chrome|android).)*safari/i.test(t)}import{DOMAdapter as r}from"../../environment/adapter.js";export{t as isSafari};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return void 0!==n||(n=(()=>{const n={stencil:!0,failIfMajorPerformanceCaveat:e??r.defaultOptions.failIfMajorPerformanceCaveat};try{if(!t.get().getWebGLRenderingContext())return!1;let e=t.get().createCanvas().getContext("webgl",n);const r=!!e?.getContextAttributes()?.stencil;if(e){const t=e.getExtension("WEBGL_lose_context");t&&t.loseContext()}return e=null,r}catch(e){return!1}})()),n}import{DOMAdapter as t}from"../../environment/adapter.js";import{AbstractRenderer as r}from"../../rendering/renderers/shared/system/AbstractRenderer.js";let n;export{e as isWebGLSupported};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
async function t(t={}){return void 0!==r||(r=await(async()=>{const r=e.get().getNavigator().gpu;if(!r)return!1;try{const e=await r.requestAdapter(t);return await e.requestDevice(),!0}catch(t){return!1}})()),r}import{DOMAdapter as e}from"../../environment/adapter.js";let r;export{t as isWebGPUSupported};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a(){if("boolean"==typeof r)return r;try{const a=new Function("param1","param2","param3","return param1[param2] === param3;");r=!0===a({a:"b"},"a","b")}catch(a){r=!1}return r}let r;export{a as unsafeEvalSupported};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t,e,o){for(let r=0,n=4*o*e;r<e;++r,n+=4)if(0!==t[n+3])return!1;return!0}function e(t,e,o,r,n){const a=4*e;for(let e=r,i=r*a+4*o;e<=n;++e,i+=a)if(0!==t[i+3])return!1;return!0}function o(...o){let s=o[0];s.canvas||(s={canvas:o[0],resolution:o[1]});const{canvas:c}=s,h=Math.min(s.resolution??1,1),p=s.width??c.width,u=s.height??c.height;let f=s.output;if(function(t,e){i||(i=r.get().createCanvas(256,128),l=i.getContext("2d",{willReadFrequently:!0}),l.globalCompositeOperation="copy",l.globalAlpha=1),(i.width<t||i.height<e)&&(i.width=n(t),i.height=n(e))}(p,u),!l)throw new TypeError("Failed to get canvas 2D context");l.drawImage(c,0,0,p,u,0,0,p*h,u*h);const m=l.getImageData(0,0,p,u).data;let g=0,d=0,w=p-1,v=u-1;for(;d<u&&t(m,p,d);)++d;if(d===u)return a.EMPTY;for(;t(m,p,v);)--v;for(;e(m,p,g,d,v);)++g;for(;e(m,p,w,d,v);)--w;return++w,++v,l.globalCompositeOperation="source-over",l.strokeRect(g,d,w-g,v-d),l.globalCompositeOperation="copy",f??(f=new a),f.set(g/h,d/h,(w-g)/h,(v-d)/h),f}import{DOMAdapter as r}from"../../environment/adapter.js";import{nextPow2 as n}from"../../maths/misc/pow2.js";import{Rectangle as a}from"../../maths/shapes/Rectangle.js";let i=null,l=null;export{o as getCanvasBoundingBox};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{default as t}from"../../../../_virtual/index5.js";const e="8.14.0";export{t as EventEmitter,e as VERSION};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class t{constructor(t){"number"==typeof t?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData),this.size=this.rawBinaryData.byteLength}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}get float64View(){return this._float64Array||(this._float64Array=new Float64Array(this.rawBinaryData)),this._float64Array}get bigUint64View(){return this._bigUint64Array||(this._bigUint64Array=new BigUint64Array(this.rawBinaryData)),this._bigUint64Array}view(t){return this[`${t}View`]}destroy(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this.uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null}static sizeOf(t){switch(t){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw new Error(`${t} isn't a valid view type`)}}}export{t as ViewableBuffer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function n(n){let t=!1;for(const e in n)if(null==n[e]){t=!0;break}if(!t)return n;const e=Object.create(null);for(const t in n){const r=n[t];r&&(e[t]=r)}return e}function t(n){let t=0;for(let e=0;e<n.length;e++)null==n[e]?t++:n[e-t]=n[e];return n.length-=t,n}export{t as cleanArray,n as cleanHash};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t,n,e){const o=t.length;let r;if(n>=o||0===e)return;const c=o-(e=n+e>o?o-n:e);for(r=n;r<c;++r)t[r]=t[r+e];t.length=c}export{t as removeItems};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t="default"){return void 0===e[t]&&(e[t]=-1),++e[t]}const e={default:-1};export{t as uid};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function i(i,m,n){const{width:t,height:x}=n.orig,h=n.trim;if(h){const n=h.width,X=h.height;i.minX=h.x-m._x*t,i.maxX=i.minX+n,i.minY=h.y-m._y*x,i.maxY=i.minY+X}else i.minX=-m._x*t,i.maxX=i.minX+t,i.minY=-m._y*x,i.maxY=i.minY+x}export{i as updateQuadBounds};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ExtensionType as t}from"../../extensions/Extensions.js";import{VERSION as s}from"../const.js";class e{static init(){globalThis.__PIXI_APP_INIT__?.(this,s)}static destroy(){}}e.extension=t.Application;class i{constructor(t){this._renderer=t}init(){globalThis.__PIXI_RENDERER_INIT__?.(this._renderer,s)}destroy(){this._renderer=null}}i.extension={type:[t.WebGLSystem,t.WebGPUSystem],name:"initHook",priority:-10};export{e as ApplicationInitHook,i as RendererInitHook};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=new Set,o="8.0.0",n="8.3.4",t={quiet:!1,noColor:!1},r=(o,n,r=3)=>{if(t.quiet||e.has(n))return;let i=(new Error).stack;"function"==typeof console.groupCollapsed&&t.noColor,void 0===i||(i=i.split("\n").splice(r).join("\n")),e.add(n)};Object.defineProperties(r,{quiet:{get:()=>t.quiet,set:e=>{t.quiet=e},enumerable:!0,configurable:!1},noColor:{get:()=>t.noColor,set:e=>{t.noColor=e},enumerable:!0,configurable:!1}});export{r as deprecation,o as v8_0_0,n as v8_3_4};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(...t){500!==e&&e++}let e=0;export{t as warn};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o=()=>{};export{o as NOOP};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Matrix as t}from"../../maths/matrix/Matrix.js";import{ObservablePoint as i}from"../../maths/point/ObservablePoint.js";class s{constructor({matrix:s,observer:h}={}){this.dirty=!0,this._matrix=s??new t,this.observer=h,this.position=new i(this,0,0),this.scale=new i(this,1,1),this.pivot=new i(this,0,0),this.skew=new i(this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1}get matrix(){const t=this._matrix;return this.dirty?(t.a=this._cx*this.scale.x,t.b=this._sx*this.scale.x,t.c=this._cy*this.scale.y,t.d=this._sy*this.scale.y,t.tx=this.position.x-(this.pivot.x*t.a+this.pivot.y*t.c),t.ty=this.position.y-(this.pivot.x*t.b+this.pivot.y*t.d),this.dirty=!1,t):t}_onUpdate(t){this.dirty=!0,t===this.skew&&this.updateSkew(),this.observer?._onUpdate(this)}updateSkew(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this.dirty=!0}toString(){return`[pixi.js/math:Transform position=(${this.position.x}, ${this.position.y}) rotation=${this.rotation} scale=(${this.scale.x}, ${this.scale.y}) skew=(${this.skew.x}, ${this.skew.y}) ]`}setFromMatrix(t){t.decompose(this),this.dirty=!0}get rotation(){return this._rotation}set rotation(t){this._rotation!==t&&(this._rotation=t,this._onUpdate(this.skew))}}export{s as Transform};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,o=1){const s=r.RETINA_PREFIX?.exec(e);return s?parseFloat(s[1]):o}import{Resolver as r}from"../../assets/resolver/Resolver.js";export{e as getResolutionOfUrl};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t){if("string"!=typeof t)throw new TypeError(`Path must be a string. Received ${JSON.stringify(t)}`)}function e(t){return t.split("?")[0].split("#")[0]}import{DOMAdapter as s}from"../environment/adapter.js";const i={toPosix:t=>t.replace(new RegExp("\\".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),"/"),isUrl(t){return/^https?:/.test(this.toPosix(t))},isDataUrl:t=>/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(t),isBlobUrl:t=>t.startsWith("blob:"),hasProtocol(t){return/^[^/:]+:/.test(this.toPosix(t))},getProtocol(e){t(e),e=this.toPosix(e);const s=/^file:\/\/\//.exec(e);if(s)return s[0];const i=/^[^/:]+:\/{0,2}/.exec(e);return i?i[0]:""},toAbsolute(o,r,n){if(t(o),this.isDataUrl(o)||this.isBlobUrl(o))return o;const l=e(this.toPosix(r??s.get().getBaseUrl())),h=e(this.toPosix(n??this.rootname(l)));return(o=this.toPosix(o)).startsWith("/")?i.join(h,o.slice(1)):this.isAbsolute(o)?o:this.join(l,o)},normalize(e){if(t(e),0===e.length)return".";if(this.isDataUrl(e)||this.isBlobUrl(e))return e;let s="";const i=(e=this.toPosix(e)).startsWith("/");this.hasProtocol(e)&&(s=this.rootname(e),e=e.slice(s.length));const o=e.endsWith("/");return(e=function(t){let e="",s=0,i=-1,o=0,r=-1;for(let n=0;n<=t.length;++n){if(n<t.length)r=t.charCodeAt(n);else{if(47===r)break;r=47}if(47===r){if(i===n-1||1===o);else if(i!==n-1&&2===o){if(e.length<2||2!==s||46!==e.charCodeAt(e.length-1)||46!==e.charCodeAt(e.length-2))if(e.length>2){const t=e.lastIndexOf("/");if(t!==e.length-1){-1===t?(e="",s=0):(e=e.slice(0,t),s=e.length-1-e.lastIndexOf("/")),i=n,o=0;continue}}else if(2===e.length||1===e.length){e="",s=0,i=n,o=0;continue}}else e.length>0?e+=`/${t.slice(i+1,n)}`:e=t.slice(i+1,n),s=n-i-1;i=n,o=0}else 46===r&&-1!==o?++o:o=-1}return e}(e)).length>0&&o&&(e+="/"),i?`/${e}`:s+e},isAbsolute(e){return t(e),e=this.toPosix(e),!!this.hasProtocol(e)||e.startsWith("/")},join(...e){if(0===e.length)return".";let s;for(let i=0;i<e.length;++i){const o=e[i];if(t(o),o.length>0)if(void 0===s)s=o;else{const t=e[i-1]??"";this.joinExtensions.includes(this.extname(t).toLowerCase())?s+=`/../${o}`:s+=`/${o}`}}return void 0===s?".":this.normalize(s)},dirname(e){if(t(e),0===e.length)return".";let s=(e=this.toPosix(e)).charCodeAt(0);const i=47===s;let o=-1,r=!0;const n=this.getProtocol(e),l=e;for(let t=(e=e.slice(n.length)).length-1;t>=1;--t)if(s=e.charCodeAt(t),47===s){if(!r){o=t;break}}else r=!1;return-1===o?i?"/":this.isUrl(l)?n+e:n:i&&1===o?"//":n+e.slice(0,o)},rootname(e){t(e);let s="";if(s=(e=this.toPosix(e)).startsWith("/")?"/":this.getProtocol(e),this.isUrl(e)){const t=e.indexOf("/",s.length);s=-1!==t?e.slice(0,t):e,s.endsWith("/")||(s+="/")}return s},basename(s,i){t(s),i&&t(i),s=e(this.toPosix(s));let o,r=0,n=-1,l=!0;if(void 0!==i&&i.length>0&&i.length<=s.length){if(i.length===s.length&&i===s)return"";let t=i.length-1,e=-1;for(o=s.length-1;o>=0;--o){const h=s.charCodeAt(o);if(47===h){if(!l){r=o+1;break}}else-1===e&&(l=!1,e=o+1),t>=0&&(h===i.charCodeAt(t)?-1===--t&&(n=o):(t=-1,n=e))}return r===n?n=e:-1===n&&(n=s.length),s.slice(r,n)}for(o=s.length-1;o>=0;--o)if(47===s.charCodeAt(o)){if(!l){r=o+1;break}}else-1===n&&(l=!1,n=o+1);return-1===n?"":s.slice(r,n)},extname(s){t(s);let i=-1,o=0,r=-1,n=!0,l=0;for(let t=(s=e(this.toPosix(s))).length-1;t>=0;--t){const e=s.charCodeAt(t);if(47!==e)-1===r&&(n=!1,r=t+1),46===e?-1===i?i=t:1!==l&&(l=1):-1!==i&&(l=-1);else if(!n){o=t+1;break}}return-1===i||-1===r||0===l||1===l&&i===r-1&&i===o+1?"":s.slice(i,r)},parse(s){t(s);const i={root:"",dir:"",base:"",ext:"",name:""};if(0===s.length)return i;let o=(s=e(this.toPosix(s))).charCodeAt(0);const r=this.isAbsolute(s);let n;i.root=this.rootname(s),n=r||this.hasProtocol(s)?1:0;let l=-1,h=0,a=-1,c=!0,f=s.length-1,g=0;for(;f>=n;--f)if(o=s.charCodeAt(f),47!==o)-1===a&&(c=!1,a=f+1),46===o?-1===l?l=f:1!==g&&(g=1):-1!==l&&(g=-1);else if(!c){h=f+1;break}return-1===l||-1===a||0===g||1===g&&l===a-1&&l===h+1?-1!==a&&(i.base=i.name=0===h&&r?s.slice(1,a):s.slice(h,a)):(0===h&&r?(i.name=s.slice(1,l),i.base=s.slice(1,a)):(i.name=s.slice(h,l),i.base=s.slice(h,a)),i.ext=s.slice(l,a)),i.dir=this.dirname(s),i},sep:"/",delimiter:":",joinExtensions:[".html"]};export{i as path};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={_registeredResources:new Set,register(e){this._registeredResources.add(e)},unregister(e){this._registeredResources.delete(e)},release(){this._registeredResources.forEach(e=>e.clear())},get registeredCount(){return this._registeredResources.size},isRegistered(e){return this._registeredResources.has(e)},reset(){this._registeredResources.clear()}};export{e as GlobalResourceRegistry};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
class t{constructor(t,e){this._pool=[],this._count=0,this._index=0,this._classType=t,e&&this.prepopulate(e)}prepopulate(t){for(let e=0;e<t;e++)this._pool[this._index++]=new this._classType;this._count+=t}get(t){let e;return e=this._index>0?this._pool[--this._index]:new this._classType,e.init?.(t),e}return(t){t.reset?.(),this._pool[this._index++]=t}get totalSize(){return this._count}get totalFree(){return this._index}get totalUsed(){return this._count-this._index}clear(){if(this._pool.length>0&&this._pool[0].destroy)for(let t=0;t<this._index;t++)this._pool[t].destroy();this._pool.length=0,this._count=0,this._index=0}}export{t as Pool};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{GlobalResourceRegistry as s}from"./GlobalResourceRegistry.js";import{Pool as o}from"./Pool.js";class t{constructor(){this._poolsByClass=new Map}prepopulate(s,o){this.getPool(s).prepopulate(o)}get(s,o){return this.getPool(s).get(o)}return(s){this.getPool(s.constructor).return(s)}getPool(s){return this._poolsByClass.has(s)||this._poolsByClass.set(s,new o(s)),this._poolsByClass.get(s)}stats(){const s={};return this._poolsByClass.forEach(o=>{const t=s[o._classType.name]?o._classType.name+o._classType.ID:o._classType.name;s[t]={free:o.totalFree,used:o.totalUsed,size:o.totalSize}}),s}clear(){this._poolsByClass.forEach(s=>s.clear()),this._poolsByClass.clear()}}const e=new t;s.register(e);export{e as BigPool,t as PoolGroupClass};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function o(o){if(!c){if(n.get().getNavigator().userAgent.toLowerCase().indexOf("chrome")>-1){const n=[`%c %c %c %c %c PixiJS %c v${i} (${o}) http://www.pixijs.com/\n\n`,"background: #E72264; padding:5px 0;","background: #6CA2EA; padding:5px 0;","background: #B5D33D; padding:5px 0;","background: #FED23F; padding:5px 0;","color: #FFFFFF; background: #E72264; padding:5px 0;","color: #E72264; background: #FFFFFF; padding:5px 0;"];globalThis.console.log(...n)}else globalThis.console&&globalThis.console.log(`PixiJS ${i} - ${o} - http://www.pixijs.com/`);c=!0}}import{DOMAdapter as n}from"../environment/adapter.js";import{VERSION as i}from"./const.js";let c=!1;export{o as sayHello};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import t from"../../../earcut/src/earcut.js";import{default as r}from"../../../../_virtual/index5.js";const e=t.default||t;export{r as EventEmitter,e as earcut};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=Symbol(),e=Object.getPrototypeOf,o=new WeakMap,p=p=>(t=>t&&(o.has(t)?o.get(t):e(t)===Object.prototype||e(t)===Array.prototype))(p)&&p[t]||null,r=(t,e=!0)=>{o.set(t,e)};export{p as getUntracked,r as markToTrack};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t=1e3,i=0,e=!1){if(isNaN(t)||t<0)throw new TypeError("Invalid max value");if(isNaN(i)||i<0)throw new TypeError("Invalid ttl value");if("boolean"!=typeof e)throw new TypeError("Invalid resetTtl value");return new s(t,i,e)}class s{constructor(t=0,s=0,i=!1){this.first=null,this.items=Object.create(null),this.last=null,this.max=t,this.resetTtl=i,this.size=0,this.ttl=s}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(t){if(this.has(t)){const s=this.items[t];delete this.items[t],this.size--,null!==s.prev&&(s.prev.next=s.next),null!==s.next&&(s.next.prev=s.prev),this.first===s&&(this.first=s.next),this.last===s&&(this.last=s.prev)}return this}entries(t=this.keys()){return t.map(t=>[t,this.get(t)])}evict(t=!1){if(t||this.size>0){const t=this.first;delete this.items[t.key],0===--this.size?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}return this}expiresAt(t){let s;return this.has(t)&&(s=this.items[t].expiry),s}get(t){const s=this.items[t];if(void 0!==s)return this.ttl>0&&s.expiry<=Date.now()?void this.delete(t):(this.moveToEnd(s),s.value)}has(t){return t in this.items}moveToEnd(t){this.last!==t&&(null!==t.prev&&(t.prev.next=t.next),null!==t.next&&(t.next.prev=t.prev),this.first===t&&(this.first=t.next),t.prev=this.last,t.next=null,null!==this.last&&(this.last.next=t),this.last=t,null===this.first&&(this.first=t))}keys(){const t=[];let s=this.first;for(;null!==s;)t.push(s.key),s=s.next;return t}setWithEvicted(t,s,i=this.resetTtl){let e=null;if(this.has(t))this.set(t,s,!0,i);else{this.max>0&&this.size===this.max&&(e={...this.first},this.evict(!0));let i=this.items[t]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:s};1===++this.size?this.first=i:this.last.next=i,this.last=i}return e}set(t,s,i=!1,e=this.resetTtl){let h=this.items[t];return i||void 0!==h?(h.value=s,!1===i&&e&&(h.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.moveToEnd(h)):(this.max>0&&this.size===this.max&&this.evict(!0),h=this.items[t]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:s},1===++this.size?this.first=h:this.last.next=h,this.last=h),this}values(t=this.keys()){return t.map(t=>this.get(t))}}export{s as LRU,t as lru};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e){var f={};for(var a in e)e.hasOwnProperty(a)&&(f[e[a]]=a)}({aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t,o,r,e){let i=t[o];return n(t,()=>{const n=t[o];Object.is(i,n)||r(i=n)})}import{subscribe as n}from"../vanilla.js";export{t as subscribeKey};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e={}){if(!c(e))throw new Error("object required");const t=u.get(e);if(t)return t;let r=p[0];const n=new Set,o=(e,t=++p[0])=>{r!==t&&(a=r=t,n.forEach(r=>r(e,t)))};let a=r;const l=e=>(t,r)=>{const n=[...t];n[1]=[e,...n[1]],o(n,r)},y=new Map;let h=!0;const g=w(()=>h,(e,t)=>{const r=!f.has(t)&&i.get(t);if(r){if("production"!==(s?"core":void 0)&&y.has(e))throw new Error("prop listener already exists");if(n.size){const t=r[2](l(e));y.set(e,[r,t])}else y.set(e,[r])}},e=>{var t;const r=y.get(e);r&&(y.delete(e),null==(t=r[1])||t.call(r))},o),b=d(e,g);u.set(e,b);const v=[e,(e=p[0])=>(a!==e&&(a=e,y.forEach(([t])=>{const n=t[1](e);n>r&&(r=n)})),r),e=>(n.add(e),1===n.size&&y.forEach(([e,t],r)=>{if("production"!==(s?"core":void 0)&&t)throw new Error("remove already exists");const n=e[2](l(r));y.set(r,[e,n])}),()=>{n.delete(e),0===n.size&&y.forEach(([e,t],r)=>{t&&(t(),y.set(r,[e]))})})];return i.set(b,v),Reflect.ownKeys(e).forEach(t=>{const r=Object.getOwnPropertyDescriptor(e,t);"value"in r&&r.writable&&(b[t]=e[t])}),h=!1,b}function t(e,t,r){const n=i.get(e);let o;const s=[],c=n[2];let a=!1;const f=c(e=>{s.push(e),o||(o=Promise.resolve().then(()=>{o=void 0,a&&t(s.splice(0))}))});return a=!0,()=>{a=!1,f()}}function r(e){const t=i.get(e),[r,n]=t;return h(r,n())}import{getUntracked as n,markToTrack as o}from"../../proxy-compare/dist/index.js";const s={},c=e=>"object"==typeof e&&null!==e,a=(e,t)=>{const r=l.get(e);if((null==r?void 0:r[0])===t)return r[1];const n=Array.isArray(e)?[]:Object.create(Object.getPrototypeOf(e));return o(n,!0),l.set(e,[t,n]),Reflect.ownKeys(e).forEach(t=>{if(Object.getOwnPropertyDescriptor(n,t))return;const r=Reflect.get(e,t),{enumerable:s}=Reflect.getOwnPropertyDescriptor(e,t),c={value:r,enumerable:s,configurable:!0};if(f.has(r))o(r,!1);else if(i.has(r)){const[e,t]=i.get(r);c.value=a(e,t())}Object.defineProperty(n,t,c)}),Object.preventExtensions(n)},i=new WeakMap,f=new WeakSet,l=new WeakMap,p=[1],u=new WeakMap;let y=Object.is,d=(e,t)=>new Proxy(e,t),h=a,w=(t,r,o,s)=>({deleteProperty(e,t){const r=Reflect.get(e,t);o(t);const n=Reflect.deleteProperty(e,t);return n&&s(["delete",[t],r]),n},set(a,l,p,d){const h=!t()&&Reflect.has(a,l),w=Reflect.get(a,l,d);if(h&&(y(w,p)||u.has(p)&&y(w,u.get(p))))return!0;o(l),c(p)&&(p=n(p)||p);const g=i.has(p)||!c(b=p)||f.has(b)||!Array.isArray(b)&&Symbol.iterator in b||b instanceof WeakMap||b instanceof WeakSet||b instanceof Error||b instanceof Number||b instanceof Date||b instanceof String||b instanceof RegExp||b instanceof ArrayBuffer||b instanceof Promise?p:e(p);var b;return r(l,g),Reflect.set(a,l,g,d),s(["set",[l],p,w]),!0}});export{e as proxy,r as snapshot,t as subscribe};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Logger as e}from"../utils/logger.js";import"../../../node_modules/pixi.js/lib/index.js";import{Container as t}from"../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as r}from"./AppService.js";const i="interaction",o="roomFill",s="free",n="roomFloorType",a="carpet",l="obstacle",d="heatmap",c="path",h="controls",p="roomInfo",m="detectedObject",u="customElement",y="customElementGif",g="chargingStation",b="robot",v=[i,o,s,n,a,l,d,c,p,m,u,y,g,b,h];class L extends t{layers=new Map;constructor(){super();const e=r().getApp().getViewportBounds();this.position.set(Math.round(e.width/2),Math.round(e.height/2)),this.initializeLayers()}initializeLayers(){Object.values(v).forEach(e=>{const r=new t;r.label=e,e===h&&(r.isRenderGroup=!0),e!==n&&e!==a||(r.eventMode="none"),this.layers.set(e,r),this.addChild(r)})}getLayer(e){return this.layers.get(e)}addToLayer(t,r,i){const o=this.layers.get(t);return o?(void 0!==i&&(r.zIndex=i),o.addChild(r),!0):(e.warn("[AppContainer Debug] Layer not found:",t),!1)}removeFromLayer(e,t){const r=this.layers.get(e);return!!r&&t.parent===r&&(r.removeChild(t),!0)}clearLayer(e){const t=this.layers.get(e);return!!t&&(t.removeChildren(),!0)}setLayerVisibility(e,t){const r=this.layers.get(e);return!!r&&(r.visible=t,!0)}getLayerVisibility(e){const t=this.layers.get(e);return!!t&&t.visible}}export{L as AppContainer,v as LAYERS,a as LAYER_CARPET,g as LAYER_CHARGING_STATION,h as LAYER_CONTROLS,u as LAYER_CUSTOM_ELEMENT,y as LAYER_CUSTOM_ELEMENT_GIF,m as LAYER_DETECTED_OBJECT,s as LAYER_FREE,d as LAYER_HEATMAP,i as LAYER_INTERACTION,l as LAYER_OBSTACLE,c as LAYER_PATH,b as LAYER_ROBOT,o as LAYER_ROOM_FILL,n as LAYER_ROOM_FLOOR_TYPE,p as LAYER_ROOM_INFO};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(){return r.getService()}import{snapshot as e}from"../../../node_modules/valtio/esm/vanilla.js";import{MAIN_INSTANCE_KEY as n}from"../constant/index.js";class r{static contextStack=[];static instanceMap=new Map;static serviceCache=new WeakMap;static registerInstance(t,e){this.instanceMap.set(t,e)}static unregisterInstance(t){this.instanceMap.delete(t)}static getService(){const t=this.useContext();let e=this.serviceCache.get(t);return e||(e=new a,this.serviceCache.set(t,e)),e}static provide(t,e){this.contextStack.push(t);try{return e()}finally{this.contextStack.pop()}}static async provideAsync(t,e){this.contextStack.push(t);try{return await e()}finally{this.contextStack.pop()}}static useContext(){const t=this.contextStack[this.contextStack.length-1];if(!t){const t=this.instanceMap.get(n);if(!t)throw new Error("No MapApplication context found. Make sure you are calling useAppService() within a MapApplication context.");return t}return t}static hasContext(){return this.contextStack.length>0||this.instanceMap.has(n)}static clear(){this.contextStack.length=0,this.instanceMap.clear()}}class a{getApp(){return r.useContext()}getConfig(){return this.getApp().config}getRoomData(t){return this.getApp().managers.roomsManager.getRoomPropertyById(t)}metersToPixels(t){return this.getApp().metersToPixels(t)}pixelsToMeters(t){return this.getApp().pixelsToMeters(t)}get ticker(){return this.getApp().ticker}get mapState(){return this.getApp().mapState}get gloalConfig(){return this.getConfig().global}get mapConfig(){return this.getConfig().map}get roomConfig(){return this.getConfig().room}get heatMapConfig(){return this.getConfig().heatmap}get pathConfig(){return this.getConfig().path}get carpetConfig(){return this.getConfig().carpet}get robotConfig(){return this.getConfig().robot}get chargingStationConfig(){return this.getConfig().chargingStation}get interactionConfig(){return this.getConfig().interaction}get controlsConfig(){return this.getConfig().controls}get dividerConfig(){return this.getConfig().divider}get detectedObjectConfig(){return this.getConfig().detectedObject}get snapshotConfig(){return this.getConfig().snapshot}get appContainer(){return this.getApp().components.appContainer}get interaction(){return this.getApp().components.interaction}get viewportContainer(){return this.getApp().components.viewportContainer}get mapManager(){return this.getApp().managers.mapManager}get pathManager(){return this.getApp().managers.pathManager}get heatmapManager(){return this.getApp().managers.heatmapManager}get controlsManager(){return this.getApp().managers.controlsManager}get detectedObjectManager(){return this.getApp().managers.detectedObjectManager}get customElementsManager(){return this.getApp().managers.customElementsManager}get roomsManager(){return this.getApp().managers.roomsManager}get runtime(){return this.getApp().runtime}get runtimeSnapshot(){return e(this.getApp().runtime)}get events(){return this.getApp().events}get baseScale(){return this.getApp().components.interaction.targetScale.x}get currentScale(){return this.getApp().components.appContainer.scale.x}get emitter(){return this.getApp().emitter}}export{r as AppContext,t as useAppService};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../node_modules/pixi.js/lib/index.js";import{easeInOutCubic as t}from"../utils/index.js";import{getDistance as i}from"../utils/algorithm.js";import{Logger as e}from"../utils/logger.js";import{Container as s}from"../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as n}from"./AppService.js";import{Graphics as a}from"../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import o from"../../../node_modules/lodash-es/throttle.js";import h from"../../../node_modules/lodash-es/debounce.js";class r extends s{dragStart=null;initialTouchDistance=null;initialScale=null;activeTouches=new Map;firstTouchId=null;secondTouchId=null;zoomFactor=.8;scaleMin=.2;scaleMax=5;originalPosition={x:0,y:0};targetPosition={x:0,y:0};centerPosition={x:0,y:0};originalScale={x:1,y:1};targetScale={x:1,y:1};defaultScale={x:1,y:1};transitionDuration=500;transitionStartTime=null;initialPinchCenter=null;isGestureValid=!0;lastTapTime=0;doubleTapDelay=300;doubleTapZoomFactor=1.5;lastTapPosition=null;tapDistanceThreshold=20;tapDetectionEnabled=!0;isGestureHijacked=!1;hijackedPointerId=null;isHijackPaused=!1;interactionGraphics;viewportBounds;boundResetAnimation;debouncedStopWheelRender;interactionState={isInteracting:!1,isAnimating:!1,interactionTimer:null,renderReasons:new Set};throttledAntiScale;constructor(){super();const t=n().getApp();this.viewportBounds=t.getViewportBounds(),this.eventMode="static",this.interactionGraphics=new a,this.interactionGraphics.rect(0,0,this.viewportBounds.width,this.viewportBounds.height).fill({color:"#ffffff",alpha:0}),this.addChild(this.interactionGraphics),this.scaleMax=t.scaleMax,this.scaleMin=t.scaleMin,this.centerPosition={x:Math.round(this.viewportBounds.width/2),y:Math.round(this.viewportBounds.height/2)},this.originalPosition={x:Math.round(this.viewportBounds.width/2),y:Math.round(this.viewportBounds.height/2)},this.targetPosition={x:Math.round(this.viewportBounds.width/2),y:Math.round(this.viewportBounds.height/2)},this.throttledAntiScale=o(t=>{n().emitter.emit("antiScale",t)},16,{leading:!0,trailing:!0}),this.boundResetAnimation=this.resetAnimation.bind(this),this.debouncedStopWheelRender=h(()=>{t.stopRender("wheel")},300),this.setupInteraction()}setupInteraction(){this.on("pointerdown",t=>this.onPointerDown(t)),this.on("pointerup",t=>this.onPointerUp(t)),this.on("pointerupoutside",t=>this.onPointerUp(t)),this.on("pointermove",t=>this.onPointerMove(t)),this.on("wheel",t=>this.onWheel(t)),n().emitter.on("gestureHijackStart",this.handleGestureHijacked),document.addEventListener("pointercancel",()=>{this.clearTouches()})}resetPan(t){const i=n(),e=i.getApp(),s=i.appContainer;null!==this.transitionStartTime&&(e.ticker.remove(this.boundResetAnimation),this.transitionStartTime=null);const a=this.centerPosition.x-t.x*s.scale.x,o=this.centerPosition.y-t.y*s.scale.y;this.originalPosition={x:s.x,y:s.y},this.targetPosition={x:a,y:o},this.originalScale={x:s.scale.x,y:s.scale.y},this.targetScale={x:s.scale.x,y:s.scale.y};const h=(r=Math.sqrt((s.x-a)**2+(s.y-o)**2),Math.pow(Math.min(1,r/1e3),.5));var r;this.transitionDuration=500+1e3*Math.min(1,Math.pow(h,2)),this.transitionStartTime=e.ticker.lastTime,e.ticker.add(this.boundResetAnimation)}setPanZoom({targetPosition:t,targetScale:i,setCenter:s=!1,setScale:a=!1}={},o=!0){const h=n(),r=h.getApp(),l=h.appContainer;if(s&&t&&(this.centerPosition={x:t.x,y:t.y},e.debug("[Interaction] Set center position:",this.centerPosition)),a&&i&&(this.defaultScale={x:i.x,y:i.y},e.debug("[Interaction] Set scale:",this.defaultScale)),this.originalPosition={x:l.x,y:l.y},this.originalScale={x:l.scale.x,y:l.scale.y},this.targetPosition=t||{x:this.centerPosition.x,y:this.centerPosition.y},this.targetScale=i||this.defaultScale,!o)return l.position.set(this.targetPosition.x,this.targetPosition.y),l.scale.set(this.targetScale.x,this.targetScale.y),this.antiScale(this.targetScale.x),void(null!==this.transitionStartTime&&(r.ticker.remove(this.boundResetAnimation),this.transitionStartTime=null));var c,u,d;const p=.8*(c=Math.sqrt((l.x-this.targetPosition.x)**2+(l.y-this.targetPosition.y)**2),Math.pow(Math.min(1,c/1e3),.5))+.2*(u=l.scale.x,d=this.targetScale.x,Math.pow(Math.min(1,Math.abs(u-d)/Math.abs(-.8)),.5));this.transitionDuration=500+1e3*Math.min(1,Math.pow(p,2)),null!==this.transitionStartTime&&(r.ticker.remove(this.boundResetAnimation),this.interactionState.isAnimating=!1,r.stopRender("animation")),this.interactionState.isAnimating=!0,r.requestRender("animation",!0),this.transitionStartTime=r.ticker.lastTime,r.ticker.add(this.boundResetAnimation)}clearTouches(){const t=n().getApp();this.activeTouches.clear(),this.firstTouchId=null,this.secondTouchId=null,this.dragStart=null,this.initialTouchDistance=null,this.initialScale=null,this.initialPinchCenter=null,this.isGestureValid=!0,null!==this.transitionStartTime&&(t.ticker.remove(this.boundResetAnimation),this.transitionStartTime=null),this.interactionState.isInteracting=!1,t.stopRender("interaction")}checkEventListeners(){return{wheel:this.listenerCount("wheel"),pointerdown:this.listenerCount("pointerdown"),pointerup:this.listenerCount("pointerup"),pointerupoutside:this.listenerCount("pointerupoutside"),pointermove:this.listenerCount("pointermove")}}destroy(){this.checkEventListeners(),this.interactionState.interactionTimer&&clearTimeout(this.interactionState.interactionTimer),this.interactionState.renderReasons.clear(),this.interactionState.isInteracting=!1,this.interactionState.isAnimating=!1,this.debouncedStopWheelRender.cancel(),n().emitter.off("gestureHijackStart",this.handleGestureHijacked),super.destroy()}handleGestureHijacked=t=>{this.isGestureHijacked=!0,this.hijackedPointerId=t.pointerId,this.isHijackPaused=!1,this.clearTouches();const i=t.global.x-this.viewportBounds.x,e=t.global.y-this.viewportBounds.y;this.activeTouches.set(t.pointerId,{x:i,y:e}),this.firstTouchId=t.pointerId,this.dragStart={x:i,y:e}};exitGestureHijacked(){null===this.hijackedPointerId||this.isHijackPaused||(this.activeTouches.delete(this.hijackedPointerId),this.firstTouchId===this.hijackedPointerId&&(this.firstTouchId=null,this.dragStart=null),this.secondTouchId===this.hijackedPointerId&&(this.secondTouchId=null)),this.isGestureHijacked=!1,this.hijackedPointerId=null,this.isHijackPaused=!1}pauseGestureHijack(){this.isHijackPaused=!0}resumeGestureHijack(){this.isHijackPaused=!1}antiScale(t){this.throttledAntiScale(t)}resetAnimation(){const i=n(),e=i.getApp(),s=i.appContainer;if(null===this.transitionStartTime)return;const{targetPosition:a,targetScale:o}=this,h=e.ticker.lastTime,r=Math.min(1,(h-this.transitionStartTime)/this.transitionDuration);if(r>=1)s.position.set(a.x,a.y),s.scale.set(o.x,o.y),this.antiScale(o.x),e.ticker.remove(this.boundResetAnimation),this.transitionStartTime=null,this.interactionState.isAnimating=!1,e.stopRender("animation");else{const i=t(r),e=this.originalPosition.x+(a.x-this.originalPosition.x)*i,n=this.originalPosition.y+(a.y-this.originalPosition.y)*i,h=this.originalScale.x+(o.x-this.originalScale.x)*i,l=this.originalScale.y+(o.y-this.originalScale.y)*i;s.position.set(e,n),s.scale.set(h,l),this.antiScale(h)}}onWheel(t){const i=n();if(this.isGestureHijacked)return void e.warn("⚠️ [onWheel] 被手势劫持阻止执行",{isGestureHijacked:this.isGestureHijacked,hijackedPointerId:this.hijackedPointerId,isHijackPaused:this.isHijackPaused});i.getApp().requestRender("wheel",!0),this.debouncedStopWheelRender();const{scaleMin:s,scaleMax:a}=this,o=i.appContainer;t.preventDefault();const h=t.global.x-this.viewportBounds.x,r=t.global.y-this.viewportBounds.y,l=(h-o.x)/o.scale.x,c=(r-o.y)/o.scale.y,u=t.deltaY>0?.95:1.05;let d=o.scale.x*u,p=o.scale.y*u;if(d=Math.max(s,Math.min(a,d)),p=Math.max(s,Math.min(a,p)),d===o.scale.x&&p===o.scale.y)return;const m=h-l*d,x=r-c*p;try{o.scale.set(d,p),o.position.set(m,x),this.antiScale(d)}catch(t){e.error("❌ [onWheel] 应用缩放时发生错误:",t)}}onPointerDown(t){const i=n();this.interactionState.isInteracting=!0,i.getApp().requestRender("interaction",!0),this.isGestureHijacked&&(t.pointerId===this.hijackedPointerId||this.isHijackPaused||this.pauseGestureHijack());const e=i.getApp(),s=i.appContainer;null!==this.transitionStartTime&&(e.ticker.remove(this.boundResetAnimation),this.transitionStartTime=null),this.activeTouches.has(t.pointerId-2)&&this.activeTouches.delete(t.pointerId-2),0===this.activeTouches.size&&(this.isGestureValid=!0,this.initialTouchDistance=null,this.initialScale=null,this.initialPinchCenter=null,this.dragStart=null,this.firstTouchId=null,this.secondTouchId=null),this.activeTouches.has(t.pointerId)&&1===this.activeTouches.size&&(this.isGestureValid=!0);const a=t.global.x-this.viewportBounds.x,o=t.global.y-this.viewportBounds.y;if(this.activeTouches.set(t.pointerId,{x:a,y:o}),1===this.activeTouches.size)this.firstTouchId=t.pointerId,this.dragStart={x:a,y:o};else if(2===this.activeTouches.size){const i=Array.from(this.activeTouches.keys());this.secondTouchId=i.find(t=>t!==this.firstTouchId)||t.pointerId,this.setInitialScaleAndDistance(s),this.tapDetectionEnabled=!1}}onPointerUp(t){const i=n();if(this.isGestureHijacked){if(t.pointerId===this.hijackedPointerId)return i.emitter.emit("gestureHijackPointerUp",t),void this.exitGestureHijacked();this.isHijackPaused}if(!this.activeTouches.has(t.pointerId))return;const e=null!==this.initialTouchDistance&&null!==this.initialScale;this.activeTouches.delete(t.pointerId),e&&1===this.activeTouches.size&&(this.isGestureValid=!1,this.initialTouchDistance=null,this.initialScale=null,this.initialPinchCenter=null),t.pointerId===this.firstTouchId?(this.firstTouchId=null,this.dragStart=null,0===this.activeTouches.size&&this.tapDetectionEnabled&&this.detectDoubleTap(t)):t.pointerId===this.secondTouchId&&(this.secondTouchId=null),this.isGestureHijacked&&this.isHijackPaused&&1===this.activeTouches.size&&Array.from(this.activeTouches.keys())[0]===this.hijackedPointerId&&this.resumeGestureHijack(),0===this.activeTouches.size&&(this.isGestureValid=!0,this.initialTouchDistance=null,this.initialScale=null,this.initialPinchCenter=null,this.firstTouchId=null,this.secondTouchId=null,this.dragStart=null,this.tapDetectionEnabled=!0,this.interactionState.isInteracting=!1,i.getApp().stopRender("interaction"))}detectDoubleTap(t){const e=n(),{interactionConfig:s}=e;if(!s.enableDoubleTapZoom)return;const a=performance.now(),o={x:t.global.x-this.viewportBounds.x,y:t.global.y-this.viewportBounds.y};a-this.lastTapTime<this.doubleTapDelay&&this.lastTapPosition&&i(o,this.lastTapPosition)<this.tapDistanceThreshold?(this.handleDoubleTap(o),this.lastTapTime=0,this.lastTapPosition=null):(this.lastTapTime=a,this.lastTapPosition=o)}handleDoubleTap(t){const i=n(),e=i.getApp(),s=i.appContainer,{scaleMin:a,scaleMax:o,doubleTapZoomFactor:h}=this,r=t.x,l=t.y,c=(r-s.x)/s.scale.x,u=(l-s.y)/s.scale.y;let d=s.scale.x*h,p=s.scale.y*h;d=Math.max(a,Math.min(o,d)),p=Math.max(a,Math.min(o,p)),this.originalPosition={x:s.x,y:s.y},this.originalScale={x:s.scale.x,y:s.scale.y};const m=r-c*d,x=l-u*p;this.targetPosition={x:m,y:x},this.targetScale={x:d,y:p},this.interactionState.isAnimating=!0,e.requestRender("animation",!0),this.transitionDuration=300,this.transitionStartTime=e.ticker.lastTime,e.ticker.add(this.boundResetAnimation)}onPointerMove(t){if(this.isGestureHijacked&&!this.isHijackPaused){if(t.pointerId===this.hijackedPointerId){const i=t.global.x-this.viewportBounds.x,e=t.global.y-this.viewportBounds.y;return this.activeTouches.set(t.pointerId,{x:i,y:e}),void n().emitter.emit("gestureHijackPointerMove",t)}return}if(!this.activeTouches.has(t.pointerId)||!this.isGestureValid)return;const i=t.global.x-this.viewportBounds.x,e=t.global.y-this.viewportBounds.y;this.activeTouches.set(t.pointerId,{x:i,y:e}),2===this.activeTouches.size&&null!==this.initialTouchDistance&&null!==this.initialScale&&this.applyPinchZoom(),1!==this.activeTouches.size||null===this.initialTouchDistance&&null===this.initialScale||(this.initialTouchDistance=null,this.initialScale=null,this.initialPinchCenter=null,this.secondTouchId=null),1===this.activeTouches.size&&t.pointerId===this.firstTouchId&&null!==this.dragStart&&this.applyPan(t)}applyPan(t){const i=n(),e=this.activeTouches.get(t.pointerId),s=i.appContainer,{x:a,y:o}=this.dragStart;s.position.set(s.x+e.x-a,s.y+e.y-o),this.dragStart={x:e.x,y:e.y}}applyPinchZoom(){const t=n().appContainer,e=Array.from(this.activeTouches.values());if(e.length<2||!this.initialTouchDistance||!this.initialScale||!this.initialPinchCenter)return;const s=i(e[0],e[1]),a={x:(e[0].x+e[1].x)/2,y:(e[0].y+e[1].y)/2},o=(a.x-t.position.x)/t.scale.x,h=(a.y-t.position.y)/t.scale.y,r=(s/this.initialTouchDistance)**this.zoomFactor,l=Math.max(this.scaleMin,Math.min(this.scaleMax,this.initialScale.x*r)),c=Math.max(this.scaleMin,Math.min(this.scaleMax,this.initialScale.y*r));t.scale.set(l,c);let u=a.x-o*l,d=a.y-h*c;u+=a.x-this.initialPinchCenter.x,d+=a.y-this.initialPinchCenter.y,t.position.set(u,d),this.antiScale(l),this.initialPinchCenter=a}setInitialScaleAndDistance(t){const e=Array.from(this.activeTouches.values());e.length<2||(this.initialTouchDistance=i(e[0],e[1]),this.initialScale={x:t.scale.x,y:t.scale.y},this.initialPinchCenter={x:(e[0].x+e[1].x)/2,y:(e[0].y+e[1].y)/2})}}export{r as Interaction};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../node_modules/pixi.js/lib/index.js";import{Interaction as t}from"./Interaction.js";import{proxy as e}from"../../../node_modules/valtio/esm/vanilla.js";import{MAIN_INSTANCE_KEY as n}from"../constant/index.js";import r from"../../../node_modules/mitt/dist/mitt.js";import{Logger as a}from"../utils/logger.js";import{AppContext as i}from"./AppService.js";import{nanoid as o}from"../../../node_modules/nanoid/non-secure/index.js";import{calculateLineEndpoints as s,isPointInPolygon as c,binarySearch as m,areStructuredRoomsAdjacent as d,areMultipleRoomsConnected as h,areRasterRoomsAdjacent as p}from"../utils/algorithm.js";import{ViewportContainer as l}from"./ViewportContainer.js";import{AppContainer as g}from"./AppContainer.js";import{MapManager as u}from"../managers/MapManager.js";import{PathManager as w}from"../managers/PathManager.js";import{HeatmapManager as f}from"../managers/HeatmapManager.js";import{ControlsManager as y}from"../managers/ControlsManager.js";import{DetectedObjectManager as M}from"../managers/DetectedObjectManager.js";import{CustomElementsManager as x}from"../managers/CustomElementsManager.js";import{RoomManager as S}from"../managers/RoomManager.js";import{getOptimalAntialiasingStrategy as b}from"../utils/browser.js";import{Application as P}from"../../../node_modules/pixi.js/lib/app/Application.js";import{DEFAULT_CONFIG as v,DEFAULT_RUNTIME_CONFIG as R}from"../constant/config.js";import C from"../../../node_modules/lodash-es/mergeWith.js";import{isMobile as j}from"../../../node_modules/pixi.js/lib/utils/browser/isMobile.js";import{Assets as I}from"../../../node_modules/pixi.js/lib/assets/Assets.js";class A extends P{mapState=null;components={};managers={};config=v;runtime;scaleMin=.5;scaleMax=5;events={};instanceKey;containerElement;emitter=r();tickerState={renderReasons:new Set,renderTimer:null};pendingAsyncRender=!1;isFirstMapDraw=!0;constructor(t=n){super(),this.instanceKey=t,i.registerInstance(t,this),globalThis.__PIXI_APP__=this}async initialize(t){return i.provideAsync(this,async()=>{const{resizeTo:r,events:i,config:o,runtime:s={},...c}=t;this.config=C(this.config,o??{},(t,e)=>{if(Array.isArray(e))return e}),a.log("Applying config",this.config,o),this.runtime=e(Object.assign({},R,s));const m=this.instanceKey===n;this.containerElement=r;const d=m?{textureGCMaxIdle:j.any?180:3600,textureGCCheckCountMax:j.any?100:50,autoStart:!1,eventFeatures:{move:!0,globalMove:!1,click:!0,wheel:!0}}:{textureGCMaxIdle:60,textureGCCheckCountMax:10,autoStart:!1,eventFeatures:{move:!1,globalMove:!1,click:!1,wheel:!1}};await this.init({resizeTo:m?r:void 0,preferWebGLVersion:2,resolution:window.devicePixelRatio||1,antialias:b(),autoDensity:!0,backgroundColor:this.config.global.backgroundColor,...d,...c}),this.preloadAssets(),this.scaleMax=this.config.interaction.zoomRange.max,this.scaleMin=this.config.interaction.zoomRange.min,this.events=i,this.initializeViewportContainer(),this.initializeInteraction(),this.initializeAppContainer(),this.managers.mapManager=new u,this.managers.heatmapManager=new f,this.managers.pathManager=new w,this.managers.controlsManager=new y,this.managers.detectedObjectManager=new M,this.managers.customElementsManager=new x,this.managers.roomsManager=new S,document.addEventListener("visibilitychange",this.onVisibilityChange)})}async drawMap(t){return i.provideAsync(this,async()=>{a.log("[Map] drawMap",t);const{size:e,resolution:n,origin:r}=t;r[0]===this.mapState?.origin.x&&r[1]===this.mapState?.origin.y||(this.managers.pathManager.updatePositionByOrigin(...r),this.managers.controlsManager.updatePositionByOrigin(...r),this.managers.detectedObjectManager.updatePositionByOrigin(...r),this.managers.customElementsManager.updatePositionByOrigin(...r)),this.mapState={id:t.id,status:1===t.status,origin:{x:r[0],y:r[1]},charger:{x:t.charger.coordinate[0],y:t.charger.coordinate[1]},chargerDirection:t.charger.angle??0,resolution:n,width:e[0],height:e[1],mapType:"structured"},this.isFirstMapDraw&&(this.isFirstMapDraw=!1,this.events?.onMapFirstDrawed?.(this.mapState)),this.events?.onMapDrawed?.(this.mapState),await this.managers.mapManager.drawMap(t),this.renderOnce()})}async drawRasterMap(t){return i.provideAsync(this,async()=>{a.log("[Map] drawRasterMap",t);const{mapHeader:e,mapData:n}=t,{originX:r,originY:i}=e;r===this.mapState?.origin.x&&i===this.mapState?.origin.y||(this.managers.pathManager.updatePositionByOrigin(r,i),this.managers.controlsManager.updatePositionByOrigin(r,i),this.managers.detectedObjectManager.updatePositionByOrigin(r,i),this.managers.customElementsManager.updatePositionByOrigin(r,i)),this.mapState={id:e.id,status:e.mapStable,origin:{x:r,y:i},charger:{x:e.chargeX,y:e.chargeY},chargerDirection:e.chargeDirection??0,resolution:100*e.mapResolution,width:e.mapWidth,height:e.mapHeight,version:e.version,mapType:"raster"},this.isFirstMapDraw&&(this.isFirstMapDraw=!1,this.events?.onMapFirstDrawed?.(this.mapState)),this.events?.onMapDrawed?.(this.mapState),await this.managers.mapManager.drawRasterMap(n.parsed,this.mapState),this.renderOnce()})}drawPath(t){return i.provide(this,()=>{a.log("[Path] drawPath",t),this.events?.onPathDrawed?.({id:t.pathHeader.pathId,type:t.pathHeader.type,direction:t.pathHeader.direction,count:t.pathHeader.count,initFlag:t.pathHeader.initFlag,robotPosition:t.pathPoints[t.pathPoints.length-1]??null}),this.managers.pathManager.draw(t),this.renderOnce()})}async drawRoomProperty(t){return i.provide(this,()=>{a.log("[Room] drawRoomProperty",t),this.events?.onRoomPropertiesDrawed?.(t),this.managers.roomsManager.drawRoomProperty(t),this.renderOnceNextFrame()})}drawHeatmap({mapData:t,heatmapPoints:e,useGradient:n=!0}){return i.provide(this,()=>{a.log("[Heatmap] drawHeatmap",e),this.managers.heatmapManager.draw({mapData:t,heatmapPoints:e,useGradient:n}),this.renderOnce()})}drawForbiddenSweepZones(t){return i.provide(this,()=>{a.log("[Controls] drawForbiddenSweepZones",t),this.managers.controlsManager.drawForbiddenSweepZones(t),this.renderOnceNextFrame()})}drawForbiddenMopZones(t){return i.provide(this,()=>{a.log("[Controls] drawForbiddenMopZones",t),this.managers.controlsManager.drawForbiddenMopZones(t),this.renderOnceNextFrame()})}drawCleanZones(t){return i.provide(this,()=>{a.log("[Controls] drawCleanZones",t),this.managers.controlsManager.drawCleanZones(t),this.renderOnceNextFrame()})}drawVirtualWalls(t){return i.provide(this,()=>{a.log("[Controls] drawVirtualWalls",t),this.managers.controlsManager.drawVirtualWalls(t),this.renderOnceNextFrame()})}drawSpots(t){return i.provide(this,()=>{a.log("[Controls] drawSpots",t),this.managers.controlsManager.drawSpots(t),this.renderOnceNextFrame()})}async drawDetectedObjects(t){return i.provideAsync(this,async()=>{a.log("[DetectedObject] drawDetectedObjects",t),await this.managers.detectedObjectManager.drawDetectedObjects(t),this.renderOnceNextFrame()})}async drawCustomElements(t){return i.provideAsync(this,async()=>{a.log("[CustomElements] drawCustomElements",t),await this.managers.customElementsManager.drawCustomElements(t),this.renderOnceNextFrame()})}getForbiddenSweepZones(){return this.managers.controlsManager.getForbiddenSweepZones()}getForbiddenMopZones(){return this.managers.controlsManager.getForbiddenMopZones()}getCleanZones(){return this.managers.controlsManager.getCleanZones()}getVirtualWalls(){return this.managers.controlsManager.getVirtualWalls()}getSpots(){return this.managers.controlsManager.getSpots()}getEffectiveDividerPoints(){return this.managers.controlsManager.getEffectiveDividerPoints()}getDividerEndPoints(){return this.managers.controlsManager.getDividerEndPoints()}resetPanZoom(){this.components.interaction.setPanZoom()}fitMapToView(t,e=!1){return i.provide(this,()=>{if(!t||t.minX===t.maxX||t.minY===t.maxY)return void a.warn("地图边界无效,无法自动适配视图");const n=this.config.map.autoPaddingPercent||.1,r=this.getViewportBounds(),i=t.maxX-t.minX,o=t.maxY-t.minY,s=r.width,c=r.height,m=s*(1-2*n)/i,d=c*(1-2*n)/o,h=Math.min(m,d),p=Math.max(this.config.interaction.fitMinScale,this.scaleMin),l=Math.min(this.config.interaction.fitMaxScale,this.scaleMax),g=Math.max(p,Math.min(l,h)),u=s/2-(t.minX+i/2)*g,w=c/2-(t.minY+o/2)*g;this.components.interaction.setPanZoom({targetPosition:{x:u,y:w},targetScale:{x:g,y:g},setCenter:!0,setScale:!0},e)})}getViewportBounds(){return this.components.viewportContainer?.getViewportBounds()||{x:0,y:0,width:this.renderer.width,height:this.renderer.height}}updateRuntime(t){Object.assign(this.runtime,t),this.renderOnceNextFrame()}metersToPixels(t){return this.mapState?.resolution?t*(1/(this.mapState.resolution/100)):(a.warn("Map resolution not available, using default resolution (5cm/pixel)"),20*t)}pixelsToMeters(t){return this.mapState?.resolution?t*(this.mapState.resolution/100):(a.warn("Map resolution not available, using default resolution (5cm/pixel)"),.05*t)}toFixedSize(t,e){return t/(e??this.components.appContainer.scale.x)}fromFixedSize(t,e){return t*(e??this.components.appContainer.scale.x)}getViewportCenterPoint(){if(!this.mapState)return a.warn("Map state not available, cannot calculate center point"),null;const t=this.getViewportBounds(),e=t.x+t.width/2,n=t.y+t.height/2,r=this.components.appContainer,i=r.scale.x,o=(e-r.x)/i,s=(n-r.y)/i;return{x:o-this.mapState.origin.x,y:s-this.mapState.origin.y}}getMapCenterPoint(){if(!this.mapState)return a.warn("Map state not available, cannot calculate map center point"),null;const t=this.managers.mapManager.mapBounds;if(t.minX===1/0||t.minY===1/0||t.maxX===-1/0||t.maxY===-1/0)return a.warn("Invalid map bounds, cannot calculate map center point"),null;const e=(t.minX+t.maxX)/2,n=(t.minY+t.maxY)/2;return{x:e-this.mapState.origin.x,y:n-this.mapState.origin.y}}getWallPointsByViewportCenter(t){const{width:e=this.config.controls.virtualWall.minWidth,direction:n="horizontal",offsetX:r=0,offsetY:a=0}=t||{},i=this.getViewportCenterPoint()||{x:0,y:0},o=this.metersToPixels(e);return s(i.x,i.y,o,n).map(t=>({x:t.x+r,y:t.y+a}))}getForbiddenSweepZonePointsByViewportCenter(t){const e=this.config.controls.forbiddenSweepZone,{size:n=e.minSize,offsetX:r=0,offsetY:a=0}=t||{};return this.generateZonePoints(n,r,a)}getForbiddenMopZonePointsByViewportCenter(t){const e=this.config.controls.forbiddenMopZone,{size:n=e.minSize,offsetX:r=0,offsetY:a=0}=t||{};return this.generateZonePoints(n,r,a)}getCleanZonePointsByViewportCenter(t){const e=this.config.controls.cleanZone,{size:n=e.minSize,offsetX:r=0,offsetY:a=0}=t||{};return this.generateZonePoints(n,r,a)}getSpotPointByViewportCenter(t){const{offsetX:e=0,offsetY:n=0}=t||{},r=this.getViewportCenterPoint()||{x:0,y:0};return{x:r.x+e,y:r.y+n}}areRoomsAdjacent(t){const e=this.config.map.adjacencyThreshold;return i.provide(this,()=>{if(!t||0===t.length)return a.warn("[Room] No room IDs provided"),!1;if(1===t.length)return!0;const n=Array.from(new Set(t));return 1===n.length||("raster"===(this.mapState?.mapType??"structured")?this.areRasterRoomsAdjacentInternal(n,e):this.areStructuredRoomsAdjacentInternal(n,e))})}isPointInAnyRoom(t){return i.provide(this,()=>t&&"number"==typeof t.x&&"number"==typeof t.y?"raster"===(this.mapState?.mapType??"structured")?this.isPointInAnyRoomRasterInternal(t):this.isPointInAnyRoomStructuredInternal(t):(a.warn("[Room] Invalid point provided"),null))}isPointInAnyRoomStructuredInternal(t){if(!this.mapState)return a.warn("[Room] Map state not available"),null;const e={x:t.x+this.mapState.origin.x,y:t.y+this.mapState.origin.y},n=this.managers.mapManager.getAllRooms();for(const t of n)if(t.outlinePoints&&t.outlinePoints.length>=3&&c(e,t.outlinePoints))return this.managers.roomsManager.getRoomPropertyById(t.id)||(a.warn(`[Room] Room ${t.id} found in geometry but not in RoomManager`),null);return null}isPointInAnyRoomRasterInternal(t){if(!this.mapState)return a.warn("[Room] Map state not available"),null;const e=this.mapState.width,n=this.mapState.height,r=t.x+this.mapState.origin.x,i=t.y+this.mapState.origin.y,o=Math.round(r),s=Math.round(i);if(o<0||o>=e||s<0||s>=n)return a.warn(`[Room] Point (${o}, ${s}) is out of map bounds (${e}x${n})`),null;const c=s*e+o,d=this.managers.mapManager.getAllRooms();for(const t of d){const e=this.managers.mapManager.getRasterRoomPixels(t.id);if(e&&e.length>0&&m(e,c))return this.managers.roomsManager.getRoomPropertyById(t.id)||(a.warn(`[Room] Room ${t.id} found in geometry but not in RoomManager`),null)}return null}areStructuredRoomsAdjacentInternal(t,e){const n=[];for(const e of t){const t=this.managers.mapManager.getRoomById(e);if(!t)return a.warn(`[Room] Room ${e} not found in map`),!1;if(!t.outlinePoints||0===t.outlinePoints.length)return a.warn(`[Room] Room ${e} has no outline points`),!1;n.push({id:e,points:t.outlinePoints})}const r=[];for(let t=0;t<n.length;t++)for(let a=t+1;a<n.length;a++){const i=n[t],o=n[a];d(i.points,o.points,e)&&r.push([t,a])}return h(n.length,r)}areRasterRoomsAdjacentInternal(t,e){if(!this.mapState)return a.warn("[Room] Map state not available"),!1;const n=this.mapState.width,r=[];for(const e of t){const t=this.managers.mapManager.getRasterRoomPixels(e);if(!t)return a.warn(`[Room] Room ${e} pixel data not found in raster map`),!1;r.push({id:e,pixels:t})}const i=[];for(let t=0;t<r.length;t++)for(let a=t+1;a<r.length;a++){const o=r[t],s=r[a];p(o.pixels,s.pixels,n,e)&&i.push([t,a])}return h(r.length,i)}async snapshot(){this.render(),await new Promise(t=>setTimeout(t,0));const{snapshot:t}=this.config;return await this.renderer.extract.base64({target:this.components.appContainer,format:t.format,quality:t.quality,resolution:t.resolution,antialias:t.antialias})}async snapshotByData({map:t,path:e,roomProperties:n,customElements:r,forbiddenSweepZones:i,forbiddenMopZones:s,virtualWalls:c,detectedObjects:m},d={}){const h=`SNAPSHOT_${o()}`;a.log(`[MapApplication] ${h} snapshot start`);const p=new A(h);try{if(await p.initialize({config:this.config,runtime:d}),!t)throw new Error("Map data is required");if(t.startsWith("7b22")){const{decodeMapStructured:e}=await import("../../../node_modules/@ray-js/robot-protocol/dist/index.js"),n=e(t);await p.drawMap(n)}else{const{decodeMap:e}=await import("../../../node_modules/@ray-js/robot-protocol/dist/index.js"),n=e(t);if(!n)throw new Error("Failed to decode raster map data");await p.drawRasterMap(n)}if(e){const{decodePath:t}=await import("../../../node_modules/@ray-js/robot-protocol/dist/index.js"),n=t(e);p.drawPath(n)}n&&n.length>0&&p.drawRoomProperty(n),i&&i.length>0&&p.drawForbiddenSweepZones(i),s&&s.length>0&&p.drawForbiddenMopZones(s),c&&c.length>0&&p.drawVirtualWalls(c),m&&m.length>0&&await p.drawDetectedObjects(m),r&&r.length>0&&await p.drawCustomElements(r);const o=await p.snapshot();return a.log(`[MapApplication] ${h} snapshot completed successfully`),o}catch(t){throw a.error(`[MapApplication] ${h} snapshot other map failed:`,t),t}finally{a.log(`[MapApplication] ${h} destroy`),p.destroy()}}renderOnce(){a.log("[Pixi] renderOnce"),this.render()}renderOnceNextFrame(){this.pendingAsyncRender||(this.pendingAsyncRender=!0,requestAnimationFrame(()=>{a.log("[Pixi] renderOnceNextFrame"),this.render(),this.pendingAsyncRender=!1}))}requestRender(t,e=!1){e?(this.tickerState.renderReasons.add(t),this.ticker.started||(a.debug(`🎬 [Ticker] START: ${t}`),this.ticker.start())):this.renderOnceNextFrame()}stopRender(t){this.tickerState.renderReasons.delete(t),0===this.tickerState.renderReasons.size&&this.scheduleStopRender("final",100)}destroy(){i.unregisterInstance(this.instanceKey),this.tickerState.renderTimer&&clearTimeout(this.tickerState.renderTimer),this.tickerState.renderReasons.clear(),this.emitter.all.clear(),document.removeEventListener("visibilitychange",this.onVisibilityChange),this.managers.pathManager.destroy(),this.managers.mapManager.destroy(),this.managers.controlsManager.destroy(),this.managers.detectedObjectManager.destroy(),this.managers.customElementsManager.destroy(),this.managers.roomsManager.destroy(),this.components.interaction.destroy(),this.components.viewportContainer.destroy(),this.components.appContainer.destroy(),super.destroy()}initializeViewportContainer(){this.components.viewportContainer=new l(this.config,this.containerElement),this.stage.addChild(this.components.viewportContainer)}initializeAppContainer(){this.components.appContainer=new g,this.components.interaction.addChild(this.components.appContainer)}initializeInteraction(){this.components.interaction=new t,this.components.viewportContainer.addChild(this.components.interaction)}scheduleStopRender(t,e){this.tickerState.renderTimer&&clearTimeout(this.tickerState.renderTimer),this.tickerState.renderTimer=setTimeout(()=>{this.tickerState.renderReasons.delete(t),0===this.tickerState.renderReasons.size&&(a.debug("⏸️ [Ticker] STOP"),this.ticker.stop())},e)}generateZonePoints(t,e,n){const r=this.getViewportCenterPoint()||{x:0,y:0},a=this.metersToPixels(t)/2,i=r.x+e,o=r.y+n;return[{x:i-a,y:o-a},{x:i+a,y:o-a},{x:i+a,y:o+a},{x:i-a,y:o+a}]}preloadAssets(){const t=this.config.robot.icon.src,e=this.config.chargingStation.icon.src,n=[];I.add({alias:"robot",src:t}),n.push("robot"),I.add({alias:"chargingStation",src:e}),n.push("chargingStation"),I.add({alias:"deleteIcon",src:this.config.controls.deleteIconSrc}),n.push("deleteIcon"),I.add({alias:"rotateIcon",src:this.config.controls.rotateIconSrc}),n.push("rotateIcon"),I.add({alias:"scaleIcon",src:this.config.controls.scaleIconSrc}),n.push("scaleIcon"),I.add({alias:"moveIcon",src:this.config.controls.moveIconSrc}),n.push("moveIcon"),I.add({alias:"checkmark",src:this.config.room.selectionIndicator.iconSrc}),n.push("checkmark"),I.add({alias:"spotIcon",src:this.config.controls.spot.iconSrc}),n.push("spotIcon"),this.config.room.property.cleanMode.assets.forEach((t,e)=>{const r=`cleanMode_${e}`;I.add({alias:r,src:t}),n.push(r)}),this.config.room.property.suction.assets.forEach((t,e)=>{const r=`fan_${e}`;I.add({alias:r,src:t}),n.push(r)}),this.config.room.property.cistern.assets.forEach((t,e)=>{const r=`water_${e}`;I.add({alias:r,src:t}),n.push(r)}),this.config.room.property.cleanTimes.assets.forEach((t,e)=>{const r=`cleanTimes${e+1}`;I.add({alias:r,src:t}),n.push(r)}),this.config.room.floorType.assets.forEach((t,e)=>{if(!t)return;const r=`floorType${e}`;I.add({alias:r,src:t}),n.push(r)}),this.config.room.property.customAssets&&Object.entries(this.config.room.property.customAssets).forEach(([t,e])=>{e.forEach((e,r)=>{const a=`custom_${t}_${r}`;I.add({alias:a,src:e}),n.push(a)})}),I.backgroundLoad(n)}onVisibilityChange=()=>{"visible"===document.visibilityState||this.components.interaction?.clearTouches()}}export{A as MapApplication};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../node_modules/pixi.js/lib/index.js";import{Logger as i}from"../utils/logger.js";import{Container as t}from"../../../node_modules/pixi.js/lib/scene/container/Container.js";import{Graphics as e}from"../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";class s extends t{viewportBounds={x:0,y:0,width:0,height:0};maskGraphics=null;containerElement=null;constructor(i,t){super(),this.containerElement=t||window,this.calculateViewportBounds(i.global),this.position.set(this.viewportBounds.x,this.viewportBounds.y),this.createMask()}calculateViewportBounds(i){const{containerTop:t,containerLeft:e,containerWidth:s,containerHeight:n}=i,{width:r,height:o}=this.getContainerSize(),h=this.parseSize(e,r),a=this.parseSize(t,o),d=this.parseSize(s,r),p=this.parseSize(n,o);this.viewportBounds={x:h,y:a,width:d,height:p}}getContainerSize(){if(!this.containerElement)return{width:window.innerWidth,height:window.innerHeight};if(this.containerElement===window)return{width:window.innerWidth,height:window.innerHeight};const i=this.containerElement;return{width:i.clientWidth||window.innerWidth,height:i.clientHeight||window.innerHeight}}createMask(){this.maskGraphics=new e,this.maskGraphics.rect(0,0,this.viewportBounds.width,this.viewportBounds.height).fill(16777215),this.addChild(this.maskGraphics),this.mask=this.maskGraphics}parseSize(t,e){if(!isNaN(Number(t)))return Number(t);if((t=t.trim()).endsWith("%"))return e*(parseFloat(t)/100);if(t.endsWith("vw")){const i=parseFloat(t)/100;return window.innerWidth*i}if(t.endsWith("vh")){const i=parseFloat(t)/100;return window.innerHeight*i}return t.endsWith("rpx")?parseFloat(t)*(window.innerWidth/750):t.endsWith("px")||!isNaN(parseFloat(t))?parseFloat(t):(i.warn(`Cannot parse size value: ${t}`),0)}getViewportBounds(){return{...this.viewportBounds}}updateViewport(i){this.calculateViewportBounds(i.global),this.position.set(this.viewportBounds.x,this.viewportBounds.y),this.maskGraphics?.clear(),this.maskGraphics?.rect(0,0,this.viewportBounds.width,this.viewportBounds.height).fill(16777215)}addContent(i){this.addChild(i)}}export{s as ViewportContainer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{FixedSizeContainer as i}from"./FixedSizeContainer.js";import{Logger as o}from"../../utils/logger.js";import{EnhancedSprite as t}from"./EnhancedSprite.js";import{Graphics as e}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as r}from"../../application/AppService.js";import{Rectangle as s}from"../../../../node_modules/pixi.js/lib/maths/shapes/Rectangle.js";class n extends i{background;icon;options;constructor(i){super(),this.options=i,this.background=new e,this.addChild(this.background),this.icon=new t,this.addChild(this.icon),this.eventMode="static",this.render(),this.setupHitArea(),this.setupEvents()}setupHitArea(){const i=r().controlsConfig,o=i.iconWrapperWidth+16,t=i.iconWrapperHeight+16;this.hitArea=new s(-o/2,-t/2,o,t)}async render(){this.renderBackground(),this.renderIcon()}renderBackground(){const i=r().controlsConfig;this.background.clear(),this.background.roundRect(-i.iconWrapperWidth/2,-i.iconWrapperHeight/2,i.iconWrapperWidth,i.iconWrapperHeight,i.iconWrapperBorderRadius).fill(this.options.backgroundColor)}async renderIcon(){try{const i=r().controlsConfig;await this.icon.loadTextureAndSetSize(this.options.iconAlias,{width:i.iconWidth,height:i.iconHeight,sizeFixed:!1}),this.icon.visible=!0}catch(i){o.error(`Failed to load icon: ${this.options.iconAlias}`,i)}}destroy(){super.destroy()}}export{n as BaseControlButton};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{Logger as i}from"../../utils/logger.js";import{Container as t}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as s}from"../../application/AppService.js";import{Graphics as e}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";class r extends t{borderOptions;solidLine=null;dashGraphics=null;fillGraphics=null;constructor(i){super(),this.borderOptions={...i},this.drawBorder(),this.setupAntiScaleListener(),this.eventMode="none"}setupAntiScaleListener(){s().emitter.on("antiScale",this.handleAntiScale)}handleAntiScale=()=>{this.drawBorder()};drawBorder(){const{points:i=[],closePath:t=!1,style:s}=this.borderOptions;i.length<2||(this.clearBorder(),void 0!==s.fillColor&&t&&this.drawFill(i,s),s.isDashed?this.drawContinuousDashedBorder(i,t,s):this.drawSolidBorder(i,t,s))}drawFill(i,t){if(t.fillColor&&!(i.length<3)){this.fillGraphics&&(this.removeChild(this.fillGraphics),this.fillGraphics.destroy()),this.fillGraphics=new e,this.fillGraphics.setFillStyle({color:t.fillColor}),this.fillGraphics.moveTo(i[0].x,i[0].y);for(let t=1;t<i.length;t++)this.fillGraphics.lineTo(i[t].x,i[t].y);this.fillGraphics.closePath(),this.fillGraphics.fill(),this.addChild(this.fillGraphics)}}drawSolidBorder(i,t,r){const h=s();this.solidLine&&(this.removeChild(this.solidLine),this.solidLine.destroy()),this.solidLine=new e;const o=h.getApp().toFixedSize(r.width);this.solidLine.setStrokeStyle({color:r.color,width:o}),this.solidLine.moveTo(i[0].x,i[0].y);for(let t=1;t<i.length;t++)this.solidLine.lineTo(i[t].x,i[t].y);t&&this.solidLine.lineTo(i[0].x,i[0].y),this.solidLine.stroke(),this.addChild(this.solidLine)}drawContinuousDashedBorder(t,r,h){if(t.length<2)return;if(!h.dashArray||2!==h.dashArray.length||h.dashArray[0]<=0||h.dashArray[1]<=0)return void i.warn("Invalid dashArray:",h.dashArray);const o=s();this.dashGraphics=new e;const l=o.getApp().toFixedSize(h.width);this.dashGraphics.setStrokeStyle({color:h.color,width:l});const a=Math.max(o.getApp().toFixedSize(h.dashArray[0]),1),n=Math.max(o.getApp().toFixedSize(h.dashArray[1]),1),d=r?[...t,t[0]]:t;this.drawContinuousPathDashes(this.dashGraphics,d,a,n),this.dashGraphics.stroke(),this.addChild(this.dashGraphics)}drawContinuousPathDashes(t,s,e,r){if(s.length<2)return;if(e<=0||r<=0)return void i.warn("Invalid dash parameters:",{dashLength:e,gapLength:r});const h=this.calculatePathSegments(s),o=h.reduce((i,t)=>i+t.length,0);if(0===o)return;const l=e+r;let a=0;for(;a<o;){const i=a+e;i<=o?this.drawContinuousDashSegment(t,h,a,i):this.drawContinuousDashSegment(t,h,a,o),a+=l}}calculatePathSegments(i){const t=[];for(let s=0;s<i.length-1;s++){const e=i[s],r=i[s+1],h=r.x-e.x,o=r.y-e.y,l=Math.sqrt(h*h+o*o);t.push({start:e,end:r,length:l})}return t}drawContinuousDashSegment(i,t,s,e){if(s>=e)return;let r=0,h=!1,o=null;for(const l of t){const t=r,a=r+l.length;if(a>s&&t<e){const r=Math.max(s,t),n=Math.min(e,a),d=(r-t)/l.length,c=(n-t)/l.length,p={x:l.start.x+(l.end.x-l.start.x)*d,y:l.start.y+(l.end.y-l.start.y)*d},u={x:l.start.x+(l.end.x-l.start.x)*c,y:l.start.y+(l.end.y-l.start.y)*c};h?o&&Math.sqrt(Math.pow(p.x-o.x,2)+Math.pow(p.y-o.y,2))>.1&&i.lineTo(p.x,p.y):(i.moveTo(p.x,p.y),h=!0),i.lineTo(u.x,u.y),o=u}if(r+=l.length,r>=e)break}}clearBorder(){this.fillGraphics&&(this.removeChild(this.fillGraphics),this.fillGraphics.destroy(),this.fillGraphics=null),this.solidLine&&(this.removeChild(this.solidLine),this.solidLine.destroy(),this.solidLine=null),this.dashGraphics&&(this.removeChild(this.dashGraphics),this.dashGraphics.destroy(),this.dashGraphics=null)}updateStyle(i){this.borderOptions.style={...this.borderOptions.style,...i},this.drawBorder()}updatePoints(i){this.borderOptions.points=i,this.drawBorder()}setClosePath(i){this.borderOptions.closePath=i,this.drawBorder()}getOptions(){return{...this.borderOptions}}destroy(){s().emitter.off("antiScale",this.handleAntiScale),this.clearBorder(),super.destroy()}}export{r as Border};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{Graphics as t}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as i}from"../../application/AppService.js";class n extends t{fillOptions;isDragging=!1;dragStartPosition=null;constructor(t){super(),this.fillOptions=t,this.setupInteraction(),this.setupDragEventListeners(),this.draw()}setupInteraction(){this.fillOptions.enableInteraction&&(this.eventMode="static",this.on("pointerdown",this.handlePointerDown))}setupDragEventListeners(){const{emitter:t}=i();t.on("gestureHijackPointerMove",this.handleDragPointerMove),t.on("gestureHijackPointerUp",this.handleDragPointerUp),t.on("gestureHijackCancel",this.handleDragCancel)}cleanupDragEventListeners(){const{emitter:t}=i();t.off("gestureHijackPointerMove",this.handleDragPointerMove),t.off("gestureHijackPointerUp",this.handleDragPointerUp),t.off("gestureHijackCancel",this.handleDragCancel)}handlePointerDown=t=>{t.stopPropagation(),this.startDragging(t)};startDragging(t){this.isDragging=!0;const n=this.parent.toLocal(t.global);this.dragStartPosition={x:n.x,y:n.y},this.fillOptions.onDragStart?.(t),i().emitter.emit("gestureHijackStart",t)}handleDragPointerMove=t=>{this.isDragging&&this.dragStartPosition&&this.fillOptions.onDragMove?.(t)};handleDragPointerUp=()=>{this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,this.fillOptions.onDragEnd?.())};handleDragCancel=()=>{this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,this.fillOptions.onDragEnd?.())};draw(){const{points:t,fillColor:i}=this.fillOptions;if(t.length<3)return;this.clear();const n=t.flatMap(t=>[t.x,t.y]);this.setFillStyle({color:i}).poly(n).fill()}getDragStartPosition(){return this.dragStartPosition}updateOptions(t){this.fillOptions={...this.fillOptions,...t},void 0!==t.enableInteraction&&(this.off("pointerdown",this.handlePointerDown),this.setupInteraction()),this.draw()}updatePoints(t){this.fillOptions.points=t,this.draw()}updateFillColor(t){this.fillOptions.fillColor=t,this.draw()}stopDragging(){this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null)}isCurrentlyDragging(){return this.isDragging}setInteractionEnabled(t){this.fillOptions.enableInteraction=t,t?(this.eventMode="static",this.on("pointerdown",this.handlePointerDown)):(this.eventMode="auto",this.off("pointerdown",this.handlePointerDown),this.isDragging&&this.stopDragging())}destroy(){this.stopDragging(),this.cleanupDragEventListeners(),this.off("pointerdown",this.handlePointerDown),super.destroy()}}export{n as ControlFill};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{Graphics as t}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as e}from"../../application/AppService.js";import{GraphicsContext as s}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/GraphicsContext.js";class i extends t{lineOptions;strokeContext=null;constructor(t){super(),this.lineOptions={...t},this.eventMode="static",this.drawDashLine(),this.setupAntiScaleListener()}setupAntiScaleListener(){e().emitter.on("antiScale",this.drawDashLine)}drawDashLine=()=>{const{start:t,end:i,style:o}=this.lineOptions;this.clear(),this.strokeContext&&this.strokeContext.destroy();const n=e();this.strokeContext=new s;const r=n.getApp().toFixedSize(o.width);this.strokeContext.setStrokeStyle({color:o.color,width:r}),this.drawDashedLineToContext(this.strokeContext,t.x,t.y,i.x,i.y,o.dashArray[0],o.dashArray[1]),this.strokeContext.stroke(),this.context=this.strokeContext};drawDashedLineToContext(t,s,i,o,n,r,h){const a=o-s,d=n-i,p=Math.sqrt(a*a+d*d);if(0===p)return;const l=e(),c=l.getApp().toFixedSize(r),x=c+l.getApp().toFixedSize(h),m=p/x,u=Math.round(m);if(0===u)return t.moveTo(s,i),void t.lineTo(o,n);const k=p/u,y=k*(c/x),C=a/p,w=d/p;for(let e=0;e<u;e++){const o=e*k,n=o+y;if(o>=p)break;const r=Math.min(n,p),h=s+o*C,a=i+o*w,d=s+r*C,l=i+r*w;t.moveTo(h,a),t.lineTo(d,l)}}updatePoints(t,e){this.lineOptions.start=t,this.lineOptions.end=e,this.drawDashLine()}updateStyle(t){this.lineOptions.style={...this.lineOptions.style,...t},this.drawDashLine()}getOptions(){return{...this.lineOptions}}destroy(){e().emitter.off("antiScale",this.drawDashLine),this.strokeContext&&this.strokeContext.destroy(),super.destroy()}}export{i as DashLine};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{Graphics as t}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as i}from"../../application/AppService.js";import{Circle as s}from"../../../../node_modules/pixi.js/lib/maths/shapes/Circle.js";class o extends t{constructor(t){super(),this.options=t,this.initialPosition={...t.position},this.position.set(t.position.x,t.position.y),this.eventMode="static",this.cursor="pointer",this.setupEvents(),this.draw(),this.setupDragEventListeners()}isDragging=!1;dragStartPosition=null;initialPosition;draw(){const t=i(),{config:s}=this.options,o=t.getApp().toFixedSize(s.endPointSize),e=t.getApp().toFixedSize(s.endPointStrokeWidth);this.clear(),this.circle(0,0,o/2),this.fill({color:s.endPointColor}),this.stroke({color:s.endPointStrokeColor,width:e}),this.setupHitArea()}setupHitArea(){const t=i(),{config:o}=this.options,e=Math.max(o.endPointSize/2+10,20),n=t.getApp().toFixedSize(e);this.hitArea=new s(0,0,n)}setupEvents(){this.on("pointerdown",this.handlePointerDown.bind(this))}setupDragEventListeners(){const{emitter:t}=i();t.on("gestureHijackPointerMove",this.handleDragPointerMove),t.on("gestureHijackPointerUp",this.handleDragPointerUp),t.on("gestureHijackCancel",this.handleDragCancel)}cleanupDragEventListeners(){const{emitter:t}=i();t.off("gestureHijackPointerMove",this.handleDragPointerMove),t.off("gestureHijackPointerUp",this.handleDragPointerUp),t.off("gestureHijackCancel",this.handleDragCancel)}handlePointerDown(t){t.stopPropagation(),this.startDragging(t)}startDragging(t){const s=i();this.isDragging=!0,this.dragStartPosition=this.parent.toLocal(t.global),this.initialPosition={x:this.x,y:this.y},this.options.onDragStart?.(),s.getApp().requestRender("endpoint-drag",!0),i().emitter.emit("gestureHijackStart",t)}handleDragPointerMove=t=>{if(!this.isDragging||!this.dragStartPosition)return;const i=this.parent.toLocal(t.global),s=i.x-this.dragStartPosition.x,o=i.y-this.dragStartPosition.y,e={x:this.initialPosition.x+s,y:this.initialPosition.y+o};this.position.set(e.x,e.y),this.options.onDragMove?.(e)};handleDragPointerUp=()=>{if(!this.isDragging)return;const t=i();this.isDragging=!1,this.dragStartPosition=null,t.getApp().stopRender("endpoint-drag"),this.options.onDragEnd?.()};handleDragCancel=()=>{if(!this.isDragging)return;const t=i();this.isDragging=!1,this.dragStartPosition=null,t.getApp().stopRender("endpoint-drag"),this.options.onDragEnd?.()};updatePosition(t){this.position.set(t.x,t.y),this.initialPosition={...t}}getPosition(){return{x:this.x,y:this.y}}redraw(){this.draw()}destroy(){this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null),this.cleanupDragEventListeners(),this.off("pointerdown",this.handlePointerDown),super.destroy()}}export{o as EndPoint};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{Logger as i}from"../../utils/logger.js";import{AnimatedSprite as e}from"../../../../node_modules/pixi.js/lib/scene/sprite-animated/AnimatedSprite.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as s}from"../../application/AppService.js";import{Assets as r}from"../../../../node_modules/pixi.js/lib/assets/Assets.js";import{Texture as a}from"../../../../node_modules/pixi.js/lib/rendering/renderers/shared/texture/Texture.js";import{Ticker as n}from"../../../../node_modules/pixi.js/lib/ticker/Ticker.js";class d extends e{throttledUpdateScale;fixedWidth=0;fixedHeight=0;isFixedSizeSet=!1;sizeFixed=!0;baselineScale=1;static animationTicker=null;static animatedSprites=new Set;constructor(i){super(i||[]),this.anchor.set(.5),this.visible=!1,this.throttledUpdateScale=t(this.updateScale.bind(this),30,{leading:!0,trailing:!0}),this.registerScaleListener()}setFixedSize(i,e){this.fixedWidth=i,this.fixedHeight=e,this.isFixedSizeSet=!0,this.applySize()}setSizeFixed(i){this.sizeFixed=i,this.baselineScale=1,(i&&this.isFixedSizeSet||!i&&this.isFixedSizeSet)&&this.applySize()}set width(i){this.isFixedSizeSet||this.setFixedSize(i,this.fixedHeight||i)}set height(i){this.isFixedSizeSet||this.setFixedSize(this.fixedWidth||i,i)}get width(){return this.fixedWidth||super.width}get height(){return this.fixedHeight||super.height}registerScaleListener(){s().emitter.on("antiScale",this.throttledUpdateScale)}applySize(){if(!this.isFixedSizeSet||!this.textures||0===this.textures.length||!this.textures[0]||0===this.textures[0].width||0===this.textures[0].height)return;const i=s(),e=this.textures[0],t=this.fixedWidth/e.width,r=this.fixedHeight/e.height;if(this.sizeFixed){const e=i.currentScale;if(0===e||!isFinite(e)){const i=t,e=r;return void super.scale.set(i,e)}const s=t/e,a=r/e;super.scale.set(s,a)}else super.scale.set(t/this.baselineScale,r/this.baselineScale)}updateScale(i){this.sizeFixed&&(this.isFixedSizeSet?this.applySize():0!==i&&super.scale.set(1/i))}static async loadAnimationTextures(i,e="sleep_",t=96){try{await r.load(i);const s=[];for(let i=0;i<t;i++){const t=`${e}${i.toString().padStart(3,"0")}.png`,r=a.from(t);r&&s.push(r)}return s}catch(i){return[]}}setupAnimation(e){void 0!==e.sizeFixed&&this.setSizeFixed(e.sizeFixed),this.setFixedSize(e.width,e.height),this.animationSpeed=.5,this.loop=!0,i.log(`Animation setup complete, visible=${this.visible}, scale=(${this.scale.x.toFixed(3)}, ${this.scale.y.toFixed(3)})`)}draw(i,e){const{x:t,y:s,rotation:r=0}=i;e&&!this.visible?this.visible=e():e||this.visible||(this.visible=!0),this.rotation=r,this.position.set(t,s)}play(){this.textures&&this.textures.length>0&&(super.play(),d.animatedSprites.add(this),d.startAnimationTicker())}stop(){super.stop(),d.animatedSprites.delete(this),d.updateAnimationTicker()}set textures(i){super.textures=i,this.isFixedSizeSet&&i&&i.length>0&&i[0]&&i[0].width>0&&i[0].height>0&&this.applySize()}get textures(){return super.textures}static startAnimationTicker(){d.animationTicker?.started||(d.animationTicker||(d.animationTicker=new n,d.animationTicker.maxFPS=24,d.animationTicker.add(()=>{d.updateAnimations()})),d.animationTicker.start(),i.log("🎬 [AnimationTicker] Started animation ticker"))}static updateAnimationTicker(){d.animatedSprites.size>0?d.startAnimationTicker():d.stopAnimationTicker()}static stopAnimationTicker(){d.animationTicker?.started&&(i.log("⏸️ [AnimationTicker] Stopped animation ticker"),d.animationTicker.stop())}static updateAnimations(){if(0===d.animatedSprites.size)return;const i=s().getApp();i.renderer.render(i.stage)}destroy(i){d.animatedSprites.delete(this),d.updateAnimationTicker(),s().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(i)}}export{d as EnhancedAnimatedSprite};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import"../../../../node_modules/pixi.js/lib/gif/init.js";import{Logger as e}from"../../utils/logger.js";import{GifSprite as i}from"../../../../node_modules/pixi.js/lib/gif/GifSprite.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as s}from"../../application/AppService.js";import{Assets as h}from"../../../../node_modules/pixi.js/lib/assets/Assets.js";class d extends i{throttledUpdateScale;fixedWidth=0;fixedHeight=0;isFixedSizeSet=!1;sizeFixed=!0;baselineScale=1;constructor(e){super(e),this.anchor.set(.5),this.visible=!1,this.throttledUpdateScale=t(this.updateScale.bind(this),30,{leading:!0,trailing:!0}),this.registerScaleListener()}setFixedSize(e,i){this.fixedWidth=e,this.fixedHeight=i,this.isFixedSizeSet=!0,this.applySize()}setSizeFixed(e){this.sizeFixed=e,this.baselineScale=1,(e&&this.isFixedSizeSet||!e&&this.isFixedSizeSet)&&this.applySize()}set width(i){this.isFixedSizeSet?e.warn("EnhancedGifSprite: 使用 setFixedSize() 方法来设置宽度"):this.setFixedSize(i,this.fixedHeight||i)}set height(i){this.isFixedSizeSet?e.warn("EnhancedGifSprite: 使用 setFixedSize() 方法来设置高度"):this.setFixedSize(this.fixedWidth||i,i)}get width(){return this.fixedWidth||super.width}get height(){return this.fixedHeight||super.height}registerScaleListener(){s().emitter.on("antiScale",this.throttledUpdateScale)}applySize(){if(!this.isFixedSizeSet||!this.texture||0===this.texture.width||0===this.texture.height)return;const e=s(),i=this.fixedWidth/this.texture.width,t=this.fixedHeight/this.texture.height;if(this.sizeFixed){const s=e.currentScale;if(0===s)return;const h=i/s,d=t/s;super.scale.set(h,d)}else super.scale.set(i/this.baselineScale,t/this.baselineScale)}updateScale(e){this.sizeFixed&&(this.isFixedSizeSet?this.applySize():0!==e&&super.scale.set(1/e))}static async createFromSrc(i,t){try{const e=await h.load(i),s=new d({source:e});return void 0!==t.sizeFixed&&s.setSizeFixed(t.sizeFixed),s.setFixedSize(t.width,t.height),s}catch(t){throw e.error(`Failed to load GIF "${i}":`,t),t}}draw(e,i){const{x:t,y:s,rotation:h=0}=e;i&&!this.visible?this.visible=i():i||this.visible||(this.visible=!0),this.rotation=h,this.position.set(t,s)}destroy(e){s().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(e)}}export{d as EnhancedGifSprite};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{Logger as e}from"../../utils/logger.js";import{Sprite as i}from"../../../../node_modules/pixi.js/lib/scene/sprite/Sprite.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as s}from"../../application/AppService.js";import{Assets as h}from"../../../../node_modules/pixi.js/lib/assets/Assets.js";class r extends i{throttledUpdateScale;fixedWidth=0;fixedHeight=0;isFixedSizeSet=!1;sizeFixed=!0;baselineScale=1;constructor(e){super(e),this.anchor.set(.5),this.visible=!1,this.throttledUpdateScale=t(this.updateScale.bind(this),30,{leading:!0,trailing:!0}),this.registerScaleListener()}setFixedSize(e,i){this.fixedWidth=e,this.fixedHeight=i,this.isFixedSizeSet=!0,this.applySize()}setSizeFixed(e){this.sizeFixed=e,this.baselineScale=1,(e&&this.isFixedSizeSet||!e&&this.isFixedSizeSet)&&this.applySize()}set width(i){this.isFixedSizeSet?e.warn("EnhancedSprite: 使用 setFixedSize() 方法来设置宽度"):this.setFixedSize(i,this.fixedHeight||i)}set height(i){this.isFixedSizeSet?e.warn("EnhancedSprite: 使用 setFixedSize() 方法来设置高度"):this.setFixedSize(this.fixedWidth||i,i)}get width(){return this.fixedWidth||super.width}get height(){return this.fixedHeight||super.height}registerScaleListener(){s().emitter.on("antiScale",this.throttledUpdateScale)}applySize(){if(!this.isFixedSizeSet||!this.texture||0===this.texture.width||0===this.texture.height)return;const e=s(),i=this.fixedWidth/this.texture.width,t=this.fixedHeight/this.texture.height;if(this.sizeFixed){const s=e.currentScale;if(0===s)return;const h=i/s,r=t/s;super.scale.set(h,r)}else super.scale.set(i/this.baselineScale,t/this.baselineScale)}updateScale(e){this.sizeFixed&&(this.isFixedSizeSet?this.applySize():0!==e&&super.scale.set(1/e))}async loadTextureAndSetSize(i,t){try{const e=s(),r=await h.load(i);this.texture=r,void 0!==t.sizeFixed&&this.setSizeFixed(t.sizeFixed),this.setFixedSize(t.width,t.height),e.getApp().renderOnceNextFrame()}catch(t){e.error(`Failed to load texture "${i}":`,t)}}draw(e,i){const{x:t,y:s,rotation:h=0}=e;i&&!this.visible?this.visible=i():i||this.visible||(this.visible=!0),this.rotation=h,this.position.set(t,s)}set texture(e){super.texture=e,this.isFixedSizeSet&&e&&e.width>0&&e.height>0&&this.applySize()}get texture(){return super.texture}destroy(e){s().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(e)}}export{r as EnhancedSprite};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{Container as e}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as i}from"../../application/AppService.js";class s extends e{throttledUpdateScale;constructor(){super(),this.throttledUpdateScale=t(this.updateScale.bind(this),30,{leading:!0,trailing:!0});const e=i();this.updateScale(e.currentScale),this.registerScaleListener()}registerScaleListener(){i().emitter.on("antiScale",this.throttledUpdateScale)}updateScale(e){0!==e&&this.scale.set(1/e)}destroy(e){i().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(e)}}export{s as FixedSizeContainer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DOMContainer as e}from"pixi.js";import
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{DOMContainer as e}from"../../../../node_modules/pixi.js/lib/dom/DOMContainer.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as i}from"../../application/AppService.js";class s extends e{throttledUpdateScale;fixedWidth=0;fixedHeight=0;isFixedSizeSet=!1;userCenterX=0;userCenterY=0;sizeFixed=!0;constructor(e){super(e),this.anchor.set(0,0),this.throttledUpdateScale=t(this.updateScale.bind(this),30,{leading:!0,trailing:!0}),this.registerScaleListener()}setFixedSize(e,t){this.fixedWidth=e,this.fixedHeight=t,this.isFixedSizeSet=!0,this.applyFixedSize(),this.updatePositionFromCenter()}setCenterPosition(e,t){this.userCenterX=e,this.userCenterY=t,this.updatePositionFromCenter()}setSizeFixed(e){this.sizeFixed=e,this.isFixedSizeSet&&(this.applyFixedSize(),this.updatePositionFromCenter())}updatePositionFromCenter(){if(!this.isFixedSizeSet)return void this.position.set(this.userCenterX,this.userCenterY);const e=i().currentScale;let t,s;this.sizeFixed?(t=this.fixedWidth/2/e,s=this.fixedHeight/2/e):(t=this.fixedWidth/2,s=this.fixedHeight/2),this.position.set(this.userCenterX-t,this.userCenterY-s)}registerScaleListener(){i().emitter.on("antiScale",this.throttledUpdateScale)}applyFixedSize(){if(!this.isFixedSizeSet)return;const e=i().currentScale;if(0!==e){if(this.sizeFixed){const t=1/e;this.scale.set(t)}else this.scale.set(1);this.element&&(this.element.style.width=`${this.fixedWidth}px`,this.element.style.height=`${this.fixedHeight}px`)}}updateScale(e){this.isFixedSizeSet&&0!==e&&(this.applyFixedSize(),this.updatePositionFromCenter())}updateTransform(e){return super.updateTransform(e)}destroy(e){i().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(e)}}export{s as FixedSizeDOMContainer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{Text as e}from"../../../../node_modules/pixi.js/lib/scene/text/Text.js";import t from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as s}from"../../application/AppService.js";class i extends e{throttledUpdateScale;constructor({text:e,style:i}){super({text:e,style:i}),this.throttledUpdateScale=t(this.updateScale.bind(this),20,{leading:!0,trailing:!0}),this.registerScaleListener(),this.updateScale(s().currentScale)}registerScaleListener(){s().emitter.on("antiScale",this.throttledUpdateScale)}updateScale(e){e<=0||this.scale.set(1/e)}setBaseFontSize(e){this.style.fontSize=e}updateText(e){this.text=e}destroy(e){s().emitter.off("antiScale",this.throttledUpdateScale),super.destroy(e)}}export{i as FixedSizeText};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{Graphics as i}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as t}from"../../application/AppService.js";class e extends i{currentPosition=null;config;constructor(i){super(),this.setupAntiScaleListener(),this.config=i.config}setupAntiScaleListener(){t().emitter.on("antiScale",this.handleScaleChange)}handleScaleChange=()=>{this.redraw()};draw(i){const e=t();this.currentPosition=i;const{ringSize:o,ringColor:r,ringStrokeWidth:s,ringStrokeColor:n,ringStrokeDashed:c,ringStrokeDashArray:a}=this.config;this.clear();const h=e.metersToPixels(o),l=e.getApp().toFixedSize(s);this.setFillStyle({color:r}),c&&a.length>=2?this.drawDashedCircle(i,h,n,l,a):this.circle(i.x,i.y,h).fill().stroke({color:n,width:l,cap:"round",join:"round"})}drawDashedCircle(i,e,o,r,s){const n=t();this.circle(i.x,i.y,e).fill();const c=n.getApp().toFixedSize(s[0]),a=n.getApp().toFixedSize(s[1]),h=2*Math.PI*e,l=c+a,d=Math.floor(h/l);if(0===d)return void this.circle(i.x,i.y,e).stroke({color:o,width:r,cap:"round",join:"round"});const p=h/d,u=p*(c/l);for(let t=0;t<d;t++){const o=t*p/e,r=(t*p+u)/e,s=Math.max(4,Math.ceil(Math.abs(r-o)*e/2)),n=(r-o)/s;for(let t=0;t<=s;t++){const r=o+n*t,s=i.x+e*Math.cos(r),c=i.y+e*Math.sin(r);0===t?this.moveTo(s,c):this.lineTo(s,c)}}this.stroke({color:o,width:r,cap:"round",join:"round"})}redraw(){this.currentPosition&&this.draw(this.currentPosition)}destroy(){t().emitter.off("antiScale",this.handleScaleChange),super.destroy()}}export{e as Ring};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{RotateControlButton as t}from"./RotateControlButton.js";import{RemoveControlButton as o}from"./RemoveControlButton.js";import{ScaleControlButton as e}from"./ScaleControlButton.js";import{MoveControlButton as i}from"./MoveControlButton.js";import{ControlFill as n}from"./ControlFill.js";import{normalizeToRectangle as s,getDistance as a,calculateCenter as l,normalizeVector as r,createVector as h,calculatePolygonOutline as d,calculateUprightLineAngle as u,calculateCornerExtension as c,rotatePointsAroundCenter as p,getVectorLength as g,calculateScaleRatio as C}from"../../utils/algorithm.js";import{ClickHandler as x}from"../../mixins/ClickHandler.js";import{Border as y}from"./Border.js";import{FixedSizeText as z}from"./FixedSizeText.js";import{Container as B}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import S from"../../../../node_modules/lodash-es/throttle.js";import{useAppService as f}from"../../application/AppService.js";class v extends B{static BUTTON_INDICES={REMOVE:0,ROTATE:1,SCALE:2,MOVE:3,FIXED:0};zoneData;zoneType;zoneConfig;controlsConfig;zoneEvents;controlFill;zoneBorder;outlineBorder;moveLine;sizeText;controlButtons;deleteButton=null;rotateButton=null;scaleButton=null;moveButton=null;totalRotationAngle=0;rotationCenter=null;initialZonePoints=[];clickHandler=null;throttledUpdateOutline;constructor(t){super();const{zoneData:o,zoneType:e,events:i={}}=t;this.zoneType=e,this.zoneEvents=i,this.zoneConfig=this.getZoneConfig(),this.controlsConfig=this.getControlsConfig();const n=this.validateAndCorrectZoneSize(o.points),a=s(n);this.zoneData={...o,points:a},this.throttledUpdateOutline=S(this.updateOutlineForScale.bind(this),30,{leading:!0,trailing:!0}),this.initializeComponents(),this.createControlButtons(),this.updateEditState(),this.setupClickHandler(),this.registerScaleListener()}registerScaleListener(){f().emitter.on("antiScale",this.throttledUpdateOutline)}updateOutlineForScale(){this.isEditingEnabled()&&(this.updateOutlineBorder(),this.updateMoveLine(),this.updateControlButtonsPosition(),this.updateSizeTextPosition())}getZoneConfig(){const t=f(),{controls:o}=t.getConfig();return o[this.zoneType]}getControlsConfig(){const t=f(),{controls:o}=t.getConfig();return o}validateAndCorrectZoneSize(t){const o=f();if(t.length<4)return t;const e=o.metersToPixels(this.zoneConfig.minSize),[i,n,,s]=t,d=a(i,n),u=a(i,s);if(d>=e&&u>=e)return t;const c=l(t),p=r(h(i,n)),g=r(h(i,s)),C=Math.max(d,e)/2,x=Math.max(u,e)/2;return[{x:c.x-p.x*C-g.x*x,y:c.y-p.y*C-g.y*x},{x:c.x+p.x*C-g.x*x,y:c.y+p.y*C-g.y*x},{x:c.x+p.x*C+g.x*x,y:c.y+p.y*C+g.y*x},{x:c.x-p.x*C+g.x*x,y:c.y-p.y*C+g.y*x}]}getEditingIdsKey(){switch(this.zoneType){case"forbiddenSweepZone":default:return"editingForbiddenSweepZoneIds";case"forbiddenMopZone":return"editingForbiddenMopZoneIds";case"cleanZone":return"editingCleanZoneIds"}}isEditingEnabled(){const t=this.getEditingIdsKey();return f().runtimeSnapshot[t].includes(this.zoneData.id)}initializeComponents(){this.outlineBorder=this.createOutlineBorder(),this.addChild(this.outlineBorder),this.controlFill=this.createControlFill(),this.addChild(this.controlFill),this.zoneBorder=this.createBorder(),this.addChild(this.zoneBorder),this.moveLine=this.createMoveLine(),this.addChild(this.moveLine),this.sizeText=this.createSizeText(),this.addChild(this.sizeText),this.controlButtons=new B,this.controlButtons.visible=this.isEditingEnabled(),this.addChild(this.controlButtons),this.drawZone()}createControlButtons(){const n=this.calculateOutlinePoints();if(n.length<4)return;this.deleteButton=new o({iconAlias:"deleteIcon",backgroundColor:this.zoneConfig.iconWrapperFillColor,onClick:this.handleDelete}),this.deleteButton.position.set(n[v.BUTTON_INDICES.REMOVE].x,n[v.BUTTON_INDICES.REMOVE].y),this.zoneConfig.showRotateButton&&(this.rotateButton=new t({iconAlias:"rotateIcon",backgroundColor:this.zoneConfig.iconWrapperFillColor,getTargetPoints:()=>this.zoneData.points,onRotationStart:this.handleRotationStart,onRotationMove:this.handleRotationMove,onRotationEnd:this.handleRotationEnd}),this.rotateButton.position.set(n[v.BUTTON_INDICES.ROTATE].x,n[v.BUTTON_INDICES.ROTATE].y)),this.scaleButton=new e({iconAlias:"scaleIcon",backgroundColor:this.zoneConfig.iconWrapperFillColor,getTargetPoints:()=>this.zoneData.points,getButtonIndex:()=>v.BUTTON_INDICES.SCALE,onScaleStart:this.handleScaleStart,onScaleMove:this.handleScaleMove,onScaleEnd:this.handleScaleEnd}),this.scaleButton.position.set(n[v.BUTTON_INDICES.SCALE].x,n[v.BUTTON_INDICES.SCALE].y);const s=this.calculateMoveButtonPosition();this.moveButton=new i({iconAlias:"moveIcon",backgroundColor:this.zoneConfig.iconWrapperFillColor,onMoveStart:this.handleMoveStart,onMoveMove:this.handleMove,onMoveEnd:this.handleMoveEnd}),this.moveButton.position.set(s.x,s.y),this.controlButtons.addChild(this.deleteButton),this.rotateButton&&this.controlButtons.addChild(this.rotateButton),this.controlButtons.addChild(this.scaleButton),this.controlButtons.addChild(this.moveButton)}createControlFill(){const t=this.isEditingEnabled();return new n({points:this.zoneData.points,fillColor:this.zoneConfig.fillColor,enableInteraction:t,onDragStart:this.handleDragStart,onDragMove:this.handleDragMove,onDragEnd:this.handleDragEnd})}createBorder(){const t=this.isEditingEnabled()?this.zoneConfig.editing:this.zoneConfig.normal;return new y({points:this.zoneData.points,closePath:!0,style:{color:this.zoneConfig.strokeColor,width:this.zoneConfig.strokeWidth,isDashed:t.isDashed,dashArray:t.dashArray}})}createOutlineBorder(){const t=this.calculateOutlinePoints();return new y({points:t,closePath:!0,style:{color:this.zoneConfig.outlineStrokeColor,width:this.zoneConfig.outlineStrokeWidth,isDashed:this.zoneConfig.outlineDashed,dashArray:this.zoneConfig.outlineDashArray,fillColor:this.zoneConfig.outlineFillColor}})}createMoveLine(){const t=this.calculateOutlinePoints(),o=this.calculateMoveLinePoints(t);return new y({points:o,closePath:!1,style:{color:this.zoneConfig.outlineStrokeColor,width:this.zoneConfig.outlineStrokeWidth,isDashed:this.zoneConfig.outlineDashed,dashArray:this.zoneConfig.outlineDashArray}})}calculateOutlinePoints(){const{points:t}=this.zoneData;if(t.length<4)return t;const o=f().getApp().toFixedSize(this.zoneConfig.outlineOffset);return d(t,o)}calculateMoveLinePoints(t){return t.length<4?[]:[t[v.BUTTON_INDICES.MOVE],this.calculateMoveButtonPosition()]}createSizeText(){const t=this.calculateZoneSizeText(),o=new z({text:t,style:{fontSize:this.controlsConfig.textFontSize,fontFamily:this.controlsConfig.textFontFamily,fontWeight:this.controlsConfig.textFontWeight,fill:this.zoneConfig.textColor,align:"center"}});o.anchor.set(.5);const e=this.calculateSizeTextPosition();o.position.set(e.x,e.y);const i=this.calculateSizeTextRotation();return o.rotation=i,o.eventMode="none",o}calculateZoneSizeText(){const{points:t}=this.zoneData;if(t.length<4)return"0m*0m";const[o,e,,i]=t,n=a(o,e),s=a(o,i),l=f(),r=l.pixelsToMeters(n),h=l.pixelsToMeters(s);return`${r.toFixed(1)}${this.controlsConfig.unitLabel}*${h.toFixed(1)}${this.controlsConfig.unitLabel}`}calculateSizeTextPosition(){const{points:t}=this.zoneData;if(t.length<4)return{x:0,y:0};const[o,e,i,n]=t,{textPosition:s,textOffset:a}=this.zoneConfig,l=f().getApp().toFixedSize(a);let d,u;switch(s){case"top":{d={x:(o.x+e.x)/2,y:(o.y+e.y)/2};const t=r(h(e,o)),i={x:t.y,y:-t.x};u={x:i.x*l,y:i.y*l};break}case"right":{d={x:(e.x+i.x)/2,y:(e.y+i.y)/2};const t=r(h(e,i)),o={x:t.y,y:-t.x};u={x:o.x*l,y:o.y*l};break}case"bottom":{d={x:(n.x+i.x)/2,y:(n.y+i.y)/2};const t=r(h(n,i)),o={x:-t.y,y:t.x};u={x:o.x*l,y:o.y*l};break}case"left":{d={x:(o.x+n.x)/2,y:(o.y+n.y)/2};const t=r(h(n,o)),e={x:t.y,y:-t.x};u={x:e.x*l,y:e.y*l};break}default:d={x:(o.x+e.x)/2,y:(o.y+e.y)/2},u={x:0,y:l}}return{x:d.x+u.x,y:d.y+u.y}}calculateSizeTextRotation(){const{points:t}=this.zoneData;if(t.length<4)return 0;const[o,e,i,n]=t,{textPosition:s}=this.zoneConfig;let a,l;switch(s){case"top":default:a=o,l=e;break;case"right":a=e,l=i;break;case"bottom":a=i,l=n;break;case"left":a=n,l=o}return u(a,l)}calculateMoveButtonPosition(){const t=this.calculateOutlinePoints();if(t.length<4)return{x:0,y:0};const o=f(),{controls:e}=o.getConfig(),i=t[v.BUTTON_INDICES.MOVE],n=t[2],s=t[0],a=o.getApp().toFixedSize(e.moveButtonOffset);return c(i,n,s,a)}handleDragStart=()=>{if(!this.isEditingEnabled())return;const t=f();this.initialZonePoints=this.zoneData.points.map(t=>({...t})),t.getApp().requestRender("zone-drag",!0)};handleDragMove=t=>{if(!this.isEditingEnabled()||0===this.initialZonePoints.length)return;const o=this.parent.toLocal(t.global),e=this.controlFill.getDragStartPosition();if(!e)return;const i=o.x-e.x,n=o.y-e.y;this.applyTranslation(i,n)};handleDragEnd=()=>{const t=f();this.initialZonePoints=[],t.getApp().stopRender("zone-drag"),this.zoneEvents.onUpdate?.(this.getZoneData())};applyTranslation(t,o){this.zoneData.points=this.initialZonePoints.map(e=>({x:e.x+t,y:e.y+o})),this.drawZone(),this.updateControlButtonsPosition()}handleRotationStart=t=>{const o=f();this.totalRotationAngle=0,this.rotationCenter=t,this.initialZonePoints=this.zoneData.points.map(t=>({...t})),o.getApp().requestRender("zone-rotate",!0)};handleRotationMove=t=>{this.totalRotationAngle+=t,this.applyRotation(t)};handleRotationEnd=()=>{const t=f();this.rotationCenter=null,this.totalRotationAngle=0,this.initialZonePoints=[],t.getApp().stopRender("zone-rotate"),this.zoneEvents.onUpdate?.(this.getZoneData())};applyRotation(t){this.rotationCenter&&(this.zoneData.points=p(this.zoneData.points,this.rotationCenter,t),this.drawZone(),this.updateControlButtonsPosition())}handleScaleStart=()=>{const t=f();this.initialZonePoints=this.zoneData.points.map(t=>({...t})),t.getApp().requestRender("zone-scale",!0)};handleScaleMove=t=>{0!==this.initialZonePoints.length&&this.applyEdgeBasedScale(t)};handleScaleEnd=()=>{const t=f();this.initialZonePoints=[],t.getApp().stopRender("zone-scale"),this.zoneEvents.onUpdate?.(this.getZoneData())};applyEdgeBasedScale(t){if(this.initialZonePoints.length<4)return;const o=f(),{FIXED:e}=v.BUTTON_INDICES,{x:i,y:n}=this.initialZonePoints[e],[,s,,a]=this.initialZonePoints,l={x:i,y:n},r=h(l,s),d=h(l,a),u=h(l,t),c=g(r),p=g(d);if(0===c||0===p)return;const x=o.metersToPixels(this.zoneConfig.minSize),[y,z]=[C(u,r,c,x),C(u,d,p,x)];this.zoneData.points=[l,{x:i+r.x*y,y:n+r.y*y},{x:i+r.x*y+d.x*z,y:n+r.y*y+d.y*z},{x:i+d.x*z,y:n+d.y*z}],this.drawZone(),this.updateControlButtonsPosition()}handleMoveStart=()=>{const t=f();this.initialZonePoints=this.zoneData.points.map(t=>({...t})),t.getApp().requestRender("zone-move",!0)};handleMove=t=>{if(!this.isEditingEnabled()||0===this.initialZonePoints.length)return;const o=this.parent.toLocal(t.global),e=this.moveButton?.getDragStartPosition();if(!e)return;const i=o.x-e.x,n=o.y-e.y;this.applyTranslation(i,n)};handleMoveEnd=()=>{const t=f();this.initialZonePoints=[],t.getApp().stopRender("zone-move"),this.zoneEvents.onUpdate?.(this.getZoneData())};handleDelete=()=>{this.zoneEvents.onRemove?.(this.zoneData.id)};setupClickHandler(){this.clickHandler=new x(this,{onClick:()=>{this.isEditingEnabled()||this.zoneEvents?.onClick?.(this.getZoneData())},stopPropagation:!1})}drawZone(){const{points:t}=this.zoneData;t.length<4||(this.controlFill.updatePoints(t),this.zoneBorder.updatePoints(t),this.updateOutlineBorder(),this.updateMoveLine(),this.updateSizeText())}updateOutlineBorder(){const t=this.calculateOutlinePoints();this.outlineBorder.updatePoints(t)}updateMoveLine(){const t=this.calculateOutlinePoints(),o=this.calculateMoveLinePoints(t);this.moveLine.updatePoints(o)}updateSizeText(){if(!this.sizeText)return;const t=this.calculateZoneSizeText();this.sizeText.updateText(t),this.updateSizeTextPosition()}updateSizeTextPosition(){if(!this.sizeText)return;const t=this.calculateSizeTextPosition();this.sizeText.position.set(t.x,t.y);const o=this.calculateSizeTextRotation();this.sizeText.rotation=o}updateControlButtonsPosition(){if(!this.deleteButton||!this.scaleButton||!this.moveButton)return;const t=this.calculateOutlinePoints();if(t.length<4)return;const{REMOVE:o,ROTATE:e,SCALE:i}=v.BUTTON_INDICES,n=this.calculateMoveButtonPosition(),s=[{button:this.deleteButton,point:t[o]},{button:this.scaleButton,point:t[i]},{button:this.moveButton,point:n}];this.rotateButton&&s.push({button:this.rotateButton,point:t[e]}),s.forEach(({button:t,point:o})=>t.position.set(o.x,o.y))}updateEditState(){const t=this.isEditingEnabled();this.controlButtons.visible=t,!t&&this.getCurrentOperationState().hasAnyOperation&&this.stopAllOperations(),this.outlineBorder.visible=t,this.moveLine.visible=t,this.sizeText&&(this.sizeText.visible=t),t&&(this.updateOutlineBorder(),this.updateMoveLine(),this.updateControlButtonsPosition(),this.updateSizeTextPosition()),this.controlFill.setInteractionEnabled(t),this.updateBorderStyle(t?this.zoneConfig.editing:this.zoneConfig.normal),this.zIndex=t?1e3:0}updateBorderStyle(t){this.zoneBorder.updateStyle({isDashed:t.isDashed,dashArray:t.dashArray})}getCurrentOperationState(){const t=this.controlFill.isCurrentlyDragging(),o=this.scaleButton?.isCurrentlyScaling()||!1,e=this.rotateButton?.isCurrentlyRotating()||!1,i=this.moveButton?.isCurrentlyMoving()||!1;return{isDragging:t,isScaling:o,isRotating:e,isMoving:i,hasAnyOperation:t||o||e||i}}stopAllOperations(){this.controlFill.stopDragging(),this.scaleButton?.stopScaling(),this.rotateButton?.stopRotation(),this.moveButton?.stopMoving()}stopDragging(){this.controlFill.stopDragging()}stopScaling(){this.scaleButton?.stopScaling()}stopRotating(){this.rotateButton?.stopRotation()}stopMoving(){this.moveButton?.stopMoving()}isCurrentlyDragging(){return this.controlFill.isCurrentlyDragging()}isCurrentlyScaling(){return this.scaleButton?.isCurrentlyScaling()||!1}isCurrentlyRotating(){return this.rotateButton?.isCurrentlyRotating()||!1}isCurrentlyMoving(){return this.moveButton?.isCurrentlyMoving()||!1}updateZoneData(t){const o=this.validateAndCorrectZoneSize(t.points),e=s(o);this.zoneData={...t,points:e},this.drawZone(),this.updateControlButtonsPosition(),this.updateEditState()}getZoneData(){return{...this.zoneData}}destroy(){f().emitter.off("antiScale",this.throttledUpdateOutline),this.clickHandler?.destroy(),this.clickHandler=null,this.deleteButton?.destroy(),this.rotateButton?.destroy(),this.scaleButton?.destroy(),this.moveButton?.destroy(),this.deleteButton=null,this.rotateButton=null,this.scaleButton=null,this.moveButton=null,this.zoneBorder?.destroy(),this.outlineBorder?.destroy(),this.moveLine?.destroy(),this.sizeText?.destroy(),this.controlFill?.destroy(),this.controlButtons?.destroy(),super.destroy()}}export{v as Zone};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{ChargingStationIcon as i}from"./ChargingStationIcon.js";import{LAYER_CHARGING_STATION as n}from"../../application/AppContainer.js";import{subscribeKey as t}from"../../../../node_modules/valtio/esm/vanilla/utils.js";import{Ring as s}from"../Base/Ring.js";import{Logger as o}from"../../utils/logger.js";import{Container as r}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as a}from"../../application/AppService.js";class e extends r{chargingStation;ring;unsubscribeFns=[];constructor(){super();const r=a();r.appContainer.addToLayer(n,this),this.ring=new s({config:r.chargingStationConfig}),this.ring.visible=r.runtimeSnapshot.showChargingStationRing,this.addChild(this.ring),this.chargingStation=new i,this.addChild(this.chargingStation);const e=t(r.runtime,"showChargingStationRing",i=>{o.log(`[runtime] showChargingStationRing: ${i}`),this.ring.visible=i});this.unsubscribeFns.push(e)}async draw({x:i,y:n,rotation:t}){0===i&&0===n||(this.ring.draw({x:i,y:n}),await this.chargingStation.draw({x:i,y:n,rotation:t}))}destroy(){this.unsubscribeFns.forEach(i=>i()),this.unsubscribeFns=[],this.ring.destroy(),super.destroy()}}export{e as ChargingStation};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{DashLine as i}from"../Base/DashLine.js";import{EndPoint as t}from"../Base/EndPoint.js";import{calculateLineEndpoints as e,calculateLineSegmentHitArea as n,sampleLinePoints as s,getDistance as o,extendLineSegment as r,isPointInPolygon as d,lineIntersectsBox as a}from"../../utils/algorithm.js";import{Logger as h}from"../../utils/logger.js";import{Container as l}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as g}from"../../application/AppService.js";import c from"../../../../node_modules/lodash-es/throttle.js";import{Polygon as p}from"../../../../node_modules/pixi.js/lib/maths/shapes/Polygon.js";import{Graphics as u}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";class P extends l{endPoints;dividerConfig;dividerEvents;roomId;roomGeometry=null;dashLine;solidLine=null;startEndPoint;endEndPoint;solidLinePoints=null;initialDividerPoints=[];isDragging=!1;dragStartPosition=null;throttledHandleScaleChange;constructor(i){super();const{endPoints:t,roomId:e,events:n={}}=i;this.dividerEvents=n,this.roomId=e;const s=g();this.dividerConfig=s.dividerConfig,this.roomGeometry=s.mapManager.getRoomById(this.roomId)||null,this.endPoints=t?this.validateDividerPoints(t):this.createDefaultdividerPoints(),this.throttledHandleScaleChange=c(this.handleScaleChange.bind(this),30,{leading:!0,trailing:!0}),this.initializeComponents(),this.calculateAndCreateSolidLine(),this.registerScaleListener(),this.setupDragEventListeners()}validateDividerPoints(i){if(i.length>=2)return i.slice(0,2);const t=i[0]||{x:0,y:0};return[t,{x:t.x+50,y:t.y}]}createDefaultdividerPoints(){if(!this.roomGeometry)return h.warn("Room geometry not available, creating fallback divider"),[{x:0,y:0},{x:100,y:0}];const i=g(),t=i.getApp().mapState;if(!t)return h.warn("Map state not available, creating fallback divider"),[{x:0,y:0},{x:100,y:0}];const{boundingBox:n}=this.roomGeometry,s=i.getApp().toFixedSize(this.dividerConfig.defaultExtension),o=this.dividerConfig.defaultDirection,r=n.x+n.width/2,d=n.y+n.height/2,a="horizontal"===o?n.width+2*s:n.height+2*s;return e(r,d,a,o).map(i=>({x:i.x-t.origin.x,y:i.y-t.origin.y}))}initializeComponents(){this.createDashLine(),this.addChild(this.dashLine),this.createEndPoints(),this.addChild(this.startEndPoint),this.addChild(this.endEndPoint),this.setupDashLineInteraction()}createDashLine(){const t=this.endPoints;if(t.length<2)return;const{dashLineWidth:e,dashLineDashArray:n,lineColor:s}=this.dividerConfig;this.dashLine=new i({start:t[0],end:t[1],style:{color:s.toString(),width:e,dashArray:n}})}createEndPoints(){const i=this.endPoints;this.startEndPoint=new t({position:i[0],config:this.dividerConfig,onDragStart:this.handleEndPointDragStart,onDragMove:i=>this.handleEndPointDragMove(0,i),onDragEnd:this.handleEndPointDragEnd}),this.endEndPoint=new t({position:i[1],config:this.dividerConfig,onDragStart:this.handleEndPointDragStart,onDragMove:i=>this.handleEndPointDragMove(1,i),onDragEnd:this.handleEndPointDragEnd})}setupDashLineInteraction(){this.dashLine&&(this.setupDashLineHitArea(),this.dashLine.off("pointerdown",this.handleDashLinePointerDown),this.dashLine.on("pointerdown",this.handleDashLinePointerDown))}setupDashLineHitArea(){const i=g();if(!this.dashLine)return;const t=this.endPoints;if(t.length<2)return;const{hitAreaThickness:e}=this.dividerConfig,s=i.getApp().toFixedSize(e),o=n(t[0],t[1],s);if(0===o.length)return;const r=new p(o);this.dashLine.hitArea=r}handleEndPointDragStart=()=>{const i=g();this.initialDividerPoints=this.endPoints.map(i=>({...i})),this.clearSolidLine(),i.getApp().requestRender("divider-endpoint-drag",!0)};handleEndPointDragMove=(i,t)=>{0!==this.initialDividerPoints.length&&(this.endPoints[i]=t,this.updateDashLine(),this.updateSolidLine(),this.setupDashLineHitArea())};handleEndPointDragEnd=()=>{const i=g();this.initialDividerPoints=[],i.getApp().stopRender("divider-endpoint-drag"),this.calculateAndCreateSolidLine(),this.checkAndResetIfOutOfRoom(),this.dividerEvents.onUpdate?.(this.getDividerEndPoints())};handleDashLinePointerDown=i=>{i.stopPropagation(),this.startDragging(i)};startDragging(i){const t=g();this.isDragging=!0;const e=this.parent.toLocal(i.global);this.dragStartPosition={x:e.x,y:e.y},this.initialDividerPoints=this.endPoints.map(i=>({...i})),this.clearSolidLine(),t.getApp().requestRender("divider-drag",!0),g().emitter.emit("gestureHijackStart",i)}setupDragEventListeners(){const{emitter:i}=g();i.on("gestureHijackPointerMove",this.handleDragPointerMove),i.on("gestureHijackPointerUp",this.handleDragPointerUp),i.on("gestureHijackCancel",this.handleDragCancel)}cleanupDragEventListeners(){const{emitter:i}=g();i.off("gestureHijackPointerMove",this.handleDragPointerMove),i.off("gestureHijackPointerUp",this.handleDragPointerUp),i.off("gestureHijackCancel",this.handleDragCancel)}handleDragPointerMove=i=>{if(!this.isDragging||!this.dragStartPosition||0===this.initialDividerPoints.length)return;const t=this.parent.toLocal(i.global),e=t.x-this.dragStartPosition.x,n=t.y-this.dragStartPosition.y;this.endPoints=this.initialDividerPoints.map(i=>({x:i.x+e,y:i.y+n})),this.updateAllComponents()};handleDragPointerUp=()=>{const i=g();this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,this.initialDividerPoints=[],i.getApp().stopRender("divider-drag"),this.calculateAndCreateSolidLine(),this.checkAndResetIfOutOfRoom(),this.dividerEvents.onUpdate?.(this.getDividerEndPoints()))};handleDragCancel=()=>{const i=g();this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,this.initialDividerPoints=[],i.getApp().stopRender("divider-drag"),this.calculateAndCreateSolidLine(),this.checkAndResetIfOutOfRoom(),this.dividerEvents.onUpdate?.(this.getDividerEndPoints()))};updateAllComponents(){this.updateDashLine(),this.updateSolidLine(),this.updateEndPoints(),this.setupDashLineHitArea()}updateDashLine(){const i=this.endPoints;i.length<2||!this.dashLine||this.dashLine.updatePoints(i[0],i[1])}updateSolidLine(){if(!this.solidLine||!this.solidLinePoints)return;const{solidLineWidth:i,lineColor:t}=this.dividerConfig,e=g().getApp().toFixedSize(i);this.solidLine.clear(),this.solidLine.setStrokeStyle({color:t.toString(),width:e}).moveTo(this.solidLinePoints[0].x,this.solidLinePoints[0].y).lineTo(this.solidLinePoints[1].x,this.solidLinePoints[1].y).stroke()}updateEndPoints(){const i=this.endPoints;this.startEndPoint&&this.startEndPoint.updatePosition(i[0]),this.endEndPoint&&this.endEndPoint.updatePosition(i[1])}registerScaleListener(){const{emitter:i}=g();i.on("antiScale",this.throttledHandleScaleChange)}handleScaleChange=()=>{this.startEndPoint?.redraw(),this.endEndPoint?.redraw(),this.updateSolidLine(),this.setupDashLineHitArea()};getDividerEndPoints(){return[...this.endPoints]}getEffectiveDividerPoints(){return this.solidLinePoints?[...this.solidLinePoints]:null}calculateAndCreateSolidLine(){if(this.clearSolidLine(),!this.roomId)return;if(!this.getRoomGraphics())return;const i=this.calculateLineRoomIntersection();i&&i.length>=2&&(this.solidLinePoints=[i[0],i[i.length-1]],this.createSolidLine())}getRoomGraphics(){const i=g().mapManager.roomFill;return i&&this.roomId&&i.getRoomGraphicsMap().get(this.roomId)||null}calculateLineRoomIntersection(){const i=this.endPoints;if(i.length<2)return null;if(!this.roomId)return null;const[t,e]=i,n=this.isPointInRoomFill(t),d=this.isPointInRoomFill(e);if(n||d)return null;const a=s(t,e),h=[];for(const i of a)this.isPointInRoomFill(i)&&h.push(i);if(0===h.length)return null;const l=h[0],g=h[h.length-1];return o(l,g)<3?null:r(l,g,.5)}isPointInRoomFill(i){if(!this.roomId)return!1;const t=g().getApp().mapState;if(!t)return!1;const e={x:i.x+t.origin.x,y:i.y+t.origin.y};return"raster"===t.mapType?this.isPointInRasterRoomFill(e):this.isPointInStructuredRoomFill(e)}isPointInRasterRoomFill(i){i.x-=.5,i.y-=.5;const t=g(),e=t.getApp().mapState,n=t.mapManager.roomFill;if(!e||!n)return!1;const s=n.getRasterRoomData(this.roomId);if(!s)return!1;const o=n.getMapWidth();if(0===o)return!1;const r=Math.round(i.y)*o+Math.round(i.x);for(let i=0;i<s.pixelIndices.length;i++)if(s.pixelIndices[i]===r)return!0;return!1}isPointInStructuredRoomFill(i){const t={x:Math.round(i.x),y:Math.round(i.y)},e=g(),n=e.getApp().mapState,s=e.mapManager.getRoomById(this.roomId);return!!(n&&s&&s.outlinePoints)&&d(t,s.outlinePoints,!0)}isDividerCompletelyOutOfRoom(){if(!this.roomGeometry)return!1;const{boundingBox:i}=this.roomGeometry,t=this.endPoints;if(t.length<2)return!1;const e=g().getApp().mapState;if(!e)return!1;const n={x:t[0].x+e.origin.x,y:t[0].y+e.origin.y},s={x:t[1].x+e.origin.x,y:t[1].y+e.origin.y};return!a(n,s,i.x,i.y,i.width,i.height)}checkAndResetIfOutOfRoom(){const i=g(),{resetDividerWhenOutOfRoom:t}=i.dividerConfig;t&&this.isDividerCompletelyOutOfRoom()&&this.resetToDefaultState()}resetToDefaultState(){this.endPoints=this.createDefaultdividerPoints(),this.calculateAndCreateSolidLine(),this.updateComponents(),this.dividerEvents.onUpdate?.(this.endPoints)}updateComponents(){const i=this.endPoints;i.length>=2&&(this.dashLine.updatePoints(i[0],i[1]),this.startEndPoint.position.set(i[0].x,i[0].y),this.endEndPoint.position.set(i[1].x,i[1].y),this.setupDashLineInteraction())}createSolidLine(){if(!this.solidLinePoints)return;const{solidLineWidth:i,lineColor:t}=this.dividerConfig,e=g();this.solidLine=new u,this.solidLine.eventMode="none";const n=e.getApp().toFixedSize(i);this.solidLine.setStrokeStyle({color:t.toString(),width:n}).moveTo(this.solidLinePoints[0].x,this.solidLinePoints[0].y).lineTo(this.solidLinePoints[1].x,this.solidLinePoints[1].y).stroke(),this.addChildAt(this.solidLine,0)}clearSolidLine(){this.solidLine&&(this.removeChild(this.solidLine),this.solidLine.destroy(),this.solidLine=null),this.solidLinePoints=null}updatedividerPoints(i){this.endPoints=this.validateDividerPoints(i),this.updateAllComponents(),this.calculateAndCreateSolidLine()}destroy(){g().emitter.off("antiScale",this.throttledHandleScaleChange),this.cleanupDragEventListeners(),this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,this.initialDividerPoints=[]),this.dashLine&&this.dashLine.off("pointerdown",this.handleDashLinePointerDown),this.clearSolidLine(),this.dashLine?.destroy(),this.startEndPoint?.destroy(),this.endEndPoint?.destroy(),super.destroy()}}export{P as Divider};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{ControlFill as t}from"../Base/ControlFill.js";import{Border as i}from"../Base/Border.js";import{FixedSizeText as e}from"../Base/FixedSizeText.js";import{ClickHandler as s}from"../../mixins/ClickHandler.js";import{EnhancedSprite as o}from"../Base/EnhancedSprite.js";import{Container as n}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as a}from"../../application/AppService.js";import r from"../../../../node_modules/lodash-es/throttle.js";class l extends n{spotData;spotConfig;controlsConfig;spotEvents;controlFill;spotBorder;centerIcon;sizeText;clickHandler=null;initialSpotPoint=null;throttledUpdateScale;constructor(t){super();const{spotData:i,events:e={}}=t,s=a();this.spotData=i,this.spotEvents=e,this.controlsConfig=s.controlsConfig,this.spotConfig=s.controlsConfig.spot,this.throttledUpdateScale=r(this.updateScale.bind(this),30,{leading:!0,trailing:!0}),this.initializeComponents(),this.updateEditState(),this.setupClickHandler(),this.registerScaleListener()}registerScaleListener(){a().emitter.on("antiScale",this.throttledUpdateScale)}updateScale(){this.isEditingEnabled()&&this.updateSizeTextPosition()}isEditingEnabled(){return a().runtimeSnapshot.editingSpotIds.includes(this.spotData.id)}calculateRectanglePoints(){const t=a(),{point:i}=this.spotData,{size:e}=this.spotConfig,s=t.metersToPixels(e)/2;return[{x:i.x-s,y:i.y-s},{x:i.x+s,y:i.y-s},{x:i.x+s,y:i.y+s},{x:i.x-s,y:i.y+s}]}initializeComponents(){const t=this.calculateRectanglePoints();this.controlFill=this.createControlFill(t),this.addChild(this.controlFill),this.spotBorder=this.createBorder(t),this.addChild(this.spotBorder),this.centerIcon=this.createCenterIcon(),this.addChild(this.centerIcon),this.sizeText=this.createSizeText(),this.addChild(this.sizeText),this.drawSpot()}createControlFill(i){const e=this.isEditingEnabled();return new t({points:i,fillColor:this.spotConfig.fillColor,enableInteraction:e,onDragStart:this.handleDragStart,onDragMove:this.handleDragMove,onDragEnd:this.handleDragEnd})}createBorder(t){const e=this.isEditingEnabled()?this.spotConfig.editing:this.spotConfig.normal;return new i({points:t,closePath:!0,style:{color:this.spotConfig.strokeColor,width:this.spotConfig.strokeWidth,isDashed:e.isDashed,dashArray:e.dashArray}})}createCenterIcon(){const t=new o;return this.loadIconTexture(t),t.position.set(this.spotData.point.x,this.spotData.point.y),t.eventMode="none",t.visible=!1,t}async loadIconTexture(t){const{iconSize:i}=this.spotConfig;await t.loadTextureAndSetSize("spotIcon",{width:i,height:i,sizeFixed:!1}),t.visible=this.isEditingEnabled()}createSizeText(){const t=this.calculateSpotSizeText(),i=new e({text:t,style:{fontSize:this.controlsConfig.textFontSize,fontFamily:this.controlsConfig.textFontFamily,fontWeight:this.controlsConfig.textFontWeight,fill:this.spotConfig.textColor,align:"center"}});i.anchor.set(.5);const s=this.calculateSizeTextPosition();return i.position.set(s.x,s.y),i.eventMode="none",i}calculateSpotSizeText(){const{size:t}=this.spotConfig;return`${t.toFixed(1)}${this.controlsConfig.unitLabel}*${t.toFixed(1)}${this.controlsConfig.unitLabel}`}calculateSizeTextPosition(){const t=a(),i=this.calculateRectanglePoints();if(i.length<4)return{x:0,y:0};const[e,s,o,n]=i,{textPosition:r,textOffset:l}=this.spotConfig,h=t.getApp().toFixedSize(l);let d,c;switch(r){case"top":default:d={x:(e.x+s.x)/2,y:(e.y+s.y)/2},c={x:d.x,y:d.y+h};break;case"right":d={x:(s.x+o.x)/2,y:(s.y+o.y)/2},c={x:d.x+h,y:d.y};break;case"bottom":d={x:(n.x+o.x)/2,y:(n.y+o.y)/2},c={x:d.x,y:d.y+h};break;case"left":d={x:(e.x+n.x)/2,y:(e.y+n.y)/2},c={x:d.x-h,y:d.y}}return c}handleDragStart=()=>{const t=a();this.isEditingEnabled()&&(this.initialSpotPoint={...this.spotData.point},t.getApp().requestRender("spot-drag",!0))};handleDragMove=t=>{if(!this.isEditingEnabled()||!this.initialSpotPoint)return;const i=this.parent.toLocal(t.global),e=this.controlFill.getDragStartPosition();if(!e)return;const s=i.x-e.x,o=i.y-e.y;this.applyTranslation(s,o)};handleDragEnd=()=>{const t=a();this.initialSpotPoint=null,t.getApp().stopRender("spot-drag"),this.spotEvents.onUpdate?.(this.getSpotData())};applyTranslation(t,i){this.initialSpotPoint&&(this.spotData.point={x:this.initialSpotPoint.x+t,y:this.initialSpotPoint.y+i},this.drawSpot())}setupClickHandler(){this.clickHandler=new s(this,{onClick:()=>{this.isEditingEnabled()||this.spotEvents?.onClick?.(this.getSpotData())},stopPropagation:!1})}drawSpot(){const t=this.calculateRectanglePoints();this.controlFill.updatePoints(t),this.spotBorder.updatePoints(t),this.centerIcon.position.set(this.spotData.point.x,this.spotData.point.y),this.updateSizeText()}updateSizeText(){if(!this.sizeText)return;const t=this.calculateSpotSizeText();this.sizeText.updateText(t),this.updateSizeTextPosition()}updateSizeTextPosition(){if(!this.sizeText)return;const t=this.calculateSizeTextPosition();this.sizeText.position.set(t.x,t.y)}updateEditState(){const t=this.isEditingEnabled();if(this.sizeText&&(this.sizeText.visible=t),this.centerIcon&&(this.centerIcon.visible=t),this.controlFill&&this.controlFill.setInteractionEnabled(t),this.spotBorder){const i=t?this.spotConfig.editing:this.spotConfig.normal;this.spotBorder.updateStyle({isDashed:i.isDashed,dashArray:i.dashArray})}this.zIndex=t?1e3:0}updateSpotData(t){this.spotData={...t},this.drawSpot(),this.updateEditState()}getSpotData(){return{...this.spotData}}destroy(){a().emitter.off("antiScale",this.throttledUpdateScale),this.clickHandler?.destroy(),this.clickHandler=null,this.controlFill?.destroy(),this.spotBorder?.destroy(),this.centerIcon?.destroy(),this.sizeText?.destroy(),super.destroy()}static create(t){const i=a();return new l({spotData:t,events:{onUpdate:t=>{i.events?.onUpdateSpot?.(t)},onClick:t=>{i.events?.onClickSpot?.(t)}}})}}export{l as Spot};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{getDistance as t,normalizeVector as i,createVector as e,calculateLineMidpointOffset as n,calculateUprightLineAngle as l,calculateLineSegmentOutline as o,calculateCornerExtension as s,calculateLineSegmentHitArea as a}from"../../utils/algorithm.js";import{ClickHandler as r}from"../../mixins/ClickHandler.js";import{Border as h}from"../Base/Border.js";import{DashLine as d}from"../Base/DashLine.js";import{FixedSizeText as c}from"../Base/FixedSizeText.js";import{MoveControlButton as u}from"../Base/MoveControlButton.js";import{RemoveControlButton as g}from"../Base/RemoveControlButton.js";import{ScaleControlButton as p}from"../Base/ScaleControlButton.js";import{Container as w}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as C}from"../../application/AppService.js";import f from"../../../../node_modules/lodash-es/throttle.js";import{Graphics as m}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{Polygon as L}from"../../../../node_modules/pixi.js/lib/maths/shapes/Polygon.js";class v extends w{static BUTTON_INDICES={REMOVE:0,SCALE:2,MOVE:3};wallData;wallConfig;controlsConfig;wallEvents;wallLine;outlineBorder;moveLine;lengthText;controlButtons;removeButton=null;scaleButton=null;moveButton=null;initialWallPoints=[];isDragging=!1;dragStartPosition=null;throttledUpdateOutline;throttledHandleScaleChange;wallLineClickHandler=null;constructor(t){super();const{wallData:i,events:e={}}=t;this.wallEvents=e;const n=C();this.wallConfig=n.controlsConfig.virtualWall,this.controlsConfig=n.controlsConfig,this.wallData={...i,points:this.validateAndCorrectWallLength(i.points)},this.throttledHandleScaleChange=f(this.handleScaleChange.bind(this),30,{leading:!0,trailing:!0}),this.throttledUpdateOutline=f(this.updateOutlineForScale.bind(this),30,{leading:!0,trailing:!0}),this.initializeComponents(),this.updateEditState(),this.registerScaleListener(),this.setupDragEventListeners()}validateAndCorrectWallLength(n){const l=C();if(n.length<2)return n;const[o,s]=n,a=l.metersToPixels(this.wallConfig.minWidth),r=t(o,s);if(r>=a)return n;if(0===r)return[o,{x:o.x+a,y:o.y}];const h=i(e(o,s));return[o,{x:o.x+h.x*a,y:o.y+h.y*a}]}isEditingEnabled(){return C().runtimeSnapshot.editingVirtualWallIds.includes(this.wallData.id)}updateOutlineForScale(){this.isEditingEnabled()&&(this.updateOutlineComponents(),this.updateControlButtonsPosition(),this.updateLengthTextPosition())}initializeComponents(){this.outlineBorder=this.createOutlineBorder(),this.addChild(this.outlineBorder),this.createWallLine(!1),this.addChild(this.wallLine),this.lengthText=this.createLengthText(),this.addChild(this.lengthText),this.moveLine=this.createMoveLine(),this.addChild(this.moveLine),this.controlButtons=new w,this.controlButtons.visible=this.isEditingEnabled(),this.addChild(this.controlButtons),this.createControlButtons()}createWallLine(t=!0){const{points:i}=this.wallData;if(i.length<2)return;const{lineWidth:e,lineColor:n,editing:l,normal:o}=this.wallConfig,s=this.isEditingEnabled()?l:o;s.isDashed?this.wallLine=new d({start:i[0],end:i[1],style:{color:n.toString(),width:e,dashArray:s.dashArray}}):this.wallLine=this.createSolidLine(i[0],i[1],e,n.toString()),t&&this.setupWallLineInteraction()}createLengthText(){const t=this.calculateWallLengthInMeters(),i=this.formatLengthText(t),e=new c({text:i,style:{fontSize:this.controlsConfig.textFontSize,fontFamily:this.controlsConfig.textFontFamily,fontWeight:this.controlsConfig.textFontWeight,fill:this.wallConfig.textColor,align:"center"}});e.anchor.set(.5);const n=this.calculateTextPosition();e.position.set(n.x,n.y);const l=this.calculateTextRotation();return e.rotation=l,e.eventMode="none",e}calculateWallLengthInMeters(){const i=C(),{points:e}=this.wallData;if(e.length<2)return 0;const n=t(e[0],e[1]);return i.pixelsToMeters(n)}formatLengthText(t){return`${t.toFixed(1)}${this.controlsConfig.unitLabel}`}calculateTextPosition(){const t=C(),{points:i}=this.wallData;if(i.length<2)return{x:0,y:0};const[e,l]=i,o=t.getApp().toFixedSize(this.wallConfig.textOffset);return n(e,l,o)}calculateTextRotation(){const{points:t}=this.wallData;if(t.length<2)return 0;const[i,e]=t;return l(i,e)}getOutlineStyle(){return{color:this.wallConfig.outlineStrokeColor,width:this.wallConfig.outlineStrokeWidth,isDashed:this.wallConfig.outlineDashed,dashArray:this.wallConfig.outlineDashArray,fillColor:this.wallConfig.outlineFillColor}}createOutlineBorder(){const t=this.calculateOutlinePoints();return new h({points:t,closePath:!0,style:this.getOutlineStyle()})}createMoveLine(){const t=this.calculateOutlinePoints(),i=this.calculateMoveLinePoints(t);return new h({points:i,closePath:!1,style:this.getOutlineStyle()})}calculateOutlinePoints(t){const i=C(),e=t||this.wallData.points;if(e.length<2)return e;const n=i.getApp().toFixedSize(this.wallConfig.outlineOffset),l=o(e[0],e[1],n);return[l[3],l[2],l[1],l[0]]}calculateMoveLinePoints(t){if(t.length<4)return[];const{MOVE:i}=v.BUTTON_INDICES;return[t[i],this.calculateMoveButtonPosition()]}calculateMoveButtonPosition(){const t=C(),{moveButtonOffset:i}=this.controlsConfig,e=this.calculateOutlinePoints();if(e.length<4)return{x:0,y:0};const{MOVE:n}=v.BUTTON_INDICES,l=e[n],o=e[(n+3)%4],a=e[(n+1)%4],r=t.getApp().toFixedSize(i);return s(l,a,o,r)}createControlButtons(){const t=this.calculateOutlinePoints();if(t.length<4)return;const{REMOVE:i,SCALE:e}=v.BUTTON_INDICES;this.removeButton=new g({iconAlias:"deleteIcon",backgroundColor:this.wallConfig.iconWrapperFillColor,onClick:this.handleRemove}),this.removeButton.position.set(t[i].x,t[i].y),this.scaleButton=new p({iconAlias:"scaleIcon",backgroundColor:this.wallConfig.iconWrapperFillColor,getTargetPoints:()=>this.calculateOutlinePoints(),getButtonIndex:()=>e,onScaleStart:this.handleScaleStart,onScaleMove:this.handleScaleMove,onScaleEnd:this.handleScaleEnd}),this.scaleButton.position.set(t[e].x,t[e].y);const n=this.calculateMoveButtonPosition();this.moveButton=new u({iconAlias:"moveIcon",backgroundColor:this.wallConfig.iconWrapperFillColor,onMoveStart:this.handleMoveStart,onMoveMove:this.handleMove,onMoveEnd:this.handleMoveEnd}),this.moveButton.position.set(n.x,n.y),this.controlButtons.addChild(this.removeButton),this.controlButtons.addChild(this.scaleButton),this.controlButtons.addChild(this.moveButton)}handleRemove=()=>{this.wallEvents.onRemove?.(this.wallData.id)};initializeOperation=()=>{this.initialWallPoints=this.wallData.points.map(t=>({...t}))};finalizeOperation=()=>{this.initialWallPoints=[],this.wallEvents.onUpdate?.(this.getWallData())};handleScaleStart=()=>{const t=C();this.initializeOperation(),t.getApp().requestRender("virtualwall-scale",!0)};handleScaleMove=t=>{0!==this.initialWallPoints.length&&this.applyScaleAndRotation(t)};handleScaleEnd=()=>{const t=C();this.finalizeOperation(),t.getApp().stopRender("virtualwall-scale")};handleMoveStart=()=>{const t=C();this.initializeOperation(),t.getApp().requestRender("virtualwall-move",!0)};handleMove=t=>{if(0===this.initialWallPoints.length)return;const i=this.parent.toLocal(t.global),e=this.getDragStartPosition()||this.moveButton?.getDragStartPosition();if(!e)return;const n=i.x-e.x,l=i.y-e.y;this.applyTranslation(n,l)};handleMoveEnd=()=>{const t=C();this.finalizeOperation(),t.getApp().stopRender("virtualwall-move")};applyScaleAndRotation(n){const l=C();if(this.initialWallPoints.length<2)return;const[o,s]=this.initialWallPoints,a=o,r=this.calculateOutlinePoints(this.initialWallPoints);if(r.length<4)return;const h=r[v.BUTTON_INDICES.SCALE],d=e(s,h),c={x:n.x-d.x,y:n.y-d.y},u=e(a,c),g=t(a,c),p=l.metersToPixels(this.wallConfig.minWidth);let w;if(g<p)if(0===g)w={x:a.x+p,y:a.y};else{const t=i(u);w={x:a.x+t.x*p,y:a.y+t.y*p}}else w=c;this.wallData.points=[a,w],this.updateAllComponents(),this.updateControlButtonsPosition()}applyTranslation(t,i){this.wallData.points=this.initialWallPoints.map(e=>({x:e.x+t,y:e.y+i})),this.updateAllComponents(),this.updateControlButtonsPosition()}updateAllComponents(){this.updateWallLine(),this.updateLengthText(),this.updateOutlineComponents()}updateWallLine(){const{points:t}=this.wallData;t.length<2||(this.wallLine instanceof d?this.wallLine.updatePoints(t[0],t[1]):this.redrawSolidLine(),this.setupWallLineHitArea())}updateLengthText(){if(!this.lengthText)return;const t=this.calculateWallLengthInMeters(),i=this.formatLengthText(t);this.lengthText.updateText(i),this.updateLengthTextPosition()}updateLengthTextPosition(){if(!this.lengthText)return;const t=this.calculateTextPosition();this.lengthText.position.set(t.x,t.y);const i=this.calculateTextRotation();this.lengthText.rotation=i}updateOutlineComponents(){const t=this.calculateOutlinePoints();this.outlineBorder.updatePoints(t);const i=this.calculateMoveLinePoints(t);this.moveLine.updatePoints(i)}updateControlButtonsPosition(){if(!this.removeButton||!this.scaleButton||!this.moveButton)return;const t=this.calculateOutlinePoints();if(t.length<4)return;const{REMOVE:i,SCALE:e}=v.BUTTON_INDICES,n=this.calculateMoveButtonPosition();this.removeButton.position.set(t[i].x,t[i].y),this.scaleButton.position.set(t[e].x,t[e].y),this.moveButton.position.set(n.x,n.y)}updateEditState(){const t=this.isEditingEnabled();this.controlButtons.visible=t,this.outlineBorder.visible=t,this.moveLine.visible=t,this.lengthText&&(this.lengthText.visible=t),t&&(this.updateOutlineComponents(),this.updateControlButtonsPosition(),this.updateLengthTextPosition()),this.updateWallLineStyle(),this.setupWallLineInteraction(),this.zIndex=t?1e3:0}createSolidLine(t,i,e,n){const l=C(),o=new m;o.eventMode="static";const s=l.getApp().toFixedSize(e);return o.moveTo(t.x,t.y),o.lineTo(i.x,i.y),o.stroke({color:n,width:s}),o}updateWallLineStyle(){const t=this.isEditingEnabled(),{editing:i,normal:e,lineWidth:n,lineColor:l}=this.wallConfig,o=t?i:e;this.wallLine instanceof d!==o.isDashed?(this.removeChild(this.wallLine),this.wallLine.destroy(),this.createWallLine(!1),this.addChild(this.wallLine)):this.wallLine instanceof d?this.wallLine.updateStyle({color:l.toString(),width:n,dashArray:o.dashArray}):this.redrawSolidLine()}registerScaleListener(){const{emitter:t}=C();t.on("antiScale",this.throttledUpdateOutline),t.on("antiScale",this.throttledHandleScaleChange)}redrawSolidLine(){const t=C();if(!this.wallLine||this.wallLine instanceof d)return;const{points:i}=this.wallData;if(i.length<2)return;const{lineWidth:e,lineColor:n}=this.wallConfig,l=t.getApp().toFixedSize(e);this.wallLine.clear(),this.wallLine.setStrokeStyle({color:n.toString(),width:l}).moveTo(i[0].x,i[0].y).lineTo(i[1].x,i[1].y).stroke()}handleScaleChange=()=>{this.redrawSolidLine(),this.setupWallLineHitArea()};setupWallLineInteraction(){if(!this.wallLine)return;this.setupWallLineHitArea();const t=this.isEditingEnabled();this.wallLineClickHandler?.destroy(),this.wallLineClickHandler=null,this.wallLine.off("pointerdown",this.handleWallLinePointerDown),t?this.wallLine.on("pointerdown",this.handleWallLinePointerDown):this.wallLineClickHandler=new r(this.wallLine,{onClick:()=>{this.wallEvents?.onClick?.(this.getWallData())},stopPropagation:!1})}setupDragEventListeners(){const{emitter:t}=C();t.on("gestureHijackPointerMove",this.handleDragPointerMove),t.on("gestureHijackPointerUp",this.handleDragPointerUp),t.on("gestureHijackCancel",this.handleDragCancel)}cleanupDragEventListeners(){const{emitter:t}=C();t.off("gestureHijackPointerMove",this.handleDragPointerMove),t.off("gestureHijackPointerUp",this.handleDragPointerUp),t.off("gestureHijackCancel",this.handleDragCancel)}handleWallLinePointerDown=t=>{this.isEditingEnabled()&&(t.stopPropagation(),this.startDragging(t))};startDragging(t){const i=C();this.isDragging=!0;const e=this.parent.toLocal(t.global);this.dragStartPosition={x:e.x,y:e.y},this.initializeOperation(),i.getApp().requestRender("virtualwall-drag",!0),C().emitter.emit("gestureHijackStart",t)}handleDragPointerMove=t=>{this.isDragging&&this.dragStartPosition&&this.handleMove(t)};handleDragPointerUp=()=>{const t=C();this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,t.getApp().stopRender("virtualwall-drag"),this.finalizeOperation())};handleDragCancel=()=>{const t=C();this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null,t.getApp().stopRender("virtualwall-drag"),this.handleMoveEnd())};getDragStartPosition(){return this.dragStartPosition}setupWallLineHitArea(){const t=C();if(!this.wallLine)return;const{points:i}=this.wallData;if(i.length<2)return;const{hitAreaThickness:e}=this.wallConfig,n=t.getApp().toFixedSize(e),l=a(i[0],i[1],n);if(0===l.length)return;const o=new L(l);this.wallLine.hitArea=o}getWallData(){return{...this.wallData}}updateWallData(t){this.wallData={...t,points:this.validateAndCorrectWallLength(t.points)},this.updateAllComponents(),this.updateControlButtonsPosition()}updateEditingState(){this.updateEditState()}destroy(){C().emitter.off("antiScale",this.throttledUpdateOutline),C().emitter.off("antiScale",this.throttledHandleScaleChange),this.cleanupDragEventListeners(),this.isDragging&&(this.isDragging=!1,this.dragStartPosition=null),this.wallLine&&this.wallLine.off("pointerdown",this.handleWallLinePointerDown),this.wallLineClickHandler?.destroy(),this.wallLineClickHandler=null,this.wallLine?.destroy(),this.lengthText?.destroy(),this.outlineBorder?.destroy(),this.moveLine?.destroy(),this.controlButtons?.destroy(),this.removeButton?.destroy(),this.scaleButton?.destroy(),this.moveButton?.destroy(),this.removeButton=null,this.scaleButton=null,this.moveButton=null,super.destroy()}}export{v as VirtualWall};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{LAYER_HEATMAP as o}from"../../application/AppContainer.js";import{Container as n}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as r}from"../../application/AppService.js";import{Color as i}from"../../../../node_modules/pixi.js/lib/color/Color.js";import{Graphics as e}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{Geometry as l}from"../../../../node_modules/pixi.js/lib/rendering/renderers/shared/geometry/Geometry.js";import{Shader as t}from"../../../../node_modules/pixi.js/lib/rendering/renderers/shared/shader/Shader.js";import{GlProgram as a}from"../../../../node_modules/pixi.js/lib/rendering/renderers/gl/shader/GlProgram.js";import{Mesh as s}from"../../../../node_modules/pixi.js/lib/scene/mesh/shared/Mesh.js";class c extends n{colorGradients=[];cellSize=2;constructor(){super();const n=r();n.appContainer.addToLayer(o,this);const e=n.heatMapConfig;this.colorGradients=e.colorGradients.map(o=>new i(o).toArray().slice(0,3).join(",")),this.cellSize=e.cellSize}draw(o,n=!0,r=.8){this.removeChildren();const i=n?this.gradientDrawing(o):this.gridDrawing(o);this.croppingHeatmap(i),i.alpha=r,this.addChild(i)}croppingHeatmap(o){const n=r().mapManager.roomFill.children.filter(o=>o instanceof e),i=new e;for(const o of n)i.context.instructions.push(...o.context.instructions);i.context.dirty=!0,o.setMask({mask:i}),this.addChild(i)}gridDrawing(o){const n=[],r=[],i=o.length,e=o[0].length;for(let l=0;l<i;l++)for(let i=0;i<e;i++){const e=o[l][i],t=this.cellSize/2,a=e.x-t,s=e.y-t,c=e.x+t,g=e.y+t;n.push(a,s),r.push(e.signal),n.push(c,s),r.push(e.signal),n.push(c,g),r.push(e.signal),n.push(a,s),r.push(e.signal),n.push(c,g),r.push(e.signal),n.push(a,g),r.push(e.signal)}const c=new l({attributes:{aPosition:new Float32Array(n),aSignal:new Float32Array(r)}}),g=new t({glProgram:new a({vertex:"\n in vec2 aPosition;\n in float aSignal;\n uniform mat3 uProjectionMatrix;\n uniform mat3 uWorldTransformMatrix;\n uniform mat3 uTransformMatrix;\n \n out float vSignal;\n \n void main() {\n mat3 mvp = uProjectionMatrix * uWorldTransformMatrix * uTransformMatrix;\n gl_Position = vec4((mvp * vec3(aPosition, 1.0)).xy, 0.0, 1.0);\n vSignal = aSignal;\n }\n ",fragment:`\n precision mediump float;\n \n in float vSignal;\n \n void main() {\n vec3 color;\n \n if (vSignal > 0.875) {\n color = vec3(${this.colorGradients[0]});\n } else if (vSignal > 0.75) {\n color = vec3(${this.colorGradients[1]});\n } else if (vSignal > 0.625) {\n color = vec3(${this.colorGradients[2]});\n } else if (vSignal > 0.5) {\n color = vec3(${this.colorGradients[3]});\n } else if (vSignal > 0.375) {\n color = vec3(${this.colorGradients[4]});\n } else if (vSignal > 0.25) {\n color = vec3(${this.colorGradients[5]});\n } else if (vSignal > 0.125) {\n color = vec3(${this.colorGradients[6]});\n } else {\n color = vec3(${this.colorGradients[7]});\n }\n gl_FragColor = vec4(color, 1.0);\n }\n `})}),m=new s({geometry:c,shader:g});return m.alpha=.8,m}gradientDrawing(o){const n=[],r=[],i=o.length,e=o[0].length;for(let l=0;l<i;l++)for(let t=0;t<e;t++){const a=o[l][t],s=this.cellSize/2,c=(n,r)=>n<0||n>=i||r<0||r>=e?a.signal:o[n][r].signal,g=(c(l-1,t-1)+c(l-1,t)+c(l,t-1)+a.signal)/4,m=(c(l-1,t)+c(l-1,t+1)+a.signal+c(l,t+1))/4,d=(a.signal+c(l,t+1)+c(l+1,t)+c(l+1,t+1))/4,p=(c(l,t-1)+a.signal+c(l+1,t-1)+c(l+1,t))/4,h=a.x-s,f=a.y-s,v=a.x+s,u=a.y+s;n.push(h,f,v,f,v,u),r.push(g,m,d),n.push(h,f,v,u,h,u),r.push(g,d,p)}const c=new l({attributes:{aPosition:new Float32Array(n),aSignal:new Float32Array(r)}}),g=new t({glProgram:new a({vertex:"\n in vec2 aPosition;\n in float aSignal;\n uniform mat3 uProjectionMatrix;\n uniform mat3 uWorldTransformMatrix;\n uniform mat3 uTransformMatrix;\n \n out float vSignal;\n \n void main() {\n mat3 mvp = uProjectionMatrix * uWorldTransformMatrix * uTransformMatrix;\n gl_Position = vec4((mvp * vec3(aPosition, 1.0)).xy, 0.0, 1.0);\n vSignal = aSignal;\n }\n ",fragment:`\n precision mediump float;\n \n in float vSignal;\n \n // 颜色插值函数\n vec3 interpolateColor(vec3 color1, vec3 color2, float t) {\n return mix(color1, color2, t);\n }\n \n void main() {\n vec3 color;\n float signal = clamp(vSignal, 0.0, 1.0);\n \n vec3 color1 = vec3(${this.colorGradients[7]});\n vec3 color2 = vec3(${this.colorGradients[6]});\n vec3 color3 = vec3(${this.colorGradients[5]});\n vec3 color4 = vec3(${this.colorGradients[4]});\n vec3 color5 = vec3(${this.colorGradients[3]});\n vec3 color6 = vec3(${this.colorGradients[2]});\n vec3 color7 = vec3(${this.colorGradients[1]});\n vec3 color8 = vec3(${this.colorGradients[0]});\n \n if (signal <= 0.125) {\n float t = signal / 0.125;\n color = interpolateColor(color1, color2, t);\n } else if (signal <= 0.25) {\n float t = (signal - 0.125) / 0.125;\n color = interpolateColor(color2, color3, t);\n } else if (signal <= 0.375) {\n float t = (signal - 0.25) / 0.125;\n color = interpolateColor(color3, color4, t);\n } else if (signal <= 0.5) {\n float t = (signal - 0.375) / 0.125;\n color = interpolateColor(color4, color5, t);\n } else if (signal <= 0.625) {\n float t = (signal - 0.5) / 0.125;\n color = interpolateColor(color5, color6, t);\n } else if (signal <= 0.75) {\n float t = (signal - 0.625) / 0.125;\n color = interpolateColor(color6, color7, t);\n } else if (signal <= 0.875) {\n float t = (signal - 0.75) / 0.125;\n color = interpolateColor(color7, color8, t);\n } else {\n color = color8;\n }\n \n gl_FragColor = vec4(color, 1.0);\n }\n `})}),m=new s({geometry:c,shader:g});return m.alpha=.8,m}}export{c as Heatmap};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{LAYER_CARPET as t}from"../../application/AppContainer.js";import{Logger as e}from"../../utils/logger.js";import{Container as r}from"../../../../node_modules/pixi.js/lib/scene/container/Container.js";import{useAppService as i}from"../../application/AppService.js";import{Assets as a}from"../../../../node_modules/pixi.js/lib/assets/Assets.js";import{TilingSprite as s}from"../../../../node_modules/pixi.js/lib/scene/sprite-tiling/TilingSprite.js";import{Graphics as o}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";class n extends r{carpetSprite=null;carpetMask=null;constructor(){super({isRenderGroup:!0}),i().appContainer.addToLayer(t,this)}async createCarpetFromRasterData(t,o){const n=i();if(!n.runtimeSnapshot.showCarpet)return;if(this.clearCarpet(),0===t.length)return;const{src:p,opacity:c,scale:h}=n.carpetConfig,l=await a.load(p);if(!l)return void e.warn(`Carpet texture not found: ${p}`);const d=this.createCarpetGraphics(t,o),u=d.getLocalBounds();if(0===u.width||0===u.height)return;const m=new s({texture:l,width:u.width,height:u.height});m.x=u.x,m.y=u.y,m.alpha=c,m.tileScale.set(h);const f=new r;f.addChild(d),m.mask=f,this.addChild(m),this.carpetSprite=m,this.carpetMask=f,n.getApp().renderOnceNextFrame()}createCarpetGraphics(t,e){const r=new o;for(let i=0;i<t.length;i++){const a=t[i],s=a%e,o=Math.floor(a/e);r.rect(s,o,1,1)}return r.fill(16777215),r}clearCarpet(){if(this.carpetSprite){try{this.removeChild(this.carpetSprite),this.carpetSprite.destroy()}catch(t){e.warn("Error destroying carpet sprite:",t)}this.carpetSprite=null}if(this.carpetMask){try{this.carpetMask.destroy()}catch(t){e.warn("Error destroying carpet mask:",t)}this.carpetMask=null}}async createCarpetFromStructuredData(t){const o=i();if(!o.runtimeSnapshot.showCarpet)return;if(this.clearCarpet(),0===t.length)return;const{src:n,opacity:p,scale:c}=o.carpetConfig,h=await a.load(n);if(!h)return void e.warn(`Carpet texture not found: ${n}`);const l=this.createCarpetGraphicsFromStructuredData(t),d=l.getLocalBounds();if(0===d.width||0===d.height)return;const u=new s({texture:h,width:d.width,height:d.height});u.x=d.x,u.y=d.y,u.alpha=p,u.tileScale.set(c);const m=new r;m.addChild(l),u.mask=m,this.addChild(u),this.carpetSprite=u,this.carpetMask=m,o.getApp().renderOnceNextFrame()}createCarpetGraphicsFromStructuredData(t){const e=new o;for(const r of t){const t=r.coordinates;for(let r=0;r<t.length;r+=2){const i=t[r],a=t[r+1];e.rect(i,a,1,1)}}return e.fill(16777215),e}destroy(){this.clearCarpet(),super.destroy()}}export{n as Carpet};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{LAYER_FREE as o}from"../../application/AppContainer.js";import{Graphics as s}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as r}from"../../application/AppService.js";class e extends s{constructor(){super(),r().appContainer.addToLayer(o,this)}draw(o){const s=r();this.clear(),this.setFillStyle({color:s.mapConfig.freeColor});for(const s of o){const o=s.coordinates;for(let s=0;s<o.length;s+=2){const r=o[s],e=o[s+1];this.rect(r,e,1,1)}}this.fill()}destroy(o){super.destroy(o)}}export{e as Free};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../../../node_modules/pixi.js/lib/index.js";import{LAYER_OBSTACLE as o}from"../../application/AppContainer.js";import{RASTER_CHUNK_SIZE as t}from"../../constant/index.js";import{Graphics as s}from"../../../../node_modules/pixi.js/lib/scene/graphics/shared/Graphics.js";import{useAppService as e}from"../../application/AppService.js";class i extends s{constructor(){super(),e().appContainer.addToLayer(o,this)}draw(o){const t=e();this.clear(),this.setFillStyle({color:t.mapConfig.obstacleColor});for(const t of o){const o=t.coordinates;for(let t=0;t<o.length;t+=2){const s=o[t],e=o[t+1];this.rect(s,e,1,1)}}this.fill()}drawRaster(o,s){const i=e();if(this.clear(),0!==o.length){this.setFillStyle({color:i.mapConfig.obstacleColor});for(let e=0;e<o.length;e+=t){const r=Math.min(e+t,o.length);for(let t=e;t<r;t++){const e=o[t],i=e%s,r=Math.floor(e/s);this.rect(i,r,1,1)}this.fill(),r<o.length&&this.setFillStyle({color:i.mapConfig.obstacleColor})}}}destroy(o){super.destroy(o)}}export{i as Obstacle};
|