@lightningjs/renderer 2.19.1 → 2.20.1

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 (134) hide show
  1. package/dist/src/common/CommonTypes.d.ts +11 -0
  2. package/dist/src/core/AutosizeManager.d.ts +29 -0
  3. package/dist/src/core/AutosizeManager.js +171 -0
  4. package/dist/src/core/AutosizeManager.js.map +1 -0
  5. package/dist/src/core/CoreNode.d.ts +1 -1
  6. package/dist/src/core/CoreNode.js +8 -0
  7. package/dist/src/core/CoreNode.js.map +1 -1
  8. package/dist/src/core/Stage.js +2 -1
  9. package/dist/src/core/Stage.js.map +1 -1
  10. package/dist/src/core/animations/Animation.d.ts +16 -0
  11. package/dist/src/core/animations/Animation.js +111 -0
  12. package/dist/src/core/animations/Animation.js.map +1 -0
  13. package/dist/src/core/animations/CoreTransition.d.ts +24 -0
  14. package/dist/src/core/animations/CoreTransition.js +63 -0
  15. package/dist/src/core/animations/CoreTransition.js.map +1 -0
  16. package/dist/src/core/animations/Playback.d.ts +62 -0
  17. package/dist/src/core/animations/Playback.js +155 -0
  18. package/dist/src/core/animations/Playback.js.map +1 -0
  19. package/dist/src/core/animations/Transition.d.ts +25 -0
  20. package/dist/src/core/animations/Transition.js +63 -0
  21. package/dist/src/core/animations/Transition.js.map +1 -0
  22. package/dist/src/core/animations/utils.d.ts +2 -0
  23. package/dist/src/core/animations/utils.js +137 -0
  24. package/dist/src/core/animations/utils.js.map +1 -0
  25. package/dist/src/core/lib/WebGlContextWrapper.d.ts +19 -5
  26. package/dist/src/core/lib/WebGlContextWrapper.js +35 -0
  27. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  28. package/dist/src/core/lib/collectionUtils.d.ts +5 -0
  29. package/dist/src/core/lib/collectionUtils.js +100 -0
  30. package/dist/src/core/lib/collectionUtils.js.map +1 -0
  31. package/dist/src/core/lib/textureCompression.d.ts +14 -2
  32. package/dist/src/core/lib/textureCompression.js +301 -65
  33. package/dist/src/core/lib/textureCompression.js.map +1 -1
  34. package/dist/src/core/platforms/Platform.d.ts +5 -0
  35. package/dist/src/core/platforms/Platform.js.map +1 -1
  36. package/dist/src/core/platforms/web/WebPlatform.d.ts +1 -0
  37. package/dist/src/core/platforms/web/WebPlatform.js +3 -0
  38. package/dist/src/core/platforms/web/WebPlatform.js.map +1 -1
  39. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +4 -0
  40. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +14 -11
  41. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  42. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +1 -1
  43. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +43 -8
  44. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  45. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +2 -7
  46. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +18 -49
  47. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
  48. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +0 -2
  49. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  50. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +3 -6
  51. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -1
  52. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +0 -11
  53. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -1
  54. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +5 -10
  55. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  56. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +5 -10
  57. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -1
  58. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +0 -12
  59. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
  60. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +1 -1
  61. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +1 -1
  62. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +1 -1
  63. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +1 -1
  64. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +5 -5
  65. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +1 -1
  66. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +1 -1
  67. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +1 -1
  68. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +1 -1
  69. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +5 -5
  70. package/dist/src/core/shaders/webgl/LinearGradient.js +2 -1
  71. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
  72. package/dist/src/core/shaders/webgl/RadialGradient.js +7 -6
  73. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
  74. package/dist/src/core/text-rendering/CanvasFontHandler.js +4 -1
  75. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -1
  76. package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +4 -6
  77. package/dist/src/core/text-rendering/CanvasTextRenderer.js +15 -23
  78. package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -1
  79. package/dist/src/core/text-rendering/SdfFontHandler.d.ts +125 -28
  80. package/dist/src/core/text-rendering/SdfFontHandler.js +337 -4
  81. package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -1
  82. package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +5 -6
  83. package/dist/src/core/text-rendering/SdfTextRenderer.js +19 -23
  84. package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -1
  85. package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +14 -16
  86. package/dist/src/core/text-rendering/TextLayoutEngine.js +248 -192
  87. package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -1
  88. package/dist/src/core/text-rendering/TextRenderer.d.ts +25 -11
  89. package/dist/src/core/textures/Texture.d.ts +12 -5
  90. package/dist/src/core/textures/Texture.js.map +1 -1
  91. package/dist/src/main-api/Inspector.js +9 -5
  92. package/dist/src/main-api/Inspector.js.map +1 -1
  93. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  94. package/package.json +1 -1
  95. package/src/common/CommonTypes.ts +16 -0
  96. package/src/core/CoreNode.test.ts +49 -0
  97. package/src/core/CoreNode.ts +10 -0
  98. package/src/core/Stage.ts +3 -1
  99. package/src/core/lib/WebGlContextWrapper.ts +49 -0
  100. package/src/core/lib/textureCompression.ts +416 -75
  101. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +16 -14
  102. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +1 -1
  103. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +44 -11
  104. package/src/core/renderers/webgl/WebGlCoreShader.ts +27 -75
  105. package/src/core/renderers/webgl/internal/ShaderUtils.ts +0 -2
  106. package/src/core/renderers/webgl/shaders/DefaultShader.ts +3 -6
  107. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +0 -11
  108. package/src/core/renderers/webgl/shaders/DynamicShader.ts +5 -10
  109. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +5 -10
  110. package/src/core/renderers/webgl/shaders/SdfShader.ts +0 -12
  111. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +1 -1
  112. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +1 -1
  113. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +1 -1
  114. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +1 -1
  115. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +5 -5
  116. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +1 -1
  117. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +1 -1
  118. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +1 -1
  119. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +1 -1
  120. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +5 -5
  121. package/src/core/textures/Texture.ts +13 -6
  122. package/src/main-api/Inspector.ts +9 -5
  123. package/dist/src/core/text-rendering/CanvasFont.d.ts +0 -14
  124. package/dist/src/core/text-rendering/CanvasFont.js +0 -111
  125. package/dist/src/core/text-rendering/CanvasFont.js.map +0 -1
  126. package/dist/src/core/text-rendering/CoreFont.d.ts +0 -33
  127. package/dist/src/core/text-rendering/CoreFont.js +0 -48
  128. package/dist/src/core/text-rendering/CoreFont.js.map +0 -1
  129. package/dist/src/core/text-rendering/FontManager.d.ts +0 -11
  130. package/dist/src/core/text-rendering/FontManager.js +0 -42
  131. package/dist/src/core/text-rendering/FontManager.js.map +0 -1
  132. package/dist/src/core/text-rendering/SdfFont.d.ts +0 -29
  133. package/dist/src/core/text-rendering/SdfFont.js +0 -142
  134. package/dist/src/core/text-rendering/SdfFont.js.map +0 -1
@@ -0,0 +1,137 @@
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
4
+ *
5
+ * Copyright 2023 Comcast Cable Communications Management, LLC.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the License);
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ const tfCache = {};
20
+ const cubicBezierMap = {
21
+ ease: [0.25, 0.1, 0.25, 1.0],
22
+ 'ease-in': [0.42, 0, 1.0, 1.0],
23
+ 'ease-out': [0, 0, 0.58, 1.0],
24
+ 'ease-in-out': [0.42, 0, 0.58, 1.0],
25
+ 'ease-in-sine': [0.12, 0, 0.39, 0],
26
+ 'ease-out-sine': [0.12, 0, 0.39, 0],
27
+ 'ease-in-out-sine': [0.37, 0, 0.63, 1],
28
+ 'ease-in-cubic': [0.32, 0, 0.67, 0],
29
+ 'ease-out-cubic': [0.33, 1, 0.68, 1],
30
+ 'ease-in-out-cubic': [0.65, 0, 0.35, 1],
31
+ 'ease-in-circ': [0.55, 0, 1, 0.45],
32
+ 'ease-out-circ': [0, 0.55, 0.45, 1],
33
+ 'ease-in-out-circ': [0.85, 0, 0.15, 1],
34
+ 'ease-in-back': [0.36, 0, 0.66, -0.56],
35
+ 'ease-out-back': [0.34, 1.56, 0.64, 1],
36
+ 'ease-in-out-back': [0.68, -0.6, 0.32, 1.6],
37
+ };
38
+ const createCubicBezierFunction = (a, b, c, d) => {
39
+ const xc = 3.0 * a;
40
+ const xb = 3.0 * (c - a) - xc;
41
+ const xa = 1.0 - xc - xb;
42
+ const yc = 3.0 * b;
43
+ const yb = 3.0 * (d - b) - yc;
44
+ const ya = 1.0 - yc - yb;
45
+ return function (time) {
46
+ if (time >= 1.0) {
47
+ return 1;
48
+ }
49
+ if (time <= 0) {
50
+ return 0;
51
+ }
52
+ let t = 0.5;
53
+ let cbx;
54
+ let cbxd;
55
+ let dx;
56
+ for (let it = 0; it < 20; it++) {
57
+ cbx = t * (t * (t * xa + xb) + xc);
58
+ dx = time - cbx;
59
+ if (dx > -1e-8 && dx < 1e-8) {
60
+ return t * (t * (t * ya + yb) + yc);
61
+ }
62
+ // Cubic bezier derivative.
63
+ cbxd = t * (t * (3 * xa) + 2 * xb) + xc;
64
+ if (cbxd > 1e-10 && cbxd < 1e-10) {
65
+ // Problematic. Fall back to binary search method.
66
+ break;
67
+ }
68
+ t += dx / cbxd;
69
+ }
70
+ // Fallback: binary search method. This is more reliable when there are near-0 slopes.
71
+ let minT = 0;
72
+ let maxT = 1;
73
+ for (let it = 0; it < 20; it++) {
74
+ t = 0.5 * (minT + maxT);
75
+ cbx = t * (t * (t * xa + xb) + xc);
76
+ dx = time - cbx;
77
+ if (dx > -1e-8 && dx < 1e-8) {
78
+ // Solution found!
79
+ return t * (t * (t * ya + yb) + yc);
80
+ }
81
+ if (dx < 0) {
82
+ maxT = t;
83
+ }
84
+ else {
85
+ minT = t;
86
+ }
87
+ }
88
+ return time;
89
+ };
90
+ };
91
+ const parseCubicBezier = (str) => {
92
+ //cubic-bezier(0.84, 0.52, 0.56, 0.6)
93
+ const regex = /-?\d*\.?\d+/g;
94
+ const match = str.match(regex);
95
+ if (match) {
96
+ const [num1, num2, num3, num4] = match;
97
+ const a = parseFloat(num1 || '0.42');
98
+ const b = parseFloat(num2 || '0');
99
+ const c = parseFloat(num3 || '1');
100
+ const d = parseFloat(num4 || '1');
101
+ const timing = createCubicBezierFunction(a, b, c, d);
102
+ tfCache[str] = timing;
103
+ return timing;
104
+ }
105
+ // parse failed, return linear
106
+ console.warn('cubic-bezier invalid' + str);
107
+ return null;
108
+ };
109
+ export const normalizeTimingFunction = (something) => {
110
+ if (something === undefined ||
111
+ (typeof something !== 'string' && typeof something !== 'function')) {
112
+ return null;
113
+ }
114
+ //predefined timing functions
115
+ if (typeof something === 'function') {
116
+ return something;
117
+ }
118
+ if (tfCache[something] !== undefined) {
119
+ return tfCache[something];
120
+ }
121
+ if (cubicBezierMap[something] !== undefined) {
122
+ const [a, b, c, d] = cubicBezierMap[something];
123
+ const tf = createCubicBezierFunction(a, b, c, d);
124
+ tfCache[something] = tf;
125
+ return tf;
126
+ }
127
+ //custom cubic-bezier
128
+ if (something.startsWith('cubic-bezier')) {
129
+ const tf = parseCubicBezier(something);
130
+ if (tf !== null) {
131
+ tfCache[something] = tf;
132
+ }
133
+ return tf;
134
+ }
135
+ return null;
136
+ };
137
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/animations/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,MAAM,OAAO,GAAmC,EAAE,CAAC;AAEnD,MAAM,cAAc,GAAgC;IAClD,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC;IAC5B,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC;IAC7B,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC;IACnC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,kBAAkB,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,mBAAmB,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;IAClC,eAAe,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,kBAAkB,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;IACtC,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,kBAAkB,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC;CAC5C,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAChC,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACO,EAAE;IAClB,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACnB,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9B,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IAEzB,OAAO,UAAU,IAAI;QACnB,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,CAAC;QACZ,IAAI,GAAW,CAAC;QAChB,IAAI,IAAY,CAAC;QACjB,IAAI,EAAU,CAAC;QAEf,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/B,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACnC,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACtC,CAAC;YAED,2BAA2B;YAC3B,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YAExC,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;gBACjC,kDAAkD;gBAClD,MAAM;YACR,CAAC;YAED,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,sFAAsF;QACtF,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/B,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YAExB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAEnC,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC5B,kBAAkB;gBAClB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACX,IAAI,GAAG,CAAC,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAE;IACvC,qCAAqC;IACrC,MAAM,KAAK,GAAG,cAAc,CAAC;IAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE/B,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;QACvC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAEtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,SAA8C,EACvB,EAAE;IACzB,IACE,SAAS,KAAK,SAAS;QACvB,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,UAAU,CAAC,EAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,cAAc,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -51,6 +51,7 @@ export declare class WebGlContextWrapper {
51
51
  readonly TEXTURE_WRAP_S: 10242;
52
52
  readonly TEXTURE_WRAP_T: 10243;
53
53
  readonly LINEAR: 9729;
54
+ readonly LINEAR_MIPMAP_LINEAR: 9987;
54
55
  readonly CLAMP_TO_EDGE: 33071;
55
56
  readonly RGB: 6407;
56
57
  readonly RGBA: 6408;
@@ -174,7 +175,7 @@ export declare class WebGlContextWrapper {
174
175
  *
175
176
  * @returns
176
177
  */
177
- createTexture(): WebGLTexture | null;
178
+ createTexture(): WebGLTexture;
178
179
  /**
179
180
  * ```
180
181
  * gl.deleteTexture(texture);
@@ -250,14 +251,14 @@ export declare class WebGlContextWrapper {
250
251
  *
251
252
  * @returns
252
253
  */
253
- createBuffer(): WebGLBuffer | null;
254
+ createBuffer(): WebGLBuffer;
254
255
  /**
255
256
  * ```
256
257
  * gl.createFramebuffer();
257
258
  * ```
258
259
  * @returns
259
260
  */
260
- createFramebuffer(): WebGLFramebuffer | null;
261
+ createFramebuffer(): WebGLFramebuffer;
261
262
  /**
262
263
  * ```
263
264
  * gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
@@ -328,6 +329,19 @@ export declare class WebGlContextWrapper {
328
329
  * @param offset
329
330
  */
330
331
  vertexAttribPointer(buffer: WebGLBuffer, index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;
332
+ /**
333
+ * Returns object with Attribute names as key and numbers as location values
334
+ *
335
+ * @param program
336
+ * @returns object with numbers
337
+ */
338
+ getUniformLocations(program: WebGLProgram): Record<string, WebGLUniformLocation>;
339
+ /**
340
+ * Returns object with Attribute names as key and numbers as location values
341
+ * @param program
342
+ * @returns object with numbers
343
+ */
344
+ getAttributeLocations(program: WebGLProgram): string[];
331
345
  /**
332
346
  * ```
333
347
  * gl.useProgram(program);
@@ -525,7 +539,7 @@ export declare class WebGlContextWrapper {
525
539
  *
526
540
  * @returns
527
541
  */
528
- createVertexArray(): WebGLVertexArrayObject | null;
542
+ createVertexArray(): WebGLVertexArrayObject;
529
543
  /**
530
544
  * ```
531
545
  * gl.bindVertexArray(vertexArray);
@@ -637,7 +651,7 @@ export declare class WebGlContextWrapper {
637
651
  *
638
652
  * @returns
639
653
  */
640
- createProgram(): WebGLProgram | null;
654
+ createProgram(): WebGLProgram;
641
655
  /**
642
656
  * ```
643
657
  * gl.getProgramParameter(program, pname);
@@ -61,6 +61,7 @@ export class WebGlContextWrapper {
61
61
  TEXTURE_WRAP_S;
62
62
  TEXTURE_WRAP_T;
63
63
  LINEAR;
64
+ LINEAR_MIPMAP_LINEAR;
64
65
  CLAMP_TO_EDGE;
65
66
  RGB;
66
67
  RGBA;
@@ -133,6 +134,7 @@ export class WebGlContextWrapper {
133
134
  this.TEXTURE_WRAP_S = gl.TEXTURE_WRAP_S;
134
135
  this.TEXTURE_WRAP_T = gl.TEXTURE_WRAP_T;
135
136
  this.LINEAR = gl.LINEAR;
137
+ this.LINEAR_MIPMAP_LINEAR = gl.LINEAR_MIPMAP_LINEAR;
136
138
  this.CLAMP_TO_EDGE = gl.CLAMP_TO_EDGE;
137
139
  this.RGB = gl.RGB;
138
140
  this.RGBA = gl.RGBA;
@@ -538,6 +540,39 @@ export class WebGlContextWrapper {
538
540
  }
539
541
  gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
540
542
  }
543
+ /**
544
+ * Returns object with Attribute names as key and numbers as location values
545
+ *
546
+ * @param program
547
+ * @returns object with numbers
548
+ */
549
+ getUniformLocations(program) {
550
+ const gl = this.gl;
551
+ const length = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
552
+ const result = {};
553
+ for (let i = 0; i < length; i++) {
554
+ const info = gl.getActiveUniform(program, i);
555
+ //remove bracket + value from uniform name;
556
+ let name = info.name.replace(/\[.*?\]/g, '');
557
+ result[name] = gl.getUniformLocation(program, name);
558
+ }
559
+ return result;
560
+ }
561
+ /**
562
+ * Returns object with Attribute names as key and numbers as location values
563
+ * @param program
564
+ * @returns object with numbers
565
+ */
566
+ getAttributeLocations(program) {
567
+ const gl = this.gl;
568
+ const length = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
569
+ const result = [];
570
+ for (let i = 0; i < length; i++) {
571
+ const { name } = gl.getActiveAttrib(program, i);
572
+ result[gl.getAttribLocation(program, name)] = name;
573
+ }
574
+ return result;
575
+ }
541
576
  /**
542
577
  * ```
543
578
  * gl.useProgram(program);
@@ -1 +1 @@
1
- {"version":3,"file":"WebGlContextWrapper.js","sourceRoot":"","sources":["../../../../src/core/lib/WebGlContextWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGlContextWrapper.js","sourceRoot":"","sources":["../../../../src/core/lib/WebGlContextWrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { CoreNode } from '../CoreNode.js';
2
+ export declare const bucketSortByZIndex: (nodes: CoreNode[], min: number) => void;
3
+ export declare const incrementalRepositionByZIndex: (changedNodes: CoreNode[], nodes: CoreNode[]) => void;
4
+ export declare const findChildIndexById: (node: CoreNode, children: CoreNode[]) => number;
5
+ export declare const removeChild: (node: CoreNode, children: CoreNode[]) => void;
@@ -0,0 +1,100 @@
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
4
+ *
5
+ * Copyright 2023 Comcast Cable Communications Management, LLC.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the License);
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ //Bucket sort implementation for sorting CoreNode arrays by zIndex
20
+ export const bucketSortByZIndex = (nodes, min) => {
21
+ const buckets = [];
22
+ const bucketIndices = [];
23
+ //distribute nodes into buckets
24
+ for (let i = 0; i < nodes.length; i++) {
25
+ const node = nodes[i];
26
+ const index = node.props.zIndex - min;
27
+ //create bucket if it doesn't exist
28
+ if (buckets[index] === undefined) {
29
+ buckets[index] = [];
30
+ bucketIndices.push(index);
31
+ }
32
+ buckets[index].push(node);
33
+ }
34
+ //sort each bucket using insertion sort
35
+ for (let i = 1; i < bucketIndices.length; i++) {
36
+ const key = bucketIndices[i];
37
+ let j = i - 1;
38
+ while (j >= 0 && bucketIndices[j] > key) {
39
+ bucketIndices[j + 1] = bucketIndices[j];
40
+ j--;
41
+ }
42
+ bucketIndices[j + 1] = key;
43
+ }
44
+ //flatten buckets
45
+ let idx = 0;
46
+ for (let i = 0; i < bucketIndices.length; i++) {
47
+ const bucket = buckets[bucketIndices[i]];
48
+ for (let j = 0; j < bucket.length; j++) {
49
+ nodes[idx++] = bucket[j];
50
+ }
51
+ }
52
+ //clean up
53
+ buckets.length = 0;
54
+ bucketIndices.length = 0;
55
+ };
56
+ export const incrementalRepositionByZIndex = (changedNodes, nodes) => {
57
+ for (let i = 0; i < changedNodes.length; i++) {
58
+ const node = changedNodes[i];
59
+ const currentIndex = findChildIndexById(node, nodes);
60
+ if (currentIndex === -1)
61
+ continue;
62
+ const targetZIndex = node.props.zIndex;
63
+ //binary search for correct insertion position
64
+ let left = 0;
65
+ let right = nodes.length;
66
+ while (left < right) {
67
+ const mid = (left + right) >>> 1;
68
+ if (nodes[mid].props.zIndex <= targetZIndex) {
69
+ left = mid + 1;
70
+ }
71
+ else {
72
+ right = mid;
73
+ }
74
+ }
75
+ //adjust target position if it's after the current position
76
+ const targetIndex = left > currentIndex ? left - 1 : left;
77
+ //only reposition if target is different from current
78
+ if (targetIndex !== currentIndex) {
79
+ nodes.splice(currentIndex, 1);
80
+ nodes.splice(targetIndex, 0, node);
81
+ }
82
+ }
83
+ };
84
+ export const findChildIndexById = (node, children) => {
85
+ for (let i = 0; i < children.length; i++) {
86
+ const child = children[i];
87
+ // @ts-ignore - accessing protected property
88
+ if (child._id === node._id) {
89
+ return i;
90
+ }
91
+ }
92
+ return -1;
93
+ };
94
+ export const removeChild = (node, children) => {
95
+ const index = findChildIndexById(node, children);
96
+ if (index !== -1) {
97
+ children.splice(index, 1);
98
+ }
99
+ };
100
+ //# sourceMappingURL=collectionUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectionUtils.js","sourceRoot":"","sources":["../../../../src/core/lib/collectionUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,kEAAkE;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAiB,EAAE,GAAW,EAAQ,EAAE;IACzE,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,+BAA+B;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACtC,mCAAmC;QACnC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,uCAAuC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC,CAAE,GAAG,GAAG,EAAE,CAAC;YACzC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;YACzC,CAAC,EAAE,CAAC;QACN,CAAC;QACD,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAC7B,CAAC;IAED,iBAAiB;IACjB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAE,CAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,UAAU;IACV,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACnB,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,YAAwB,EACxB,KAAiB,EACX,EAAE;IACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,YAAY,KAAK,CAAC,CAAC;YAAE,SAAS;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAEvC,8CAA8C;QAC9C,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAEzB,OAAO,IAAI,GAAG,KAAK,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,GAAG,CAAE,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC7C,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1D,qDAAqD;QACrD,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC9B,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAc,EACd,QAAoB,EACZ,EAAE;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAE3B,4CAA4C;QAC5C,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAc,EAAE,QAAoB,EAAQ,EAAE;IACxE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC"}
@@ -1,4 +1,6 @@
1
- import { type TextureData } from '../textures/Texture.js';
1
+ import { type CompressedData, type TextureData } from '../textures/Texture.js';
2
+ import type { WebGlContextWrapper } from './WebGlContextWrapper.js';
3
+ export type UploadCompressedTextureFunction = (glw: WebGlContextWrapper, texture: WebGLTexture, data: CompressedData) => void;
2
4
  /**
3
5
  * Tests if the given location is a compressed texture container
4
6
  * @param url
@@ -7,10 +9,20 @@ import { type TextureData } from '../textures/Texture.js';
7
9
  * and only supports the following extensions: .ktx and .pvr
8
10
  * @returns
9
11
  */
10
- export declare function isCompressedTextureContainer(url: string): boolean;
12
+ export declare function isCompressedTextureContainer(src: string): boolean;
11
13
  /**
12
14
  * Loads a compressed texture container
13
15
  * @param url
14
16
  * @returns
15
17
  */
16
18
  export declare const loadCompressedTexture: (url: string) => Promise<TextureData>;
19
+ type BlockInfo = {
20
+ width: number;
21
+ height: number;
22
+ bytes: number;
23
+ };
24
+ export declare const blockInfoMap: {
25
+ [key: number]: BlockInfo;
26
+ };
27
+ export declare const uploadCompressedTexture: Record<string, UploadCompressedTextureFunction>;
28
+ export {};