Skip to content

Fix the nine confirmed visual bugs of the native window on the V06.1 UI - #114

Merged
Blogbotana merged 1 commit into
Apibim-com:masterfrom
axisrow:ao/task-next-fork/promotion/ui-visual-fixes
Oct 20, 2026
Merged

Blogbotana merged 1 commit into
Apibim-com:masterfrom
axisrow:ao/task-next-fork/promotion/ui-visual-fixes

Conversation

@axisrow

@axisrow axisrow commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

What this changes

Mirror of the fork's #43 (axisrow/BeamCraft), adapted to upstream master 73c3597 with
its V06.1 UI. Each of the nine confirmed visual findings of the fork's issue #20 was
reproduced on this base before porting; none was fixed upstream — the V06.1 panels are
new code, but the nine defects live in the shared renderer, camera, reload and form code:

Finding Defect on this base Fix ported
1 wide/Retina stretch app.rs clamped each target side to 4096 independently, so the picture was drawn stretched target_size: one scale factor for both sides, aspect ratio preserved
3 hidden parts show through camera.rs near plane fixed at 1 mm — a Depth32Float buffer has no resolution over a long model near = 1 % of the camera distance, clamped; unit test at both zoom extremes
4 camera resets after Commit/R every reload refit the camera needs_refit + framed: an unchanged framing (centre, extent, aspect) keeps the user's camera
5 0.000 m3 the commit note always printed cubic metres volume_note: mm3 below a thousandth of a cubic metre
7 labels under drop-downs choice_combo drew the label below the list label left of the list, like the text fields
8 panel width changes Panel::left with default sizing fixed 320 pt width
9 red error on a new store view-export NOT_FOUND surfaced as a CLI failure typed Error::NoRevision (source::is_no_revision), the empty state clears the view
10 name limit in characters push_name counted chars(); the engine counts bytes byte limit checked at Preview with the byte message
11 decimal comma any parse failure read "is not a finite number" non-parse text says "use a period as the decimal separator"; only a parsed non-finite value says non-finite

The fork's app.rs differences (trackpad input, V06 panels of its own) are not carried and
were not the point: every fix was re-applied to the upstream implementation of the same
behaviour, including the new V06.1 panels (the combo fix applies to their choice_combo,
the empty-store state to the shared reload path all four panels use). New behaviour has
unit tests (target_size, needs_refit, volume_note, the near-plane rule, the byte
limit, the comma message); every changed assertion failed against the unfixed code on the
fork.

How you verified it

  • cargo fmt --all, cargo clippy -p beamcraft-ui --all-targets -- -D warnings
  • cargo test -p beamcraft-ui — 74 tests, 0 failed on macOS (unit + the real-binary
    suites; the empty-store assertions now expect the typed state)
  • CI on this PR for Windows/Linux.

Provenance (clean-room)

  • Verbatim fork fixes re-applied to the upstream implementation; no assets or
    dependencies.

🤖 Generated with Claude Code

Issue tracking

Fixes #354

Mirror of the fork's #43 (axisrow/BeamCraft), adapted to upstream master:
all nine findings of the fork's issue #20 reproduced on this base and none
was fixed here - the render target clamped each side to 4096 independently
(wide and Retina windows stretched the picture), the near plane was a fixed
1 mm (hidden parts showed through on long models), every reload refit the
camera (a Commit or R jumped back to the whole model), small volumes read
0.000 m3, drop-down labels sat under their lists, the left panel resized
with its content, an empty store showed a red error, the name field counted
characters where the engine counts bytes, and a decimal comma reported the
value as infinite. The near-plane, target-size, refit, volume, byte-limit
and comma-message behaviour carries unit tests; the empty-store state is
typed (Error::NoRevision) and the suites assert it.

Co-Authored-By: Claude Code <[email protected]>
@Blogbotana
Blogbotana merged commit d633d7c into Apibim-com:master Oct 20, 2026
4 checks passed
@axisrow
axisrow deleted the ao/task-next-fork/promotion/ui-visual-fixes branch October 24, 2026 06:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PR #114: Fix the nine confirmed visual bugs of the native window on the V06.1 UI

2 participants