@solidtv/renderer 1.4.2 → 1.5.0-0

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 (30) hide show
  1. package/dist/src/core/lib/WebGlContextWrapper.d.ts +53 -3
  2. package/dist/src/core/lib/WebGlContextWrapper.js +96 -2
  3. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  4. package/dist/src/core/renderers/CoreRenderer.d.ts +36 -0
  5. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  6. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +2 -1
  7. package/dist/src/core/renderers/canvas/CanvasRenderer.js +10 -1
  8. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
  9. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +10 -1
  10. package/dist/src/core/renderers/webgl/WebGlRenderer.js +19 -1
  11. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
  12. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +22 -0
  13. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +61 -0
  14. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
  15. package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +1 -1
  16. package/dist/src/core/renderers/webgl/internal/RendererUtils.js +1 -0
  17. package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
  18. package/dist/src/main-api/Renderer.d.ts +16 -0
  19. package/dist/src/main-api/Renderer.js +17 -0
  20. package/dist/src/main-api/Renderer.js.map +1 -1
  21. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  22. package/package.json +1 -1
  23. package/src/core/lib/WebGlContextWrapper.ts +103 -3
  24. package/src/core/renderers/CoreRenderer.ts +37 -0
  25. package/src/core/renderers/canvas/CanvasRenderer.test.ts +14 -0
  26. package/src/core/renderers/canvas/CanvasRenderer.ts +15 -1
  27. package/src/core/renderers/webgl/WebGlRenderer.ts +22 -1
  28. package/src/core/renderers/webgl/WebGlShaderProgram.ts +70 -0
  29. package/src/core/renderers/webgl/internal/RendererUtils.ts +5 -1
  30. package/src/main-api/Renderer.ts +19 -0
@@ -7,7 +7,10 @@ import type { WebGlContextWrapper } from '../../../lib/WebGlContextWrapper.js';
7
7
  * @param glw
8
8
  * @param size
9
9
  */
10
- export function createIndexBuffer(glw: WebGlContextWrapper, size: number) {
10
+ export function createIndexBuffer(
11
+ glw: WebGlContextWrapper,
12
+ size: number,
13
+ ): WebGLBuffer | null {
11
14
  const maxQuads = ~~(size / 80);
12
15
  const indices = new Uint16Array(maxQuads * 6);
13
16
 
@@ -22,6 +25,7 @@ export function createIndexBuffer(glw: WebGlContextWrapper, size: number) {
22
25
 
23
26
  const buffer = glw.createBuffer();
24
27
  glw.elementArrayBufferData(buffer, indices, glw.STATIC_DRAW);
28
+ return buffer;
25
29
  }
26
30
 
27
31
  /**
@@ -14,6 +14,7 @@ import type { CanvasRenderer } from '../core/renderers/canvas/CanvasRenderer.js'
14
14
  import type { WebGlRenderer } from '../core/renderers/webgl/WebGlRenderer.js';
15
15
  import type { Inspector, InspectorOptions } from './Inspector.js';
16
16
  import type { CoreShaderNode } from '../core/renderers/CoreShaderNode.js';
17
+ import type { RendererCapabilities } from '../core/renderers/CoreRenderer.js';
17
18
  import type {
18
19
  ExtractShaderProps,
19
20
  OptionalShaderProps,
@@ -1035,6 +1036,24 @@ export class RendererMain extends EventEmitter {
1035
1036
  return this.stage.renderer.getBufferInfo();
1036
1037
  }
1037
1038
 
1039
+ /**
1040
+ * Report the active rendering backend and device capabilities.
1041
+ *
1042
+ * @remarks
1043
+ * Useful for diagnostics and field logging — e.g. confirming which WebGL
1044
+ * version a device negotiated and whether Vertex Array Objects engaged.
1045
+ * Reads live GL parameters (CPU↔GPU round-trips), so call once at startup
1046
+ * rather than per frame.
1047
+ *
1048
+ * @example
1049
+ * ```ts
1050
+ * console.table(renderer.getCapabilities());
1051
+ * ```
1052
+ */
1053
+ getCapabilities(): RendererCapabilities {
1054
+ return this.stage.renderer.getCapabilities();
1055
+ }
1056
+
1038
1057
  /**
1039
1058
  * Re-render the current frame without advancing any running animations.
1040
1059
  *