Repository navigation
CAD Multispan VLinear Plane Section
Status: native complete at 03d28fbfe580d31fdfd1d32fea9c568b53c19fc4 for #1201. CAD2 verified the exact legacy checkpoint and sent one native handoff to sole Integration. Local merge is 0f404ec671d120384200d47eb340af770b35e022; integration validation pending. Current-root validation, degree4 consumer support and publication are separate. Original before-code scope and history below are retained.
Existing637/638 already construct and clip circle-cylinder wall sections with native World Curve and dual UV bindings. They retain sampled comparison limits and geometricValidity:not-certified. Do not claim their full four-span circle section is absent.
Existing1069 buildVLinearSurfacePlaneSection in src/vlinear-plane-section.ts admits a SINGLE U Bezier span, U degree1..2 and V degree1. It supplies exact homogeneous Bernstein construction and bounded whole stored-model mapping error. It refuses an original multi-span Surface even when each span fits that profile.
Extend the actual mathematical construction to the ORIGINAL multi-span Surface and its complete source/domain. The output must be one piecewise native World Curve, one original Surface UV Curve and one Plane UV Curve. Per-span computation must not replace the parent by synthetic source patches, rename it or discard the original model. This covers noncircular warped Surfaces and adds whole mapping proof beyond the circle-specific sampled provider. Fresh961-Issue audit found no duplicate generic multi-span certified section.
Prepare U degree1..2, V degree1, at most four U Bezier spans, original internal knot multiplicity equal to U degree, two V columns and positive stored weights. Keep actual original U intervals, IDs, knots, source contexts and V/Plane domains. Freeze the exact wider limits and public contract before code.
Apply the existing exact rational Bernstein section calculation on each original interval. Each span must have admitted opposite Plane-side signs and a positive denominator, a section within original V/Plane bounds and the declared whole model-gap limit. Preserve original-domain UV correspondence and certify shared endpoint/weight compatibility before assembling the global curves. Retain real native C0 D1 refusals. No smoothness, tangent intersection or split-face/Solid claim follows.
For U degree2, the general World/PlaneUV degree4 output needs17 poles across four spans; SurfaceUV degree3 needs13 poles. These are within current native Curve capacity. Positive rational weights must satisfy the existing exactFloat representability policy. Products such as the stored circle weight squared may fail that policy; do not silently round weights or claim all circle walls admitted. A future wider weight policy needs its own explicit construction/error contract.
Reuse unchanged SectionRationalContext with global200000 operation/GCD-step and8192-bit limits. Share exact endpoint and repeated weight work. The actual work and error bounds must be measured in the first new flow; static feasibility is not a pass.
Original U domain[0,4], degree2, internal knots1/2/3 with multiplicity2, nine-by-two unit-weight poles represent
S(u,v)=(10u, 2u^2+v(1+u^2), 8v).
An actual affine Plane z=2+x/16, with X chart[0,40] and Y chart[0,64], gives
v(u)=1/4+5u/64.
It stays strictly inside the height interval. Its World Y section is cubic. This is a genuine warped Surface, not a circle recipe or assembled fake patch context. Freeze all original poles/knots and independent polynomial witness before implementation. Also prepare single-span compatibility, shifted/nonuniform original intervals if admitted, negative orientation and genuine unsupported/contact/budget controls.
One new native leaf, additive public index/README and one cad-nurbs source/request/WorldCurve/dualUV/proof/file/cold/owned/public-compiled flow in a new immutable-parent owned checkout. Existing1069/637/638/native arithmetic and source/evaluation profiles remain unchanged.
Before code, fix every public field, identity, unit, error, copy, work, coefficient conversion, endpoint, observation, file and ownership rule. Then execute one affected CAD build and one real new flow. Compare the complete original source/Model/Surface and World/UV result with independent exact and polynomial controls; preserve first failures and previous files. Output curves above degree3 have separate consumer limits; no display or adapter support is assumed.
After this section provider, proceed to actual original UV trims, split Faces, oriented caps and material Boolean. This child is a useful curved intersection step toward Plasticity-level modeling, not general Surface–Surface intersection, generic Boolean, fillet, STEP Solid exchange or parity completion.
#1201 was created after Wiki-first99a5b7e and the fresh961-Issue audit. The owned checkout starts at adopted96e9c260de6687cce587b3b6a57f04de53a26e8c on codex/multispan-vlinear-section-1201. Next: freeze the precise public API, original piecewise basis, shared endpoint/weight policy and actual flow before product code. Integration validation is tracked separately and is not a wait gate.
Exact API/proof/native/ownership/work contract is published before code. Runtime names are buildMultiSpanVLinearSurfacePlaneSection, validateMultiSpanVLinearSurfacePlaneSection and the named Error/diagnostic codes; four public types describe assets, options, report and result. Root owns one new leaf/index/README and one helper authors the dedicated source/file flow statically. The other helper reviews the mathematics statically. Only root runs the clean committed affected build and actual flow.
Original U degree1..2/V degree1, one through four Bezier intervals, at most9x2 selected Surface poles; output World/PlaneUV degree4/17 poles and SurfaceUV degree3/13 poles. One request-local exact context handles all spans. Equal shared homogeneous endpoints, stored poles and weights are checked before assembly; original interval bits and complete source contexts are preserved. Local SurfaceUV hulls remain within their actual original intervals. Global model bounds are exact maxima of the per-span whole bounds.
Derived weights use unchanged exactFloat policy. Memoized identical reduced-rational conversions have at most512 entries and call the unchanged utility on cache miss. Cartesian poles use nearest-even; exact bound errors and upward rounding remain explicit. Global arithmetic limits stay200000 operations/GCD steps and8192 bits. Up to17 original-domain observation slots record actual D0/D1 and each provider's actual C0 evaluated/refused union. A rounded mapped U beside a knot can give a different Surface D1 state; no forced refusal or synthetic derivative is inserted.
Mixed signed-zero copies in a knot block refuse; there is no silent representative choice. Original assets/Model/Surface/World/UV/proof/observations/counters are reconstructed in owned validation. Static findings are repaired before execution; native/shared/consumer completion remains separate. No build, section, error-bound or runtime pass is claimed by this contract paragraph.
Takeover and reconciled receipt. Exact immutable parent 96e9c260de6687cce587b3b6a57f04de53a26e8c → native 03d28fbfe580d31fdfd1d32fea9c568b53c19fc4. One commit, four owned paths, clean checkouts, verified author/committer easylogic. Legacy checkout is preserved read-only; CAD2 owns /Users/user/.codex/worktrees/cad2-multispan-section-1201/barocss.
FIRST affected build and FIRST actual new source/API/whole-original/request/World/dualUV/polynomial/exact-proof/file/cold/owned/public-emitted flow both exited 0 at that exact SHA before transfer. CAD2 reconciled all four Git blobs, exit files, empty stderr, actual summary and SHA256 of all 169 emitted JS files (public declarations checked by the actual prior demo). Exact-head reuse avoids a duplicate transfer run. No native first failure occurred.
pnpm --filter @barocss/cad build:library
node examples/cad-nurbs/multispan-vlinear-plane-section-demo.mjs --source /Users/user/.barocss-ai/v3/evidence-multispan-vlinear-section-cad/demo-outputBundled Node24 at /Users/user/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/bin; REPO_DEPS_ROOT=/Users/user/.barocss-ai/v3/integration. First logs, checkpoint.initial.json, runtime-closure.json, cad2-transfer.json and complete files remain in the evidence directory.
Five accepted families: warped_four, reversed_plane, nonuniform_u, linear_four, single_compat. 73 observation slots, 51 explicit refusals and zero getter calls. Actual old1069 multi-span SUPPORT refusal and actual old single-span World/UV compatibility passed. Main stored coefficient-model World→Surface gap upper bound is 5.958196898821674e-15 mm; World→Plane is zero. Maximum measured exact work is 180570 of 200000 operations and 1081 of 8192 bits. Native C0 D1 refusals are preserved per actual provider coordinate.
Public runtime API: buildMultiSpanVLinearSurfacePlaneSection, validateMultiSpanVLinearSurfacePlaneSection, MultiSpanVLinearSurfacePlaneSectionError, MultiSpanVLinearSurfacePlaneSectionDiagnosticCode; Asset, Options, Report and Result types use the same prefix. Result retains whole original models, one native World curve/source/model, dimensionless original Surface and Plane UV curves, exact per-span coefficients and global model bounds. Save the complete request/result using the demonstrated signed-zero-preserving flow. Reopen the original sources and reconstruct before owned validation.
Admission requires Udegree1..2/Vdegree1, one through four original Bezier intervals, internal multiplicity equal to degree, strict opposite plane-side signs, complete chart membership and exactly representable positive derived weights. Tangency, coincidence, partial/zero-sign crossings and unrepresentable products refuse. Work margin for wider weights is limited. Output degree4 requires separately established consumer support. Global binary64 evaluation error, regularity, topology, trimmed Face/Solid, Surface–Surface or general Boolean, STEP/manufacturing and Plasticity parity are unclaimed.
Next native order: source-backed original UV trim and split-Face continuation, then oriented caps and material Boolean. Sole Integration adopts once and reports exact local availability; integrated screen/file/recovery validation is tracked afterward, not a wait gate.
#1212 now supplies original multi-span trim Face candidates, native complete at 75dfdd49. It retains this exact section and constructs two stored-UV cycles and seven coefficient-model edge bounds. Native trim handoff, local adoption and consumer validation remain separate; general material/Solid Boolean is still open.