Skip to content

Releases: labelle-toolkit/labelle-imgui

v0.14.7

Choose a tag to compare

@apotema apotema released this 01 Oct 05:01
0492e47

Couples the bgfx bridge to released zbgfx 0.12.3 (#188 Vulkan pre-rotation), matching labelle-bgfx 0.33.2. Version/pin-only release. All current-head CI checks passed, including both pins reruns against the published backend. Codex bot clean; merged tree equals tested ae51a76. Codex, OpenAI LLM.

labelle-imgui 0.14.6

Choose a tag to compare

@apotema apotema released this 01 Oct 02:42
754e39d

Keep the bgfx bridge on released zbgfx0.12.2, matching backend0.33.1. This carries the generic Vulkan reset/capture initialization fixes and avoids duplicate-module pin mismatches. No ImGui API or shader changes.

Exact peer approval791f036, latest bot findings handled, all existing CI green including pins rerun after backend release. Merged754e39d tree matches approved head.

labelle-imgui 0.14.5

Choose a tag to compare

@apotema apotema released this 30 Sep 23:24
94551c6

Update the bgfx bridge's released zbgfx dependency to v0.12.1 and package metadata to 0.14.5. The pin matches labelle-bgfx 0.32.1 and assembler 0.122.1, carrying the reviewed generic Vulkan SUBOPTIMAL recovery fix without API or shader changes.

Independent Windows tests passed: root 10/10 and bgfx bridge 34/34. Release requires the shared-pins CI check to pass against the published backend release. Android production remains GLES pending FP#978; #188/#190/#191 remain separate.

v0.14.4 — released zbgfx Vulkan fix batch

Choose a tag to compare

@apotema apotema released this 30 Sep 17:28
00c4c52

Pins the bgfx bridge to released zbgfx v0.12.0, synchronized with labelle-bgfx v0.32.0. Bridge code and bgfx API161 remain unchanged. Root/bridge/external-EMSDK CI and both rerun pins checks pass; exact-head peer review is recorded in PR45 and RFC172.

v0.14.3 — bgfx bridge updates the font atlas in place

Choose a tag to compare

@apotema apotema released this 29 Sep 01:40
31f4665
  • bgfx bridge: font atlas updated in place (#43, fixes #28). The atlas is created once, and ImGui's updates upload into the same texture instead of creating a new texture and releasing the old one each time.
  • bgfx bridge honours a valid EMSDK (#38, fixes #37); sokol bridge honours a valid EMSDK and skips sokol-zig's emsdk setup (#40, fixes #39).

v0.14.2 — bgfx bridge on the zbgfx pin with WebGL ASTC 8x8

Choose a tag to compare

@apotema apotema released this 25 Sep 00:18

Fix

  • The bgfx bridge moves to zbgfx eb71fd4 (labelle-toolkit/zbgfx#2, #36), the same pin as labelle-bgfx v0.28.1. The backend and the bridge must resolve one zbgfx module per game.
  • zbgfx#2 is a one-table fix in bgfx's emscripten renderer_gl.cpp (ASTC 8x8 samples natively on WebGL, labelle-bgfx#147). It's still bgfx API 161, so the bridge's code doesn't change.

Pair it with labelle-bgfx ≥ 0.28.1.

v0.14.1

Choose a tag to compare

@apotema apotema released this 23 Sep 16:50

Fix

  • fix(bgfx bridge): composite alpha as coverage so the web canvas stays opaque (#35). Translucent imgui panels no longer let the web page show through the WebGL canvas. Desktop and Android output is unchanged.

Pairs with labelle-bgfx's matching fix (labelle-toolkit/labelle-bgfx#132).

v0.14.0 — bgfx bridge on bgfx API 161

Choose a tag to compare

@apotema apotema released this 22 Sep 19:51

The bgfx bridge needs labelle-bgfx ≥ 0.24.0 (bgfx API 161). Sokol and raylib bridges are unchanged.

Fixed

The bgfx bridge aborted on labelle-bgfx v0.24.0 (#33). It pinned zbgfx at bgfx API 142 while the backend links API 161, so a game carried two zbgfx copies and the bridge compiled against the wrong headers:

  • API 161 inserted three TextureFormat values (RGBA8 71 → 74). The font-atlas upload aborted in createTexture2D (storage 196608 vs memory 262144).
  • Its v11 shaders were rejected: imgui-bgfx: failed to create shaders.

Changed

  • zbgfx pinned to labelle-toolkit/zbgfx ba2786f, the same pin as labelle-bgfx v0.24.0, so a game resolves a single zbgfx.
  • Sprite shaders are labelle-bgfx v0.24.0's v12 blobs. GLES (Android, WebGL2) now uses the ESSL variant: API 161's desktop blob is GLSL 330, which is not valid ESSL.
  • setViewRect takes min/max depth.

Compatibility

labelle-bgfx labelle-imgui
≥ 0.24.0 ≥ 0.14.0
< 0.24.0 ≤ 0.13.x

Verified in Flying Platform on bgfx 0.24.0: no abort, imgui-bgfx: render resources ready, and the overlay draws.

v0.13.0 — display scale across the bridges

Choose a tag to compare

@apotema apotema released this 16 Sep 19:08

Feature

adapter.displayScale() — the factor a caller multiplies HUD and menu metrics by, so a control keeps a consistent physical size across densities instead of keying off pixel counts. Reported by the window backend through the bridge each frame. Closes #32.

The contract, and why the number differs per bridge

It is "what callers multiply by", not "the display's density" — because the bridges do not hand ImGui the same coordinate space:

bridge ImGui coordinates displayScale()
bgfx physical framebuffer, 1:1 DisplayFramebufferScale the density — callers multiply
sokol logical units (sokol_imgui divides by newFrame(.dpi_scale)) 1.0 — already normalised
raylib rlImGui exposes no DPI 1.0 — renders 1:1 as before

A caller writes the same code on all three and gets the right physical size.

Returning the DPI on the sokol bridge was a double-apply: metrics arrive already density-normalised there, so a caller following the documented contract rendered every control DPI times too large. Fixed before release.

Pairs with

labelle-bgfx v0.18.0, which adds the window.displayScale() this consumes.

v0.10.0 — bgfx bridge on wasm

Choose a tag to compare

@apotema apotema released this 01 Jul 19:00
fbdab9c

bgfx imgui bridge compiles+runs on wasm/emscripten (cimgui emsdk sysroot + emscripten-gated std shims). https://claude.ai/code/session_017pW3ifKf9wgxNg4viy6okw