WIP: Feat/device pixel alignment #164

Draft
zach wants to merge 15 commits from feat/device-pixel-alignment into main
Owner

What & why

Attempts to rework object placements to snap them to device pixel space to improve sharpness at fractional scaling.

New component

SnapLayout now acting as an almost-drop-in replacement for Qt's ColumnLayout and RowLayout It positions children properly in device pixel space.

New helpers

ZUtils has three new helpers:

  • snap(v, item)
  • snapCeil(v, item)
  • snapFloor(v, item)

Snaps v to item's device pixel space.

Related issue

No response

Type

New feature

Tested

  • Build succeeds
  • Existing tests pass
  • Manually verified

Breaking changes?

No response

Checklist

  • CI passes (format, lint, typecheck)
  • Clean commits
  • No new warnings
  • Docs updated if needed
### What & why Attempts to rework object placements to snap them to device pixel space to improve sharpness at fractional scaling. ### New component `SnapLayout` now acting as an almost-drop-in replacement for Qt's `ColumnLayout` and `RowLayout` It positions children properly in device pixel space. ### New helpers `ZUtils` has three new helpers: - `snap(v, item)` - `snapCeil(v, item)` - `snapFloor(v, item)` Snaps `v` to `item`'s device pixel space. ### Related issue _No response_ ### Type New feature ### Tested - [x] Build succeeds - [ ] Existing tests pass - [x] Manually verified ### Breaking changes? _No response_ ### Checklist - [ ] CI passes (format, lint, typecheck) - [x] Clean commits - [ ] No new warnings - [x] Docs updated if needed
zach added 14 commits 2026-10-29 20:07:47 +01:00
zach added 1 commit 2026-10-29 20:11:37 +01:00
Merge branch 'main' into feat/device-pixel-alignment
C++ / fmt (pull_request) Failing after 6s
C++ / build (pull_request) Failing after 10s
C++ / clang-tidy (pull_request) Failing after 10s
JS/TS / fmt (pull_request) Successful in 7s
JS/TS / lint (pull_request) Successful in 9s
Python / static (pull_request) Successful in 26s
Rust / build (pull_request) Successful in 54s
Python / verify (pull_request) Failing after 1m29s
Rust / fmt (pull_request) Successful in 36s
Rust / clippy (pull_request) Successful in 50s
78a9577209
Some required checks failed
C++ / fmt (pull_request) Failing after 6s
C++ / build (pull_request) Failing after 10s
Required
Details
C++ / clang-tidy (pull_request) Failing after 10s
JS/TS / fmt (pull_request) Successful in 7s
JS/TS / lint (pull_request) Successful in 9s
Python / static (pull_request) Successful in 26s
Rust / build (pull_request) Successful in 54s
Required
Details
Python / verify (pull_request) Failing after 1m29s
Required
Details
Rust / fmt (pull_request) Successful in 36s
Rust / clippy (pull_request) Successful in 50s
Some required checks were not successful.
This pull request doesn't have enough required approvals yet. 0 of 1 official approvals granted.
You are not authorized to merge this pull request.
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/device-pixel-alignment:feat/device-pixel-alignment
git checkout feat/device-pixel-alignment
Sign in to join this conversation.