Skip to content

Releases: bitsycore/compose-desktop-native

v0.4.2 - Windows text fidelity, SDL 3.4.14, dual maven publishing

Choose a tag to compare

@bitsycore bitsycore released this 06 Aug 20:48

Text & rendering (Windows)

  • Repaired the fork's LineMetrics ascent/descent decode — Windows text fidelity verified against upstream.
  • Tab characters are normalized before shaping so the Windows fork no longer renders .notdef boxes.
  • Pointer coordinates carried as Float end-to-end — no more HiDPI caret quantization.
  • Intrinsics-pass shaped paragraph is reused for final layout (one shaping pass saved per text).
  • Inline-content placeholders: Text(inlineContent = …) reserves space correctly.
  • OS IME candidate window is positioned on focus gain.

Foundation

  • Vendored the upstream desktop Scrollbar (androidx.compose.foundation) and deleted the project reimplementation.
  • LocalPlatformScreenReader defaults to an inactive no-op instead of throwing.

Build & tooling

  • SDL updated to release-3.4.14, unused subsystems disabled and unreferenced macOS frameworks dropped from sdl3.def (slimmer static lib).
  • Windows common-metadata compile unblocked under K2 (@file:Suppress).

Publishing

  • Artifacts now publish to maven.bitsycore.com (no authentication) alongside GitHub Packages.
  • The skiko fork is republished as com.bitsycore.skiko:skiko-mingwx64:0.150.1-mingw.2 on both repos — the bridge plugin now defaults to it, so a consumer can build every target without any GitHub Packages credentials.

See the bridge README for the updated (auth-free) repositories {} setup.

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 25 Jul 23:30

Full Changelog: v0.3.1...v0.4.1

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 25 Jul 17:55
v0.3.1 — Skia everywhere + upstream skiko text (fixes apidemo app build)

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 22 Jul 20:36
misc: cleanup comments

v0.2.1 - Renderer refactor

Choose a tag to compare

@github-actions github-actions released this 18 Jul 08:45
v0.2.1 — fix mingwX64 demo compile (currentResidentMb popen)

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 08:00
feat(bridge): expose the Compose versions the port tracks; catalog as…

v0.1.20

Choose a tag to compare

@github-actions github-actions released this 14 Jul 18:49
fix(sdl): stop re-rasterizing text at device size — popup/dialog text…

v0.1.19

Choose a tag to compare

@github-actions github-actions released this 14 Jul 18:01
docs(roadmap): record demo 70fps cause (draw-bound sidebar re-tessell…

v0.1.18

Choose a tag to compare

@github-actions github-actions released this 14 Jul 15:38
docs(CLAUDE): document the parity harness + how to read the %differ

Explains running scripts/parity, the one-process JVM / per-screen native
mechanics, the build/parity outputs, and — the load-bearing part — what
the number means: it's a font-drift-inflated ranking signal, not a
pass/fail score. Ghosted text + dark shapes = normal; a solid bright
block or one-sided shape = regression. Baseline gradient ~2%..32%; known
SDL gaps (solid gradients, effects) inflate specific screens.

v0.1.17

Choose a tag to compare

@github-actions github-actions released this 14 Jul 11:47
docs(bridge): document settings-wide vs per-module application

Both worked since the plugin is Plugin<Any> branching on Settings vs
Project, but the module-level path was undocumented and untested —
verified now with the example applied compose-plugin style. Also spells
out that a pluginManagement plugins{} entry only pins the version while
the settings-level plugins{} block is what applies build-wide.