@lightningjs/renderer 3.0.0-beta22 → 3.0.0-beta23

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 (166) hide show
  1. package/README.md +93 -0
  2. package/dist/exports/platform.d.ts +7 -0
  3. package/dist/exports/platform.js +27 -0
  4. package/dist/exports/platform.js.map +1 -0
  5. package/dist/src/core/AutosizeManager.d.ts +29 -0
  6. package/dist/src/core/AutosizeManager.js +169 -0
  7. package/dist/src/core/AutosizeManager.js.map +1 -0
  8. package/dist/src/core/CoreNode.js +10 -14
  9. package/dist/src/core/CoreNode.js.map +1 -1
  10. package/dist/src/core/CoreTextureManager.d.ts +0 -13
  11. package/dist/src/core/CoreTextureManager.js +4 -78
  12. package/dist/src/core/CoreTextureManager.js.map +1 -1
  13. package/dist/src/core/Stage.js +2 -12
  14. package/dist/src/core/Stage.js.map +1 -1
  15. package/dist/src/core/animations/Animation.d.ts +21 -0
  16. package/dist/src/core/animations/Animation.js +194 -0
  17. package/dist/src/core/animations/Animation.js.map +1 -0
  18. package/dist/src/core/animations/CoreAnimationController.d.ts +1 -1
  19. package/dist/src/core/animations/CoreAnimationController.js +4 -2
  20. package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
  21. package/dist/src/core/animations/Playback.d.ts +64 -0
  22. package/dist/src/core/animations/Playback.js +169 -0
  23. package/dist/src/core/animations/Playback.js.map +1 -0
  24. package/dist/src/core/animations/Transition.d.ts +27 -0
  25. package/dist/src/core/animations/Transition.js +52 -0
  26. package/dist/src/core/animations/Transition.js.map +1 -0
  27. package/dist/src/core/animations/utils.d.ts +2 -0
  28. package/dist/src/core/animations/utils.js +136 -0
  29. package/dist/src/core/animations/utils.js.map +1 -0
  30. package/dist/src/core/lib/collectionUtils.js +3 -2
  31. package/dist/src/core/lib/collectionUtils.js.map +1 -1
  32. package/dist/src/core/lib/utils.d.ts +0 -5
  33. package/dist/src/core/lib/utils.js +0 -63
  34. package/dist/src/core/lib/utils.js.map +1 -1
  35. package/dist/src/core/platforms/GlContextWrapper.d.ts +136 -0
  36. package/dist/src/core/platforms/GlContextWrapper.js +32 -0
  37. package/dist/src/core/platforms/GlContextWrapper.js.map +1 -0
  38. package/dist/src/core/platforms/Platform.d.ts +74 -13
  39. package/dist/src/core/platforms/Platform.js +18 -0
  40. package/dist/src/core/platforms/Platform.js.map +1 -1
  41. package/dist/src/core/platforms/web/WebGlContextWrapper.d.ts +776 -0
  42. package/dist/src/core/platforms/web/WebGlContextWrapper.js +1208 -0
  43. package/dist/src/core/platforms/web/WebGlContextWrapper.js.map +1 -0
  44. package/dist/src/core/platforms/web/WebPlatform.d.ts +13 -2
  45. package/dist/src/core/platforms/web/WebPlatform.js +109 -8
  46. package/dist/src/core/platforms/web/WebPlatform.js.map +1 -1
  47. package/dist/src/core/platforms/web/WebPlatformChrome50.d.ts +17 -0
  48. package/dist/src/core/platforms/web/WebPlatformChrome50.js +50 -0
  49. package/dist/src/core/platforms/web/WebPlatformChrome50.js.map +1 -0
  50. package/dist/src/core/platforms/web/WebPlatformLegacy.d.ts +18 -0
  51. package/dist/src/core/platforms/web/WebPlatformLegacy.js +99 -0
  52. package/dist/src/core/platforms/web/WebPlatformLegacy.js.map +1 -0
  53. package/dist/src/core/platforms/web/WebPlatformNext.d.ts +21 -0
  54. package/dist/src/core/platforms/web/WebPlatformNext.js +52 -0
  55. package/dist/src/core/platforms/web/WebPlatformNext.js.map +1 -0
  56. package/dist/src/core/platforms/web/lib/ImageWorker.d.ts +15 -0
  57. package/dist/src/core/platforms/web/lib/ImageWorker.js +189 -0
  58. package/dist/src/core/platforms/web/lib/ImageWorker.js.map +1 -0
  59. package/dist/src/core/platforms/web/lib/createImageBitmap.d.ts +1 -0
  60. package/dist/src/core/platforms/web/lib/createImageBitmap.js +27 -0
  61. package/dist/src/core/platforms/web/lib/createImageBitmap.js.map +1 -0
  62. package/dist/src/core/platforms/web/lib/textureCompression.d.ts +26 -0
  63. package/dist/src/core/platforms/web/lib/textureCompression.js +301 -0
  64. package/dist/src/core/platforms/web/lib/textureCompression.js.map +1 -0
  65. package/dist/src/core/platforms/web/lib/textureSvg.d.ts +7 -0
  66. package/dist/src/core/platforms/web/lib/textureSvg.js +51 -0
  67. package/dist/src/core/platforms/web/lib/textureSvg.js.map +1 -0
  68. package/dist/src/core/platforms/web/lib/utils.d.ts +5 -0
  69. package/dist/src/core/platforms/web/lib/utils.js +86 -0
  70. package/dist/src/core/platforms/web/lib/utils.js.map +1 -0
  71. package/dist/src/core/renderers/CoreRenderer.d.ts +1 -9
  72. package/dist/src/core/renderers/CoreRenderer.js +2 -4
  73. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  74. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +3 -2
  75. package/dist/src/core/renderers/canvas/CanvasRenderer.js +4 -3
  76. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
  77. package/dist/src/core/renderers/webgl/SdfRenderOp.js +3 -2
  78. package/dist/src/core/renderers/webgl/SdfRenderOp.js.map +1 -1
  79. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +2 -2
  80. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
  81. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +2 -2
  82. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -1
  83. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +3 -3
  84. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +1 -2
  85. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
  86. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +5 -5
  87. package/dist/src/core/renderers/webgl/WebGlRenderer.js +7 -8
  88. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
  89. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +2 -2
  90. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +2 -2
  91. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
  92. package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +4 -4
  93. package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
  94. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +3 -3
  95. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  96. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +24 -8
  97. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
  98. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +25 -8
  99. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -1
  100. package/dist/src/core/shaders/webgl/Border.js +6 -4
  101. package/dist/src/core/shaders/webgl/Border.js.map +1 -1
  102. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +6 -4
  103. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
  104. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +6 -4
  105. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
  106. package/dist/src/core/shaders/webgl/SdfShadowShader.d.ts +9 -0
  107. package/dist/src/core/shaders/webgl/SdfShadowShader.js +100 -0
  108. package/dist/src/core/shaders/webgl/SdfShadowShader.js.map +1 -0
  109. package/dist/src/core/text-rendering/CanvasFont.d.ts +1 -1
  110. package/dist/src/core/text-rendering/CanvasFont.js +2 -6
  111. package/dist/src/core/text-rendering/CanvasFont.js.map +1 -1
  112. package/dist/src/core/text-rendering/CoreFont.d.ts +1 -1
  113. package/dist/src/core/text-rendering/CoreFont.js +1 -1
  114. package/dist/src/core/text-rendering/CoreFont.js.map +1 -1
  115. package/dist/src/core/text-rendering/FontManager.js +2 -1
  116. package/dist/src/core/text-rendering/FontManager.js.map +1 -1
  117. package/dist/src/core/textures/ImageTexture.d.ts +24 -11
  118. package/dist/src/core/textures/ImageTexture.js +32 -95
  119. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  120. package/dist/src/core/textures/Texture.d.ts +1 -1
  121. package/dist/src/main-api/Renderer.js +18 -21
  122. package/dist/src/main-api/Renderer.js.map +1 -1
  123. package/dist/src/utils.d.ts +0 -2
  124. package/dist/src/utils.js +0 -36
  125. package/dist/src/utils.js.map +1 -1
  126. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  127. package/dist/tsconfig.tsbuildinfo +1 -0
  128. package/exports/platform.ts +31 -0
  129. package/package.json +3 -2
  130. package/src/core/CoreNode.ts +11 -15
  131. package/src/core/CoreTextureManager.ts +10 -103
  132. package/src/core/Stage.ts +1 -14
  133. package/src/core/animations/CoreAnimationController.ts +5 -2
  134. package/src/core/lib/collectionUtils.ts +3 -2
  135. package/src/core/lib/utils.ts +0 -78
  136. package/src/core/platforms/GlContextWrapper.ts +291 -0
  137. package/src/core/platforms/Platform.ts +121 -28
  138. package/src/core/{lib → platforms/web}/WebGlContextWrapper.ts +129 -4
  139. package/src/core/platforms/web/WebPlatform.ts +171 -22
  140. package/src/core/platforms/web/WebPlatformChrome50.ts +57 -0
  141. package/src/core/platforms/web/WebPlatformLegacy.ts +140 -0
  142. package/src/core/platforms/web/WebPlatformNext.ts +57 -0
  143. package/src/core/{lib → platforms/web/lib}/ImageWorker.ts +10 -74
  144. package/src/core/platforms/web/lib/createImageBitmap.ts +40 -0
  145. package/src/core/{lib → platforms/web/lib}/textureCompression.ts +19 -138
  146. package/src/core/{lib → platforms/web/lib}/textureSvg.ts +3 -15
  147. package/src/core/platforms/web/lib/utils.ts +105 -0
  148. package/src/core/renderers/CoreRenderer.ts +2 -11
  149. package/src/core/renderers/canvas/CanvasRenderer.ts +6 -4
  150. package/src/core/renderers/webgl/SdfRenderOp.ts +3 -2
  151. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +2 -2
  152. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +2 -2
  153. package/src/core/renderers/webgl/WebGlCtxTexture.ts +3 -4
  154. package/src/core/renderers/webgl/WebGlRenderer.ts +12 -19
  155. package/src/core/renderers/webgl/WebGlShaderNode.ts +2 -2
  156. package/src/core/renderers/webgl/WebGlShaderProgram.ts +2 -2
  157. package/src/core/renderers/webgl/internal/RendererUtils.ts +4 -8
  158. package/src/core/renderers/webgl/internal/ShaderUtils.ts +3 -3
  159. package/src/core/shaders/webgl/Border.ts +6 -4
  160. package/src/core/shaders/webgl/RoundedWithBorder.ts +6 -4
  161. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +6 -4
  162. package/src/core/textures/ImageTexture.ts +42 -161
  163. package/src/core/textures/Texture.ts +1 -1
  164. package/src/main-api/Renderer.ts +24 -22
  165. package/src/utils.ts +0 -47
  166. package/src/core/lib/validateImageBitmap.ts +0 -87
@@ -1,87 +0,0 @@
1
- import type { Platform } from '../platforms/Platform.js';
2
-
3
- export interface CreateImageBitmapSupport {
4
- basic: boolean; // Supports createImageBitmap(image)
5
- options: boolean; // Supports createImageBitmap(image, options)
6
- full: boolean; // Supports createImageBitmap(image, sx, sy, sw, sh, options)
7
- }
8
-
9
- export async function validateCreateImageBitmap(
10
- platform: Platform,
11
- ): Promise<CreateImageBitmapSupport> {
12
- // Test if createImageBitmap is supported using a simple 1x1 PNG image
13
- // prettier-ignore
14
- const pngBinaryData = new Uint8Array([
15
- 0x89, 0x50, 0x4e, 0x47,
16
- 0x0d, 0x0a, 0x1a, 0x0a, // PNG signature
17
- 0x00, 0x00, 0x00, 0x0d, // IHDR chunk length
18
- 0x49, 0x48, 0x44, 0x52, // "IHDR" chunk type
19
- 0x00, 0x00, 0x00, 0x01, // Width: 1
20
- 0x00, 0x00, 0x00, 0x01, // Height: 1
21
- 0x01, // Bit depth: 1
22
- 0x03, // Color type: Indexed
23
- 0x00, // Compression method: Deflate
24
- 0x00, // Filter method: None
25
- 0x00, // Interlace method: None
26
- 0x25, 0xdb, 0x56, 0xca, // CRC for IHDR
27
- 0x00, 0x00, 0x00, 0x03, // PLTE chunk length
28
- 0x50, 0x4c, 0x54, 0x45, // "PLTE" chunk type
29
- 0x00, 0x00, 0x00, // Palette entry: Black
30
- 0xa7, 0x7a, 0x3d, 0xda, // CRC for PLTE
31
- 0x00, 0x00, 0x00, 0x01, // tRNS chunk length
32
- 0x74, 0x52, 0x4e, 0x53, // "tRNS" chunk type
33
- 0x00, // Transparency for black: Fully transparent
34
- 0x40, 0xe6, 0xd8, 0x66, // CRC for tRNS
35
- 0x00, 0x00, 0x00, 0x0a, // IDAT chunk length
36
- 0x49, 0x44, 0x41, 0x54, // "IDAT" chunk type
37
- 0x08, 0xd7, // Deflate header
38
- 0x63, 0x60, 0x00, 0x00,
39
- 0x00, 0x02, 0x00, 0x01, // Zlib-compressed data
40
- 0xe2, 0x21, 0xbc, 0x33, // CRC for IDAT
41
- 0x00, 0x00, 0x00, 0x00, // IEND chunk length
42
- 0x49, 0x45, 0x4e, 0x44, // "IEND" chunk type
43
- 0xae, 0x42, 0x60, 0x82, // CRC for IEND
44
- ]);
45
-
46
- const support: CreateImageBitmapSupport = {
47
- basic: false,
48
- options: false,
49
- full: false,
50
- };
51
-
52
- // Test basic createImageBitmap support
53
- const blob = new Blob([pngBinaryData], { type: 'image/png' });
54
- const bitmap = await platform.createImageBitmap(blob);
55
- bitmap.close?.();
56
- support.basic = true;
57
-
58
- // Test createImageBitmap with options support
59
- try {
60
- const options = { premultiplyAlpha: 'none' as const };
61
- const bitmapWithOptions = await platform.createImageBitmap(blob, options);
62
- bitmapWithOptions.close?.();
63
- support.options = true;
64
- } catch (e) {
65
- /* ignore */
66
- }
67
-
68
- // Test createImageBitmap with full options support
69
- try {
70
- const bitmapWithFullOptions = await platform.createImageBitmap(
71
- blob,
72
- 0,
73
- 0,
74
- 1,
75
- 1,
76
- {
77
- premultiplyAlpha: 'none',
78
- },
79
- );
80
- bitmapWithFullOptions.close?.();
81
- support.full = true;
82
- } catch (e) {
83
- /* ignore */
84
- }
85
-
86
- return support;
87
- }