Skip to content

feat: deliver the fork delta since the 1108 sync wave - #836

Merged
Blogbotana merged 1 commit into
Apibim-com:masterfrom
axisrow:chore/upstream-delta-1108
Nov 7, 2026
Merged

Blogbotana merged 1 commit into
Apibim-com:masterfrom
axisrow:chore/upstream-delta-1108

Conversation

@axisrow

@axisrow axisrow commented Nov 7, 2026

Copy link
Copy Markdown
Collaborator

What this changes

Delivers the fork delta accumulated since the 1108 sync wave as one batch commit on top of
master (the single-batch delivery the fork sync policy prescribes). Nothing here changes the
recorded contracts; it is feature, fix, test and harness work that master predates.

  • Screenshot-view: a fitted PNG render of a store head, from the CLI (view-screenshot with its
    help, session and export plumbing) and from the window (apps/beamcraft-ui/src/screenshot.rs
    with its suite): the camera fits the framed elements, the catalogue colours apply to the
    render, and the background is a light paper tone instead of the renderer's dark clear colour
    so a frame can match a drawing-style reference picture.
  • Catalogue colouring by element class in the viewport (issue 526): the owner palette decision
    (member/plate/bolt hues, recorded 2026-11-06) rides as an automatic default set the window
    evaluates read-only in the background, colour sets are selectable in the window and persist,
    and the colour-filter class document describes the evaluation.
  • Bolt groups: the grip length is decided from the actual crossed faces instead of the parts'
    conservative boxes — face-exact under any placement rotation, merged overlapping parts, a
    part without a usable mesh grips per its box which errs long and never under (issue 519
    defect B); the bench form previews the bolt row and its holes before commit (V19 slice 3);
    the engine, command and viewport layers carry the decision with tests.
  • The sample library's M20 bolts drop the 160 mm length again: this reverts the one
    sample-library line carried by feat: deliver the fork delta since the 1106 sync wave #834, on the fork's acceptance rehearsal decision — the
    length list returns to 55–150.
  • Release packages ship the fastener and section libraries of assets/libraries/ beside the
    Inter font and the project documents (Q02 rehearsal); the packaging document paragraph says
    so.
  • Q01 stories: the section-about-the-axis placement gets its own expanded-scenario story (P14).

Fork-only policy (its workflow forms, docs/plan/, visual evidence, fork tooling) is not part
of this delivery; the upstream-owned Python CI tools are untouched. Bare issue NNN references
carry the fork tracker's numbers, as in the previous delta waves.

How you verified it

  • cargo fmt --all -- --check (recorded gate stage, exit 0)
  • cargo clippy --workspace --all-targets -- -D warnings (recorded gate stage, exit 0)
  • cargo test --workspace (recorded gate: 2665/2665 runnable tests executed with nextest
    0.9.149 on macOS aarch64, plus mandatory doctests and cargo doc -D warnings, all exit 0;
    the committed fork master merge equals the tested tree, receipt bound in the merge
    commit)
  • This batch differs from that merge tree only by the fork-only policy paths named above,
    which carry no Rust code; upstream CI gates the delivered tree.

Never-crash

Every model file, IFC/DSTV import and keystroke is untrusted input (AGENTS.md §4).

  • No new unwrap/expect/panic!/todo! outside tests
  • No indexing or slicing with input-derived positions; allocations sized by input are capped
  • No unsafe

Provenance

Read AGENTS.md §1 and §2 before adding any asset.

  • Nothing taken from Tekla Structures or any Trimble product (assets, code, documentation, tables)
  • No GPL/AGPL code copied in
  • No new assets (the DIN fastener library change removes one length from the existing
    contributor-original synthetic library entry)

Anything a reviewer should look at first

🤖 Generated with Claude Code

One batch commit carrying the fork's reviewed work that upstream predates:
the screenshot-view render line, catalogue colouring by element class, the
face-exact bolt-group grip and bench preview, the Q01 story split, release
packages shipping the libraries, and the revert of the 160 mm M20 sample
length that a prior wave added to the fastener library. Fork-only policy
paths are not part of the delivery.
@axisrow
axisrow requested a review from Blogbotana as a code owner November 7, 2026 18:37
@Blogbotana
Blogbotana merged commit 78cde71 into Apibim-com:master Nov 7, 2026
27 checks passed
Blogbotana added a commit that referenced this pull request Nov 8, 2026
…ixels on a software rasteriser (#837)

At 128 px the M20 group changed 9 bytes on a GPU and none on WARP or llvmpipe, so the
Windows CI shard failed on master since #836.
axisrow added a commit to axisrow/BeamCraft that referenced this pull request Nov 8, 2026
…pibim-com#828 view-manager wave and the Apibim-com#837 test fix

BeamCraft-Test-Gate: {"version":1,"commit":"ed0ad4b0af0f50e3466e7dd0668de9c876bde98f","tree":"649dab7ccb8147bb2f0d1f5c23bdc86ea04aa3e2","base":"ed0ad4b0af0f50e3466e7dd0668de9c876bde98f","merge_parent":"b277ffd552033b00989bc2a74505fab4c620d2e5","os":"macos","arch":"aarch64","scope":"full","ui_independent_reason":null,"ui_tested":true,"rustc":"rustc 1.99.1 (58cf8f9c3 2026-10-13)","cargo":"cargo 1.99.1 (5f94df478 2026-08-27)","nextest":"cargo-nextest 0.9.149 (3fe4ef319 2026-10-20)\nrelease: 0.9.149\ncommit-hash: 3fe4ef31972f24e0c94cfe291718eab0fe678260\ncommit-date: 2026-10-20\nhost: aarch64-apple-darwin","expected_tests":2692,"executed_tests":2692,"ignored_tests":["beamcraft-test-gate::process::process_fixture"],"source_unchanged":true,"stages":[{"name":"format","exit_code":0,"elapsed_ms":1696,"timed_out":false},{"name":"clippy","exit_code":0,"elapsed_ms":12294,"timed_out":false},{"name":"prepare","exit_code":0,"elapsed_ms":36694,"timed_out":false},{"name":"tests","exit_code":0,"elapsed_ms":205192,"timed_out":false},{"name":"doctests","exit_code":0,"elapsed_ms":1716,"timed_out":false},{"name":"docs","exit_code":0,"elapsed_ms":4882,"timed_out":false}]}
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.

2 participants