Skip to content

Add joiner_timber truss fitting rules - #19

Open
waywardmonkeys wants to merge 1 commit into
mainfrom
worktree-joiner-timber-rules
Open

Add joiner_timber truss fitting rules#19
waywardmonkeys wants to merge 1 commit into
mainfrom
worktree-joiner-timber-rules

Conversation

@waywardmonkeys

@waywardmonkeys waywardmonkeys commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Introduce the no_std exedra_measurements core with exact linear and angular values. Distinguish positive Length from signed Offset, and nonnegative Angle from signed AngularOffset; retain joto iotas and microarcseconds until an explicit geometry lowering boundary.

Build the joiner_timber rule library with typed fit allowances and participant-role resolution. Model housed heels, a keyed king-post through-tenon that makes the tie tension path explicit, full-section strut bearings, and paired rafter-head bearings.

Represent every physical rule dimension and clearance as an exact Length, then lower each parameter family together when recipe construction needs meters. Keep runtime finite checks only for values derived from floating-point extents, frames, and intersections.

Derive both sides of every fit from one carried-member section, apply clearance only to receivers, reject insufficient relish and incoherent setout, and exercise every rule through deterministic constructive evaluation. Keep the keyed slot line-to-line between its load-bearing faces so the generated rectangular key realizes the contacts the construction graph claims.

Make emitted RuleOutputs read as joint contracts: name edits by their physical effect, contacts by their bearing role, generated pieces by purpose, and transfers by load direction. Retain prose where the tie-to-key-to-post suspension invariant cannot be expressed by the generic output types alone.

Record the upper strut bearing without a directed transfer because it closes the truss internal force triangle; the acyclic joiner support explanation is not a statics model. Update joiner ADR 0001 now that interacting n-ary cutters are an exedra regression contract rather than a downstream limitation.

@waywardmonkeys
waywardmonkeys force-pushed the worktree-joiner-timber-rules branch 3 times, most recently from 7e9f711 to 804eab1 Compare August 30, 2026 06:16
Introduce the `no_std` `exedra_measurements` core with exact linear and angular values. Distinguish positive `Length` from signed `Offset`, and nonnegative `Angle` from signed `AngularOffset`; retain joto iotas and microarcseconds until an explicit geometry lowering boundary.

Build the `joiner_timber` rule library with typed fit allowances and participant-role resolution. Model housed heels, a keyed king-post through-tenon that makes the tie tension path explicit, full-section strut bearings, and paired rafter-head bearings.

Represent every physical rule dimension and clearance as an exact `Length`, then lower each parameter family together when recipe construction needs meters. Keep runtime finite checks only for values derived from floating-point extents, frames, and intersections.

Derive both sides of every fit from one carried-member section, apply clearance only to receivers, reject insufficient relish and incoherent setout, and exercise every rule through deterministic constructive evaluation. Keep the keyed slot line-to-line between its load-bearing faces so the generated rectangular key realizes the contacts the construction graph claims.

Make emitted `RuleOutput`s read as joint contracts: name edits by their physical effect, contacts by their bearing role, generated pieces by purpose, and transfers by load direction. Retain prose where the tie-to-key-to-post suspension invariant cannot be expressed by the generic output types alone.

Record the upper strut bearing without a directed transfer because it closes the truss internal force triangle; the acyclic `joiner` support explanation is not a statics model. Update `joiner` ADR 0001 now that interacting n-ary cutters are an `exedra` regression contract rather than a downstream limitation.
@waywardmonkeys
waywardmonkeys force-pushed the worktree-joiner-timber-rules branch from 804eab1 to 25c53f1 Compare August 30, 2026 07:03
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.

1 participant