archgine 1.0.3-1 → 1.0.3-2

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.
Files changed (121) hide show
  1. package/lib/applications/application.d.ts +38 -0
  2. package/lib/archgine.d.ts +21 -0
  3. package/lib/archgine.esm.js +1 -1
  4. package/lib/archgine.mjs +1 -1
  5. package/lib/archgine.umd.js +1 -1
  6. package/lib/controls/interactive-controls.d.ts +12 -0
  7. package/lib/controls/orbit-controller.d.ts +156 -0
  8. package/lib/controls/orbit-controls.d.ts +177 -0
  9. package/lib/core/camera2.d.ts +64 -0
  10. package/lib/core/clock.d.ts +12 -0
  11. package/lib/core/event-dispatcher.d.ts +12 -0
  12. package/lib/core/global.d.ts +21 -0
  13. package/lib/core/monitor.d.ts +51 -0
  14. package/lib/core/object2.d.ts +101 -0
  15. package/lib/core/queue.d.ts +95 -0
  16. package/lib/core/ray-caster.d.ts +12 -0
  17. package/lib/core/view.d.ts +41 -0
  18. package/lib/effects/clear-pass.d.ts +8 -0
  19. package/lib/effects/effect-composer.d.ts +29 -0
  20. package/lib/effects/final-pass.d.ts +11 -0
  21. package/lib/effects/pass.d.ts +31 -0
  22. package/lib/effects/render-cached-pass.d.ts +13 -0
  23. package/lib/effects/render-pass.d.ts +9 -0
  24. package/lib/effects/texture-pass.d.ts +12 -0
  25. package/lib/env/conf.zh.d.ts +53 -0
  26. package/lib/env/constants.d.ts +7 -0
  27. package/lib/env/enums.d.ts +18 -0
  28. package/lib/env/index.d.ts +5 -0
  29. package/lib/environment.worker.js +1 -1
  30. package/lib/extras/adapter.d.ts +18 -0
  31. package/lib/extras/app.d.ts +29 -0
  32. package/lib/extras/chef.d.ts +29 -0
  33. package/lib/extras/dynamic-draw-rect.d.ts +11 -0
  34. package/lib/extras/interfaces.d.ts +2 -0
  35. package/lib/extras/main-scene.d.ts +14 -0
  36. package/lib/extras/svg-app.d.ts +77 -0
  37. package/lib/extras/svg-chef.d.ts +35 -0
  38. package/lib/extras/svg-multi-selector.d.ts +34 -0
  39. package/lib/extras/svg-painter.d.ts +17 -0
  40. package/lib/extras/svg-view.d.ts +55 -0
  41. package/lib/extras/tooltip.d.ts +10 -0
  42. package/lib/geometries/circle-geometry2.d.ts +22 -0
  43. package/lib/geometries/geometry2.d.ts +57 -0
  44. package/lib/geometries/line-geometry2.d.ts +29 -0
  45. package/lib/geometries/path-polyfill.d.ts +75 -0
  46. package/lib/geometries/path.d.ts +40 -0
  47. package/lib/geometries/polygon-geometry2.d.ts +13 -0
  48. package/lib/geometries/rect-geometry2.d.ts +18 -0
  49. package/lib/geometries/text-geometry2.d.ts +13 -0
  50. package/lib/helpers/axes-helper.d.ts +19 -0
  51. package/lib/helpers/cache.d.ts +10 -0
  52. package/lib/helpers/canvas-helper.d.ts +32 -0
  53. package/lib/helpers/dummy-helper.d.ts +4 -0
  54. package/lib/helpers/dxf-helper.d.ts +2 -0
  55. package/lib/helpers/loading-manager.d.ts +33 -0
  56. package/lib/helpers/texture-helper.d.ts +32 -0
  57. package/lib/interfaces.d.ts +775 -0
  58. package/lib/loaders/file-loader.d.ts +10 -0
  59. package/lib/loaders/image-loader.d.ts +7 -0
  60. package/lib/loaders/loader.d.ts +19 -0
  61. package/lib/loaders/svg-loader.d.ts +67 -0
  62. package/lib/main.d.ts +0 -0
  63. package/lib/materials/line-material2.d.ts +8 -0
  64. package/lib/materials/material2.d.ts +38 -0
  65. package/lib/materials/text-material2.d.ts +32 -0
  66. package/lib/math/box2.d.ts +55 -0
  67. package/lib/math/color.d.ts +61 -0
  68. package/lib/math/matrix3.d.ts +64 -0
  69. package/lib/math/utils.d.ts +12 -0
  70. package/lib/math/vector2.d.ts +100 -0
  71. package/lib/math/vector3.d.ts +7 -0
  72. package/lib/math/vector4.d.ts +8 -0
  73. package/lib/objects/group2.d.ts +29 -0
  74. package/lib/objects/mesh2.d.ts +18 -0
  75. package/lib/objects/node2.d.ts +24 -0
  76. package/lib/objects/shape.d.ts +58 -0
  77. package/lib/renders/binding-states.d.ts +35 -0
  78. package/lib/renders/buffer-renderer.d.ts +19 -0
  79. package/lib/renders/render-lists.d.ts +29 -0
  80. package/lib/renders/render-states.d.ts +18 -0
  81. package/lib/renders/render-target.d.ts +26 -0
  82. package/lib/renders/renderer2.d.ts +50 -0
  83. package/lib/renders/svg-renderer.d.ts +21 -0
  84. package/lib/renders/t-svg-renderer.d.ts +35 -0
  85. package/lib/routes.d.ts +1 -0
  86. package/lib/scenes/dynamic-scene.d.ts +5 -0
  87. package/lib/scenes/loading-scene.d.ts +19 -0
  88. package/lib/scenes/scene.d.ts +20 -0
  89. package/lib/scenes/static-scene.d.ts +11 -0
  90. package/lib/scenes/svg-loading-scene.d.ts +5 -0
  91. package/lib/scenes/svg-scene.d.ts +85 -0
  92. package/lib/shapes/arrow.d.ts +7 -0
  93. package/lib/shapes/axes.d.ts +36 -0
  94. package/lib/shapes/circle.d.ts +10 -0
  95. package/lib/shapes/polygon.d.ts +9 -0
  96. package/lib/shapes/svg.d.ts +18 -0
  97. package/lib/shapes/text.d.ts +19 -0
  98. package/lib/svg/circle-element.d.ts +9 -0
  99. package/lib/svg/defs-element.d.ts +6 -0
  100. package/lib/svg/element.d.ts +32 -0
  101. package/lib/svg/elements.d.ts +25 -0
  102. package/lib/svg/g-element.d.ts +6 -0
  103. package/lib/svg/interfaces.d.ts +46 -0
  104. package/lib/svg/path-element.d.ts +33 -0
  105. package/lib/svg/property.d.ts +25 -0
  106. package/lib/svg/style-element.d.ts +6 -0
  107. package/lib/svg/svg-element.d.ts +10 -0
  108. package/lib/svg/symbol-element.d.ts +6 -0
  109. package/lib/svg/text-element.d.ts +10 -0
  110. package/lib/svg/unknown-element.d.ts +6 -0
  111. package/lib/svg/use-element.d.ts +8 -0
  112. package/lib/svg/utils.d.ts +11 -0
  113. package/lib/svg/view-element.d.ts +6 -0
  114. package/lib/textures/texture.d.ts +45 -0
  115. package/lib/utils/md5.d.ts +70 -0
  116. package/lib/utils/request-anim-frame.d.ts +3 -0
  117. package/lib/utils/utils.d.ts +5 -0
  118. package/lib/utils/uuid.d.ts +2 -0
  119. package/lib/utils/validates.d.ts +9 -0
  120. package/lib/workers/environment.worker.d.ts +1 -0
  121. package/package.json +5 -3
@@ -0,0 +1,38 @@
1
+ import { default as EventDispatcher } from '../core/event-dispatcher';
2
+ import { IRenderer2Config } from '../interfaces';
3
+ import { default as Scene } from '../scenes/scene';
4
+ import { default as Box2 } from '../math/box2';
5
+ import { default as Renderer2 } from '../renders/renderer2';
6
+ import { View } from '../core/view';
7
+ export interface IApplicationConfig extends IRenderer2Config {
8
+ frameInterval?: number;
9
+ syncDelay?: number;
10
+ }
11
+ /**
12
+ * @author Dio Zhu
13
+ * @since 2024.8.22
14
+ */
15
+ export declare abstract class Application<Config extends IApplicationConfig> extends EventDispatcher {
16
+ name: string;
17
+ params: IApplicationConfig;
18
+ scenes: Scene[];
19
+ nextScenes: Scene[];
20
+ nextBoundingBox: Box2;
21
+ renderer: Renderer2<Config>;
22
+ view: View<Config>;
23
+ runningHandler: () => void;
24
+ protected constructor(config?: Config);
25
+ destroy(): void;
26
+ setViewAreaLimit(v: number): void;
27
+ updateScenes(): void;
28
+ hasScene(scene: Scene): boolean;
29
+ pushScene(scene: Scene): void;
30
+ clearScenes(): void;
31
+ removeScene(scene: Scene): void;
32
+ prepareScenes(...scenes: Scene[]): void;
33
+ pushScenes(...scenes: Scene[]): void;
34
+ trans2Scenes(...scenes: Scene[]): void;
35
+ start(): void;
36
+ /** @description application's lifeCycle */
37
+ running(): void;
38
+ }
@@ -0,0 +1,21 @@
1
+ import { Color } from './math/color.js';
2
+ declare const tiny: {
3
+ window: any;
4
+ version: string;
5
+ isBrowser: boolean;
6
+ dpr: number;
7
+ document: any;
8
+ time: number;
9
+ deltaTime: number;
10
+ config: any;
11
+ } & {
12
+ Color: typeof Color;
13
+ ColorsEnum: any;
14
+ extras: {
15
+ defaultConfig: any;
16
+ EnvironmentWorker: new (options?: {
17
+ name?: string;
18
+ }) => Worker;
19
+ };
20
+ };
21
+ export default tiny;
@@ -3995,7 +3995,7 @@ hu.__DOMHandler = on;
3995
3995
  hu.normalizeLineEndings = m2;
3996
3996
  hu.DOMParser = E2;
3997
3997
  var $g = hu.DOMParser;
3998
- const Vg = "1.0.3-1";
3998
+ const Vg = "1.0.3-2";
3999
3999
  function Xg() {
4000
4000
  return typeof window < "u" && ({}.toString.call(window) === "[object Window]" || {}.toString.call(window) === "[object global]");
4001
4001
  }
package/lib/archgine.mjs CHANGED
@@ -3995,7 +3995,7 @@ hu.__DOMHandler = on;
3995
3995
  hu.normalizeLineEndings = m2;
3996
3996
  hu.DOMParser = E2;
3997
3997
  var $g = hu.DOMParser;
3998
- const Vg = "1.0.3-1";
3998
+ const Vg = "1.0.3-2";
3999
3999
  function Xg() {
4000
4000
  return typeof window < "u" && ({}.toString.call(window) === "[object Window]" || {}.toString.call(window) === "[object global]");
4001
4001
  }
@@ -2,7 +2,7 @@
2
2
  `,nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"​",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"‍",zwnj:"‌"}),i.entityMap=i.HTML_ENTITIES})(Na);var Tu={},Or=vt.NAMESPACE,Bu=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,Sa=new RegExp("[\\-\\.0-9"+Bu.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),Fa=new RegExp("^"+Bu.source+Sa.source+"*(?::"+Bu.source+Sa.source+"*)?$"),qr=0,It=1,ar=2,Mr=3,or=4,sr=5,Pr=6,vn=7;function lr(i,u){this.message=i,this.locator=u,Error.captureStackTrace&&Error.captureStackTrace(this,lr)}lr.prototype=new Error,lr.prototype.name=lr.name;function Ra(){}Ra.prototype={parse:function(i,u,n){var s=this.domBuilder;s.startDocument(),Oa(u,u={}),W2(i,u,n,s,this.errorHandler),s.endDocument()}};function W2(i,u,n,s,p){function A(v){if(v>65535){v-=65536;var ve=55296+(v>>10),ht=56320+(v&1023);return String.fromCharCode(ve,ht)}else return String.fromCharCode(v)}function m(v){var ve=v.slice(1,-1);return Object.hasOwnProperty.call(n,ve)?n[ve]:ve.charAt(0)==="#"?A(parseInt(ve.substr(1).replace("x","0x"))):(p.error("entity not found:"+v),v)}function C(v){if(v>te){var ve=i.substring(te,v).replace(/&#?\w+;/g,m);W&&y(te),s.characters(ve,0,v-te),te=v}}function y(v,ve){for(;v>=B&&(ve=M.exec(i));)x=ve.index,B=x+ve[0].length,W.lineNumber++;W.columnNumber=v-x+1}for(var x=0,B=0,M=/.*(?:\r\n?|\n)|.*$/g,W=s.locator,Y=[{currentNSMap:u}],ae={},te=0;;){try{var U=i.indexOf("<",te);if(U<0){if(!i.substr(te).match(/^\s*$/)){var O=s.doc,oe=O.createTextNode(i.substr(te));O.appendChild(oe),s.currentElement=oe}return}switch(U>te&&C(U),i.charAt(U+1)){case"/":var X=i.indexOf(">",U+3),$=i.substring(U+2,X).replace(/[ \t\n\r]+$/g,""),se=Y.pop();X<0?($=i.substring(U+2).replace(/[\s<].*/,""),p.error("end tag name: "+$+" is not complete:"+se.tagName),X=U+1+$.length):$.match(/\s</)&&($=$.replace(/[\s<].*/,""),p.error("end tag name: "+$+" maybe not complete"),X=U+1+$.length);var re=se.localNSMap,pe=se.tagName==$,xe=pe||se.tagName&&se.tagName.toLowerCase()==$.toLowerCase();if(xe){if(s.endElement(se.uri,se.localName,$),re)for(var nt in re)Object.prototype.hasOwnProperty.call(re,nt)&&s.endPrefixMapping(nt);pe||p.fatalError("end tag name: "+$+" is not match the current start tagName:"+se.tagName)}else Y.push(se);X++;break;case"?":W&&y(U),X=X2(i,U,s);break;case"!":W&&y(U),X=V2(i,U,s,p);break;default:W&&y(U);var Z=new qa,_e=Y[Y.length-1].currentNSMap,X=H2(i,U,Z,_e,m,p),De=Z.length;if(!Z.closed&&$2(i,X,Z.tagName,ae)&&(Z.closed=!0,n.nbsp||p.warning("unclosed xml attribute")),W&&De){for(var Ve=Ia(W,{}),Te=0;Te<De;Te++){var j=Z[Te];y(j.offset),j.locator=Ia(W,{})}s.locator=Ve,La(Z,s,_e)&&Y.push(Z),s.locator=W}else La(Z,s,_e)&&Y.push(Z);Or.isHTML(Z.uri)&&!Z.closed?X=z2(i,X,Z.tagName,m,s):X++}}catch(v){if(v instanceof lr)throw v;p.error("element parse error: "+v),X=-1}X>te?te=X:C(Math.max(U,te)+1)}}function Ia(i,u){return u.lineNumber=i.lineNumber,u.columnNumber=i.columnNumber,u}function H2(i,u,n,s,p,A){function m(W,Y,ae){n.attributeNames.hasOwnProperty(W)&&A.fatalError("Attribute "+W+" redefined"),n.addValue(W,Y.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,p),ae)}for(var C,y,x=++u,B=qr;;){var M=i.charAt(x);switch(M){case"=":if(B===It)C=i.slice(u,x),B=Mr;else if(B===ar)B=Mr;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(B===Mr||B===It)if(B===It&&(A.warning('attribute value must after "="'),C=i.slice(u,x)),u=x+1,x=i.indexOf(M,u),x>0)y=i.slice(u,x),m(C,y,u-1),B=sr;else throw new Error("attribute value no end '"+M+"' match");else if(B==or)y=i.slice(u,x),m(C,y,u),A.warning('attribute "'+C+'" missed start quot('+M+")!!"),u=x+1,B=sr;else throw new Error('attribute value must after "="');break;case"/":switch(B){case qr:n.setTagName(i.slice(u,x));case sr:case Pr:case vn:B=vn,n.closed=!0;case or:case It:break;case ar:n.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return A.error("unexpected end of input"),B==qr&&n.setTagName(i.slice(u,x)),x;case">":switch(B){case qr:n.setTagName(i.slice(u,x));case sr:case Pr:case vn:break;case or:case It:y=i.slice(u,x),y.slice(-1)==="/"&&(n.closed=!0,y=y.slice(0,-1));case ar:B===ar&&(y=C),B==or?(A.warning('attribute "'+y+'" missed quot(")!'),m(C,y,u)):((!Or.isHTML(s[""])||!y.match(/^(?:disabled|checked|selected)$/i))&&A.warning('attribute "'+y+'" missed value!! "'+y+'" instead!!'),m(y,y,u));break;case Mr:throw new Error("attribute value missed!!")}return x;case"€":M=" ";default:if(M<=" ")switch(B){case qr:n.setTagName(i.slice(u,x)),B=Pr;break;case It:C=i.slice(u,x),B=ar;break;case or:var y=i.slice(u,x);A.warning('attribute "'+y+'" missed quot(")!!'),m(C,y,u);case sr:B=Pr;break}else switch(B){case ar:n.tagName,(!Or.isHTML(s[""])||!C.match(/^(?:disabled|checked|selected)$/i))&&A.warning('attribute "'+C+'" missed value!! "'+C+'" instead2!!'),m(C,C,u),u=x,B=It;break;case sr:A.warning('attribute space is required"'+C+'"!!');case Pr:B=It,u=x;break;case Mr:B=or,u=x;break;case vn:throw new Error("elements closed character '/' and '>' must be connected to")}}x++}}function La(i,u,n){for(var s=i.tagName,p=null,M=i.length;M--;){var A=i[M],m=A.qName,C=A.value,W=m.indexOf(":");if(W>0)var y=A.prefix=m.slice(0,W),x=m.slice(W+1),B=y==="xmlns"&&x;else x=m,y=null,B=m==="xmlns"&&"";A.localName=x,B!==!1&&(p==null&&(p={},Oa(n,n={})),n[B]=p[B]=C,A.uri=Or.XMLNS,u.startPrefixMapping(B,C))}for(var M=i.length;M--;){A=i[M];var y=A.prefix;y&&(y==="xml"&&(A.uri=Or.XML),y!=="xmlns"&&(A.uri=n[y||""]))}var W=s.indexOf(":");W>0?(y=i.prefix=s.slice(0,W),x=i.localName=s.slice(W+1)):(y=null,x=i.localName=s);var Y=i.uri=n[y||""];if(u.startElement(Y,x,s,i),i.closed){if(u.endElement(Y,x,s),p)for(y in p)Object.prototype.hasOwnProperty.call(p,y)&&u.endPrefixMapping(y)}else return i.currentNSMap=n,i.localNSMap=p,!0}function z2(i,u,n,s,p){if(/^(?:script|textarea)$/i.test(n)){var A=i.indexOf("</"+n+">",u),m=i.substring(u+1,A);if(/[&<]/.test(m))return/^script$/i.test(n)?(p.characters(m,0,m.length),A):(m=m.replace(/&#?\w+;/g,s),p.characters(m,0,m.length),A)}return u+1}function $2(i,u,n,s){var p=s[n];return p==null&&(p=i.lastIndexOf("</"+n+">"),p<u&&(p=i.lastIndexOf("</"+n)),s[n]=p),p<u}function Oa(i,u){for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(u[n]=i[n])}function V2(i,u,n,s){var p=i.charAt(u+2);switch(p){case"-":if(i.charAt(u+3)==="-"){var A=i.indexOf("-->",u+4);return A>u?(n.comment(i,u+4,A-u-4),A+3):(s.error("Unclosed comment"),-1)}else return-1;default:if(i.substr(u+3,6)=="CDATA["){var A=i.indexOf("]]>",u+9);return n.startCDATA(),n.characters(i,u+9,A-u-9),n.endCDATA(),A+3}var m=Y2(i,u),C=m.length;if(C>1&&/!doctype/i.test(m[0][0])){var y=m[1][0],x=!1,B=!1;C>3&&(/^public$/i.test(m[2][0])?(x=m[3][0],B=C>4&&m[4][0]):/^system$/i.test(m[2][0])&&(B=m[3][0]));var M=m[C-1];return n.startDTD(y,x,B),n.endDTD(),M.index+M[0].length}}return-1}function X2(i,u,n){var s=i.indexOf("?>",u);if(s){var p=i.substring(u,s).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return p?(p[0].length,n.processingInstruction(p[1],p[2]),s+2):-1}return-1}function qa(){this.attributeNames={}}qa.prototype={setTagName:function(i){if(!Fa.test(i))throw new Error("invalid tagName:"+i);this.tagName=i},addValue:function(i,u,n){if(!Fa.test(i))throw new Error("invalid attribute:"+i);this.attributeNames[i]=this.length,this[this.length++]={qName:i,value:u,offset:n}},length:0,getLocalName:function(i){return this[i].localName},getLocator:function(i){return this[i].locator},getQName:function(i){return this[i].qName},getURI:function(i){return this[i].uri},getValue:function(i){return this[i].value}};function Y2(i,u){var n,s=[],p=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;for(p.lastIndex=u,p.exec(i);n=p.exec(i);)if(s.push(n),n[1])return s}Tu.XMLReader=Ra,Tu.ParseError=lr;var K2=vt,Z2=Rt,Ma=Na,Pa=Tu,J2=Z2.DOMImplementation,Ua=K2.NAMESPACE,Q2=Pa.ParseError,j2=Pa.XMLReader;function ka(i){return i.replace(/\r[\n\u0085]/g,`
3
3
  `).replace(/[\r\u0085\u2028]/g,`
4
4
  `)}function Ga(i){this.options=i||{locator:{}}}Ga.prototype.parseFromString=function(i,u){var n=this.options,s=new j2,p=n.domBuilder||new Ur,A=n.errorHandler,m=n.locator,C=n.xmlns||{},y=/\/x?html?$/.test(u),x=y?Ma.HTML_ENTITIES:Ma.XML_ENTITIES;m&&p.setDocumentLocator(m),s.errorHandler=el(A,p,m),s.domBuilder=n.domBuilder||p,y&&(C[""]=Ua.HTML),C.xml=C.xml||Ua.XML;var B=n.normalizeLineEndings||ka;return i&&typeof i=="string"?s.parse(B(i),C,x):s.errorHandler.error("invalid doc source"),p.doc};function el(i,u,n){if(!i){if(u instanceof Ur)return u;i=u}var s={},p=i instanceof Function;n=n||{};function A(m){var C=i[m];!C&&p&&(C=i.length==2?function(y){i(m,y)}:i),s[m]=C&&function(y){C("[xmldom "+m+"] "+y+Nu(n))}||function(){}}return A("warning"),A("error"),A("fatalError"),s}function Ur(){this.cdata=!1}function fr(i,u){u.lineNumber=i.lineNumber,u.columnNumber=i.columnNumber}Ur.prototype={startDocument:function(){this.doc=new J2().createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(i,u,n,s){var p=this.doc,A=p.createElementNS(i,n||u),m=s.length;An(this,A),this.currentElement=A,this.locator&&fr(this.locator,A);for(var C=0;C<m;C++){var i=s.getURI(C),y=s.getValue(C),n=s.getQName(C),x=p.createAttributeNS(i,n);this.locator&&fr(s.getLocator(C),x),x.value=x.nodeValue=y,A.setAttributeNode(x)}},endElement:function(i,u,n){var s=this.currentElement;s.tagName,this.currentElement=s.parentNode},startPrefixMapping:function(i,u){},endPrefixMapping:function(i){},processingInstruction:function(i,u){var n=this.doc.createProcessingInstruction(i,u);this.locator&&fr(this.locator,n),An(this,n)},ignorableWhitespace:function(i,u,n){},characters:function(i,u,n){if(i=Wa.apply(this,arguments),i){if(this.cdata)var s=this.doc.createCDATASection(i);else var s=this.doc.createTextNode(i);this.currentElement?this.currentElement.appendChild(s):/^\s*$/.test(i)&&this.doc.appendChild(s),this.locator&&fr(this.locator,s)}},skippedEntity:function(i){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(i){(this.locator=i)&&(i.lineNumber=0)},comment:function(i,u,n){i=Wa.apply(this,arguments);var s=this.doc.createComment(i);this.locator&&fr(this.locator,s),An(this,s)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(i,u,n){var s=this.doc.implementation;if(s&&s.createDocumentType){var p=s.createDocumentType(i,u,n);this.locator&&fr(this.locator,p),An(this,p),this.doc.doctype=p}},warning:function(i){console.warn("[xmldom warning] "+i,Nu(this.locator))},error:function(i){console.error("[xmldom error] "+i,Nu(this.locator))},fatalError:function(i){throw new Q2(i,this.locator)}};function Nu(i){if(i)return`
5
- @`+(i.systemId||"")+"#[line:"+i.lineNumber+",col:"+i.columnNumber+"]"}function Wa(i,u,n){return typeof i=="string"?i.substr(u,n):i.length>=u+n||u?new java.lang.String(i,u,n)+"":i}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(i){Ur.prototype[i]=function(){return null}});function An(i,u){i.currentElement?i.currentElement.appendChild(u):i.doc.appendChild(u)}Dn.__DOMHandler=Ur,Dn.normalizeLineEndings=ka,Dn.DOMParser=Ga;var tl=Dn.DOMParser;const rl="1.0.3-1";function nl(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const cr=typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{document:void 0,tinyEngine:void 0};cr.Path2D||w2(cr),cr.DOMParser||(cr.DOMParser=tl);const ul={window:cr,version:rl,isBrowser:nl(),dpr:typeof window<"u"&&window.devicePixelRatio||1,document:cr.document,time:0,deltaTime:0,config:er};var mn={exports:{}};/**
5
+ @`+(i.systemId||"")+"#[line:"+i.lineNumber+",col:"+i.columnNumber+"]"}function Wa(i,u,n){return typeof i=="string"?i.substr(u,n):i.length>=u+n||u?new java.lang.String(i,u,n)+"":i}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(i){Ur.prototype[i]=function(){return null}});function An(i,u){i.currentElement?i.currentElement.appendChild(u):i.doc.appendChild(u)}Dn.__DOMHandler=Ur,Dn.normalizeLineEndings=ka,Dn.DOMParser=Ga;var tl=Dn.DOMParser;const rl="1.0.3-2";function nl(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}const cr=typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{document:void 0,tinyEngine:void 0};cr.Path2D||w2(cr),cr.DOMParser||(cr.DOMParser=tl);const ul={window:cr,version:rl,isBrowser:nl(),dpr:typeof window<"u"&&window.devicePixelRatio||1,document:cr.document,time:0,deltaTime:0,config:er};var mn={exports:{}};/**
6
6
  * @license
7
7
  * Lodash <https://lodash.com/>
8
8
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
@@ -0,0 +1,12 @@
1
+ import { OrbitControls } from './orbit-controls';
2
+ import { ICamera2, ICanvas } from '../interfaces';
3
+ export declare class InteractiveControls extends OrbitControls {
4
+ name: string;
5
+ mouseButtons: any;
6
+ private readonly clickHandler;
7
+ constructor(camera: ICamera2, domElement: ICanvas);
8
+ destroy(): void;
9
+ bindMapEvents(): void;
10
+ unbindMapEvents(): void;
11
+ handleClick(e: any): void;
12
+ }
@@ -0,0 +1,156 @@
1
+ import { ICamera2, IVector2 } from '../interfaces';
2
+ import { default as EventDispatcher } from '../core/event-dispatcher';
3
+ export declare class OrbitController extends EventDispatcher {
4
+ name: string;
5
+ isSvg: boolean;
6
+ dom: HTMLElement;
7
+ domOffset: IVector2;
8
+ camera: ICamera2;
9
+ hammer: HammerManager;
10
+ enabled: boolean;
11
+ enablePan: boolean;
12
+ enableRotate: boolean;
13
+ rotateSpeed: number;
14
+ enableZoom: boolean;
15
+ minZoom: number;
16
+ maxZoom: number;
17
+ zoomSpeed: number;
18
+ zoomChanged: boolean;
19
+ distanceStart: number;
20
+ distanceEnd: number;
21
+ state: number;
22
+ EPS: number;
23
+ focus: IVector2;
24
+ target: IVector2;
25
+ scaled: number;
26
+ rotateTheta: number;
27
+ enableDamping: boolean;
28
+ dampingFactor: number;
29
+ mouseButtons: any;
30
+ private isWheeling;
31
+ private finalTimer?;
32
+ private rotateStart;
33
+ private rotateEnd;
34
+ private rotateDelta;
35
+ private panStart;
36
+ private panEnd;
37
+ private panOffset;
38
+ private dollyStart;
39
+ private dollyOffset;
40
+ private readonly contextMenuHandler;
41
+ private readonly wheelHandler;
42
+ private readonly pointerDownHandler;
43
+ private readonly pointerUpHandler;
44
+ private readonly pointerMoveHandler;
45
+ private readonly pointerOverHandler;
46
+ private readonly pointerLeaveHandler;
47
+ private readonly tapHandler;
48
+ private readonly panHandler;
49
+ private readonly pinchHandler;
50
+ private readonly pressHandler;
51
+ private readonly swipeHandler;
52
+ private readonly hammerInputHandler;
53
+ constructor(dom: HTMLElement, camera: ICamera2, isSvg?: boolean);
54
+ destroy(): void;
55
+ update(): void;
56
+ bindEvents(): void;
57
+ unbindEvents(): void;
58
+ setFocus(x: number, y: number): void;
59
+ handleTap(e: any): void;
60
+ handleDoubleTap(e: any): void;
61
+ handlePress(e: any): void;
62
+ handlePan(e: any): void;
63
+ handlePinch(e: any): void;
64
+ handleRotate(e: any): void;
65
+ handleSwipe(e: any): void;
66
+ handleHammerInput(e: any): void;
67
+ handleContextMenu(e: any): void;
68
+ handleWheel(e: any): void;
69
+ onDollyIn(dollyScale: number): void;
70
+ onDollyOut(dollyScale: number): void;
71
+ getZoomScale(delta: number): number;
72
+ handlePointerDown(e: any): void;
73
+ handlePointerUp(): void;
74
+ handlePointerLeave(): void;
75
+ handlePointerMove(e: any): void;
76
+ handlePointerOver(e: any): void;
77
+ onRotate(x: number, y: number): void;
78
+ }
79
+ export declare enum StateEnum {
80
+ NONE = -1,
81
+ ROTATE = 0,
82
+ DOLLY = 1,
83
+ PAN = 2,
84
+ TOUCH_ROTATE = 3,
85
+ TOUCH_PAN = 4,
86
+ TOUCH_DOLLY_PAN = 5,
87
+ TOUCH_DOLLY_ROTATE = 6,
88
+ HAMMER_INPUT = 9
89
+ }
90
+ export declare enum MouseEnum {
91
+ LEFT = -1,
92
+ MIDDLE = 1,
93
+ RIGHT = 2,
94
+ ROTATE = 0,
95
+ DOLLY = 1,
96
+ PAN = 2
97
+ }
98
+ export declare enum TouchEnum {
99
+ ROTATE = 0,
100
+ PAN = 1,
101
+ DOLLY_PAN = 2,
102
+ DOLLY_ROTATE = 3
103
+ }
104
+ export declare enum EventsEnum {
105
+ CONTEXTMENU = "contextmenu",
106
+ LOSTPOINTERCAPTURE = "lostpointercapture",
107
+ MOUSEOVER = "mouseover",
108
+ MOUSEOUT = "mouseout",
109
+ MOUSELEAVE = "mouseleave",
110
+ MOUSEENTER = "mouseenter",
111
+ MOUSEMOVE = "mousemove",
112
+ MOUSEDOWN = "mousedown",
113
+ MOUSEUP = "mouseup",
114
+ POINTERMOVE = "pointermove",
115
+ POINTERDOWN = "pointerdown",
116
+ POINTERUP = "pointerup",
117
+ POINTERCANCEL = "pointercancel",
118
+ POINTEROUT = "pointerout",
119
+ POINTERLEAVE = "pointerleave",
120
+ POINTEROVER = "pointerover",
121
+ POINTERENTER = "pointerenter",
122
+ TOUCHSTART = "touchstart",
123
+ TOUCHEND = "touchend",
124
+ TOUCHMOVE = "touchmove",
125
+ TOUCHCANCEL = "touchcancel",
126
+ WHEEL = "wheel",
127
+ WHEEL_START = "wheelstart",
128
+ WHEEL_END = "wheelend",
129
+ MOUSEWHEEL = "mousewheel",
130
+ CLICK = "click",
131
+ DBLCLICK = "dblclick",
132
+ CONTEXT_LOST = "contextlost",
133
+ CONTEXT_RESTORED = "contextrestored",
134
+ CONTROLS_CHANGED = "controlschanged",
135
+ TAP = "tap",
136
+ SINGLE_TAP = "singletap",
137
+ DOUBLE_TAP = "doubletap",
138
+ PRESS = "press",
139
+ PAN = "pan",
140
+ PAN_START = "panstart",
141
+ PAN_MOVE = "panmove",
142
+ PAN_END = "panend",
143
+ ROTATE = "rotate",
144
+ ROTATE_START = "rotatestart",
145
+ ROTATE_MOVE = "rotatemove",
146
+ ROTATE_END = "rotateend",
147
+ PINCH = "pinch",
148
+ PINCH_START = "pinchstart",
149
+ PINCH_MOVE = "pinchmove",
150
+ PINCH_END = "pinchend",
151
+ PINCH_IN = "pinchin",
152
+ PINCH_OUT = "pinchout",
153
+ SWIPE = "swipe",
154
+ CHANGE_START = "change_start",
155
+ CHANGE_END = "change_end"
156
+ }
@@ -0,0 +1,177 @@
1
+ import { default as Vector2 } from '../math/vector2';
2
+ import { default as EventDispatcher } from '../core/event-dispatcher';
3
+ import { ICamera2, ICanvas, IMatrix3, IVector2 } from '../interfaces';
4
+ interface IScene {
5
+ }
6
+ export interface IOrbitControlsConfig {
7
+ minDistance?: number;
8
+ maxDistance?: number;
9
+ enablePan?: boolean;
10
+ enableRotate?: boolean;
11
+ enableZoom?: boolean;
12
+ focusMode?: boolean;
13
+ autoRotate?: boolean;
14
+ autoRotateSpeed?: number;
15
+ enableDamping?: boolean;
16
+ dampingFactor?: number;
17
+ }
18
+ /**
19
+ * OrbitControls
20
+ * @todo dolly pan to zoom. Dio Zhu 2024.8.14
21
+ */
22
+ export declare class OrbitControls extends EventDispatcher {
23
+ name: string;
24
+ camera: ICamera2;
25
+ domElement: ICanvas;
26
+ domOffset: Vector2;
27
+ enableNegateControl: boolean;
28
+ focus: Vector2;
29
+ target: Vector2;
30
+ minDistance: number;
31
+ maxDistance: number;
32
+ minZoom: number;
33
+ maxZoom: number;
34
+ enableZoom: boolean;
35
+ zoomSpeed: number;
36
+ zoomChanged: boolean;
37
+ enableRotate: boolean;
38
+ rotateSpeed: number;
39
+ enablePan: boolean;
40
+ panSpeed: number;
41
+ arrowKeys: any;
42
+ mouseButtons: any;
43
+ touches: {
44
+ ONE: TouchEnum;
45
+ TWO: TouchEnum;
46
+ };
47
+ private _lastPosition;
48
+ target0: IVector2;
49
+ position0: IVector2;
50
+ scene: IScene | null;
51
+ enabled: boolean;
52
+ state: number;
53
+ EPS: number;
54
+ private pointers;
55
+ private pointerPositions;
56
+ scaled: number;
57
+ private rotateStart;
58
+ private rotateEnd;
59
+ private rotateDelta;
60
+ rotateTheta: number;
61
+ private panStart;
62
+ private panEnd;
63
+ private panDelta;
64
+ private panOffset;
65
+ private dollyStart;
66
+ private dollyEnd;
67
+ private dollyDelta;
68
+ private dollyOffset;
69
+ enableDamping: boolean;
70
+ dampingFactor: number;
71
+ private readonly contextMenuHandler;
72
+ private readonly pointerDownHandler;
73
+ private readonly pointerUpHandler;
74
+ private readonly pointerCancelHandler;
75
+ private readonly pointerMoveHandler;
76
+ private readonly wheelHandler;
77
+ constructor(camera: ICamera2, domElement: ICanvas);
78
+ destroy(): void;
79
+ update(): void;
80
+ pan(deltaX: number, deltaY: number): void;
81
+ panLeft(distance: number, objectMatrix: IMatrix3): void;
82
+ panUp(distance: number, objectMatrix: IMatrix3): void;
83
+ dollyIn(dollyScale: number): void;
84
+ dollyOut(dollyScale: number): void;
85
+ rotating(): void;
86
+ bindScene(scene: IScene): void;
87
+ bindEvents(): void;
88
+ unbindEvents(): void;
89
+ handleContextMenu(e: any): void;
90
+ handlePointerDown(e: any): void;
91
+ handlePointerCancel(e: any): void;
92
+ addPointer(e: any): void;
93
+ removePointer(e: any): void;
94
+ trackPointer(e: any): void;
95
+ getSecondPointerPosition(e: any): any;
96
+ onMouseDown(e: any): void;
97
+ handleMouseDownDolly(e: any): void;
98
+ handleMouseDownRotate(e: any): void;
99
+ handleMouseDownPan(e: any): void;
100
+ handleMouseMoveRotate(e: any): void;
101
+ handleMouseMoveDolly(e: any): void;
102
+ handleMouseMovePan(e: any): void;
103
+ handlePointerMove(e: any): void;
104
+ handlePointerUp(e: any): void;
105
+ onMouseMove(e: any): void;
106
+ onTouchStart(e: any): void;
107
+ onTouchMove(e: any): void;
108
+ handleTouchStartRotate(): void;
109
+ handleTouchStartPan(): void;
110
+ handleTouchStartDolly(): void;
111
+ handleTouchStartDollyPan(): void;
112
+ handleTouchStartDollyRotate(): void;
113
+ handleTouchMoveRotate(e: any): void;
114
+ handleTouchMovePan(e: any): void;
115
+ handleTouchMoveDolly(e: any): void;
116
+ handleTouchMoveDollyPan(e: any): void;
117
+ handleTouchMoveDollyRotate(e: any): void;
118
+ handleWheel(e: any): void;
119
+ handleMouseWheel(e: any): void;
120
+ getZoomScale(): number;
121
+ setFocus(x: number, y: number): void;
122
+ }
123
+ export declare enum StateEnum {
124
+ NONE = -1,
125
+ ROTATE = 0,
126
+ DOLLY = 1,
127
+ PAN = 2,
128
+ TOUCH_ROTATE = 3,
129
+ TOUCH_PAN = 4,
130
+ TOUCH_DOLLY_PAN = 5,
131
+ TOUCH_DOLLY_ROTATE = 6
132
+ }
133
+ export declare enum MouseEnum {
134
+ LEFT = -1,
135
+ MIDDLE = 1,
136
+ RIGHT = 2,
137
+ ROTATE = 0,
138
+ DOLLY = 1,
139
+ PAN = 2
140
+ }
141
+ export declare enum TouchEnum {
142
+ ROTATE = 0,
143
+ PAN = 2,
144
+ DOLLY = 1,
145
+ DOLLY_PAN = 2,
146
+ DOLLY_ROTATE = 3
147
+ }
148
+ export declare enum EventsEnum {
149
+ CONTEXTMENU = "contextmenu",
150
+ LOSTPOINTERCAPTURE = "lostpointercapture",
151
+ MOUSEOVER = "mouseover",
152
+ MOUSEOUT = "mouseout",
153
+ MOUSELEAVE = "mouseleave",
154
+ MOUSEENTER = "mouseenter",
155
+ MOUSEMOVE = "mousemove",
156
+ MOUSEDOWN = "mousedown",
157
+ MOUSEUP = "mouseup",
158
+ POINTERMOVE = "pointermove",
159
+ POINTERDOWN = "pointerdown",
160
+ POINTERUP = "pointerup",
161
+ POINTERCANCEL = "pointercancel",
162
+ POINTEROUT = "pointerout",
163
+ POINTERLEAVE = "pointerleave",
164
+ POINTEROVER = "pointerover",
165
+ POINTERENTER = "pointerenter",
166
+ TOUCHSTART = "touchstart",
167
+ TOUCHEND = "touchend",
168
+ TOUCHMOVE = "touchmove",
169
+ TOUCHCANCEL = "touchcancel",
170
+ WHEEL = "wheel",
171
+ CLICK = "click",
172
+ DBLCLICK = "dblclick",
173
+ CONTEXT_LOST = "contextlost",
174
+ CONTEXT_RESTORED = "contextrestored",
175
+ CONTROLS_CHANGED = "controlschanged"
176
+ }
177
+ export {};
@@ -0,0 +1,64 @@
1
+ import { default as Vector2 } from '../math/vector2';
2
+ import { ICamera2, IObject2, IVector2 } from '../interfaces';
3
+ import { default as Matrix3 } from '../math/matrix3';
4
+ import { Object2 } from './object2';
5
+ import { default as Box2 } from '../math/box2';
6
+ export interface ICamera2Config {
7
+ width?: number;
8
+ height?: number;
9
+ aspect?: number;
10
+ left?: number;
11
+ right?: number;
12
+ top?: number;
13
+ bottom?: number;
14
+ eye?: number[];
15
+ up?: number[];
16
+ helperEnable?: boolean;
17
+ flipY?: boolean;
18
+ }
19
+ interface IView {
20
+ enabled: boolean;
21
+ width: number;
22
+ height: number;
23
+ offset: IVector2;
24
+ }
25
+ export default class Camera2<Config extends ICamera2Config = ICamera2Config> extends Object2 implements ICamera2 {
26
+ readonly isCamera: boolean;
27
+ type: string;
28
+ name: string;
29
+ params: any;
30
+ matrixAutoUpdate: boolean;
31
+ matrixWorldAutoUpdate: boolean;
32
+ projectionMatrix: Matrix3;
33
+ projectionMatrixInverse: Matrix3;
34
+ viewMatrix: Matrix3;
35
+ viewMatrixNeedsUpdate: boolean;
36
+ viewArea: number;
37
+ left: number;
38
+ right: number;
39
+ top: number;
40
+ bottom: number;
41
+ width: number;
42
+ height: number;
43
+ aspect: number;
44
+ view: IView | undefined;
45
+ constructor(config?: Config);
46
+ destroy(): void;
47
+ get pixelWidth(): number;
48
+ set(l?: number, r?: number, t?: number, b?: number): void;
49
+ setByBox(box: Box2): void;
50
+ resize(w: number, h: number): void;
51
+ getWorldDirection(target: Vector2): Vector2;
52
+ /** @override */
53
+ updateMatrixWorld(force?: boolean): void;
54
+ updateProjectionMatrix(): void;
55
+ updateViewMatrix(): void;
56
+ update(): void;
57
+ computeBoundingBox(): Box2;
58
+ updateBoundingBox(): void;
59
+ toJSON(): any;
60
+ fromJSON(o: any): void;
61
+ clone(): any;
62
+ copy(source: Camera2, recursive?: boolean): IObject2;
63
+ }
64
+ export {};
@@ -0,0 +1,12 @@
1
+ export declare class Clock {
2
+ autoStart: boolean;
3
+ startTime: number;
4
+ oldTime: number;
5
+ elapsedTime: number;
6
+ running: boolean;
7
+ constructor(autoStart?: boolean);
8
+ start(): void;
9
+ stop(): void;
10
+ getElapsedTime(): number;
11
+ getDelta(): number;
12
+ }
@@ -0,0 +1,12 @@
1
+ import { IEvent } from '../interfaces';
2
+ export default class EventDispatcher {
3
+ _listeners: Map<string, Function[]>;
4
+ destroy(): void;
5
+ addEventListener(type: string, listener: Function): void;
6
+ addEventListeners(types: string, listener: Function): void;
7
+ isListening(type: string): boolean;
8
+ hasEventListener(type: string, listener: Function): boolean;
9
+ removeEventListener(type: string, listener: Function): void;
10
+ dispatchEvent(event: IEvent): void;
11
+ dispatchEventAsync(event: IEvent): void;
12
+ }
@@ -0,0 +1,21 @@
1
+ export interface IGLOB {
2
+ window: any;
3
+ version: string;
4
+ isBrowser: boolean;
5
+ dpr: number;
6
+ document?: any;
7
+ config?: any;
8
+ time: number;
9
+ deltaTime: number;
10
+ }
11
+ export declare const GLOB: {
12
+ window: any;
13
+ version: string;
14
+ isBrowser: boolean;
15
+ dpr: number;
16
+ document: any;
17
+ time: number;
18
+ deltaTime: number;
19
+ config: any;
20
+ };
21
+ export declare const global: {};