@gjsify/webgl 0.47.0 → 0.48.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 (2) hide show
  1. package/README.md +29 -0
  2. package/package.json +15 -15
package/README.md CHANGED
@@ -198,6 +198,35 @@ platform, not from the bridge:
198
198
 
199
199
  Remaining darwin gaps are tracked in [`status/open-todos.md`](../../../status/open-todos.md).
200
200
 
201
+ ### The darwin GL 4.1 ceiling
202
+
203
+ The one-line rule in [packages/framework/AGENTS.md](../AGENTS.md) links here for the
204
+ measurement behind it, because a rule without its reason gets "simplified" back into the
205
+ bug. Measured on macOS 15.7 / GdkMacosGLContext (`4.1 APPLE-21.1.1`, GLSL 4.10).
206
+
207
+ **The two missing entry points, reproduced.** `glInvalidateFramebuffer` and
208
+ `glInvalidateSubFramebuffer` are GL 4.3 and absent, hence the `epoxyGlVersion() >= 43` gate
209
+ in `webgl2-rendering-context.vala` — libepoxy ABORTS on a missing entry point rather than
210
+ returning null. They are also the only two, and that is a count anyone can re-take: of the
211
+ 219 `epoxy_gl*` entry points `libgwebgl.dylib` references, `dlsym` against
212
+ `OpenGL.framework` resolves 217.
213
+
214
+ ```bash
215
+ nm -u libgwebgl.dylib | sed -n 's/^ *_epoxy_//p' | grep -E '^gl[A-Z]'
216
+ # then, per name, ctypes.CDLL('/System/Library/Frameworks/OpenGL.framework/OpenGL')
217
+ ```
218
+
219
+ **The GLES 3.0 spellings with no desktop-4.1 equivalent stay missing**, and this is the part
220
+ the shader rewrite above does not reach: `GL_PRIMITIVE_RESTART_FIXED_INDEX` (4.3 on desktop)
221
+ and the mandatory ETC2/EAC compressed formats. Both surface as a **draw-time** error rather
222
+ than a compile failure, so a shader that compiles is not evidence that a scene using them
223
+ will render.
224
+
225
+ For the dialect rewrite itself — including why **win32 is rewritten too**, which this file
226
+ predicted wrongly once — see [Platform coverage](#platform-coverage) above. Host diagnosis:
227
+ `gjsify run packages/framework/webgl/scripts/probe-gl-host.js`, which also draws a
228
+ shader-free pattern so a blank window cannot be mistaken for a failed shader.
229
+
201
230
  ## Diagnosing a host
202
231
 
203
232
  ```bash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/webgl",
3
- "version": "0.47.0",
3
+ "version": "0.48.0",
4
4
  "description": "WebGL module for Gjs",
5
5
  "module": "lib/esm/index.js",
6
6
  "types": "lib/types/index.d.ts",
@@ -61,8 +61,8 @@
61
61
  "WebGL"
62
62
  ],
63
63
  "devDependencies": {
64
- "@gjsify/cli": "^0.47.0",
65
- "@gjsify/unit": "^0.47.0",
64
+ "@gjsify/cli": "^0.48.0",
65
+ "@gjsify/unit": "^0.48.0",
66
66
  "@types/bit-twiddle": "^1.0.3",
67
67
  "@types/node": "^25.9.2",
68
68
  "typescript": "^6.0.3"
@@ -72,10 +72,10 @@
72
72
  "@girs/gjs": "4.6.0",
73
73
  "@girs/gtk-4.0": "4.6.0",
74
74
  "@girs/gwebgl-0.1": "0.1.0-4.0.0-rc.5",
75
- "@gjsify/dom-elements": "^0.47.0",
76
- "@gjsify/dom-events": "^0.47.0",
77
- "@gjsify/event-bridge": "^0.47.0",
78
- "@gjsify/utils": "^0.47.0",
75
+ "@gjsify/dom-elements": "^0.48.0",
76
+ "@gjsify/dom-events": "^0.48.0",
77
+ "@gjsify/event-bridge": "^0.48.0",
78
+ "@gjsify/utils": "^0.48.0",
79
79
  "bit-twiddle": "^1.0.2",
80
80
  "glsl-tokenizer": "^2.1.5"
81
81
  },
@@ -90,13 +90,13 @@
90
90
  },
91
91
  "homepage": "https://github.com/gjsify/gjsify/tree/main/packages/framework/webgl#readme",
92
92
  "optionalDependencies": {
93
- "@gjsify/webgl-darwin-arm64": "0.47.0",
94
- "@gjsify/webgl-darwin-x64": "0.47.0",
95
- "@gjsify/webgl-linux-arm64": "0.47.0",
96
- "@gjsify/webgl-linux-ppc64": "0.47.0",
97
- "@gjsify/webgl-linux-riscv64": "0.47.0",
98
- "@gjsify/webgl-linux-s390x": "0.47.0",
99
- "@gjsify/webgl-linux-x64": "0.47.0",
100
- "@gjsify/webgl-win32-x64": "0.47.0"
93
+ "@gjsify/webgl-darwin-arm64": "0.48.0",
94
+ "@gjsify/webgl-darwin-x64": "0.48.0",
95
+ "@gjsify/webgl-linux-arm64": "0.48.0",
96
+ "@gjsify/webgl-linux-ppc64": "0.48.0",
97
+ "@gjsify/webgl-linux-riscv64": "0.48.0",
98
+ "@gjsify/webgl-linux-s390x": "0.48.0",
99
+ "@gjsify/webgl-linux-x64": "0.48.0",
100
+ "@gjsify/webgl-win32-x64": "0.48.0"
101
101
  }
102
102
  }