Conversation
|
I hit an error while handling your request (Model unavailable on AI Gateway free tier: Free tier users do not have access to this model. Upgrade to paid credits at https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%3Fmodal%3Dtop-up for unrestricted…). Please try again, rephrase, or reach out if it keeps failing. Error id: 0872f387-67a0-4dc1-8a2a-4748540b9be0 |
Aymericr
force-pushed
the
fidelity/ak-03b-extrude
branch
from
September 27, 2026 02:13
faf6efe to
14a1676
Compare
Aymericr
force-pushed
the
fidelity/ak-03c-revolve
branch
from
September 27, 2026 02:13
d547465 to
2fb7193
Compare
Aymericr
force-pushed
the
fidelity/ak-03b-extrude
branch
from
September 27, 2026 02:32
14a1676 to
a39be0a
Compare
Aymericr
force-pushed
the
fidelity/ak-03c-revolve
branch
from
September 27, 2026 02:32
2fb7193 to
11f4879
Compare
Aymericr
force-pushed
the
fidelity/ak-03b-extrude
branch
from
September 27, 2026 02:33
a39be0a to
93fe544
Compare
Aymericr
force-pushed
the
fidelity/ak-03c-revolve
branch
2 times, most recently
from
September 27, 2026 02:34
8879032 to
fd9aaa2
Compare
Aymericr
force-pushed
the
fidelity/ak-03b-extrude
branch
from
September 27, 2026 22:27
e5aad07 to
bf12a8a
Compare
Aymericr
force-pushed
the
fidelity/ak-03c-revolve
branch
from
September 27, 2026 22:27
fd9aaa2 to
97673ca
Compare
A v2 'revolve' shape turns a [radius, height] profile (2-64 points, each an expression) about local Y, with the cylinder's segments and arc. It is a closed solid where the profile meets the axis at both ends over a full turn; otherwise it is an open surface that also draws its back face, since materials are front-sided. Evaluation drops points that collapse onto the previous one and re-centres the profile in its box. Triangles are analytic (two per segment per profile edge, doubled for open surfaces). The builder uses LatheGeometry and orients the profile so solids face outward. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…us, profile-exact vertices (AK-03c, failing) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…he per revolve; face-frame revolve UVs (AK-03c) - Ceiling-cut containment reads each profile point's ring as rendered, so a revolve fits a circle cut of its own diameter. - An open revolve mirrors its one LatheGeometry for the back face. - Revolves take world-scale face-frame UVs, like extrusions and v2 cylinders. - The strict shape union refuses a stray radius on a revolve. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Aymericr
force-pushed
the
fidelity/ak-03b-extrude
branch
from
September 28, 2026 03:16
bf12a8a to
9a02e58
Compare
Aymericr
force-pushed
the
fidelity/ak-03c-revolve
branch
from
September 28, 2026 03:16
97673ca to
0dddbbe
Compare
This was referenced Sep 28, 2026
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AK-03c: revolve shapes
Stacked on #951 (AK-03b) → … → #945. Review the top commit only. This is part 3 of AK-03; sweep is deferred to B-05 (see Seam).
What. A v2
revolveshape:{ primitive: 'revolve', profile: [[radius, height], …], segments?, arc?, position, rotation?, slot }.segments(default 24) andarc(default 2π) are the cylinder fields.DoubleSidetoFrontSide.select-driven feature can shrink to zero length.revolveIsClosed()is exported for the builder and the tests.2 · segments · (points − 1), doubled for open surfaces, which matchesLatheGeometry's index.Why. Audit limit #1: +3.5 % of /next (256 elements) needs lathe: pool details, openings, devices, pendants, balusters. It is also trial blocker 6: an ellipsoid only approximates E7's bell shade, and E8's turned balusters had to be boxes.
Failing case first. Before the fix,
core/src/procedural-items/revolve.test.tsfailed 5 of 5 tests (scratch/AK-CORE/03c-failing-before.txt).Proof. The trial's own recipes are built with this builder and scored with the trial's
compare.pyagainst the /next source meshes (scratch/AK-CORE/proofs/e7-e8.out,e8-balusters.out).select(index, …)over values read from the source occurrences (e8-baluster-params.json), the way a converter would read them. At 2 cm both E8 candidates are already perfect, so the gain shows only at 2–5 mm.geometry.test.ts: closed baluster, reversed baluster, open shade, half-turn shade, quarter-turn solid. Built triangles equal the evaluated count, the height matches the box, and every side-wall normal on a closed solid points outward.bun test src(core): 3017 pass.bun test src/procedural-item(nodes): 53 pass.turbo check-typesfor core, nodes and editor: pass.bun run check: clean.Seam for B-05 (sweep, deferred).
core/procedural-items/section.ts(#951) turns any resolved F1 section into rings. A futuresweepshape takes{ section, path: [Vec3], ends?: [SweepEndSpec, SweepEndSpec] }, evaluates the section exactly asextrudedoes, and emits the same rings along the path. Its triangle count follows fromrings × path edges. Nothing in this PR constrains that shape.House effect: no change. The /next scenes have no
procedural-itemnodes; the E7 and E8 gains land when converters write v2.segmentsandarcnow also apply to revolveLatheGeometryruns once per (recipe, params) and is cached (0.25 ms at 64×40, CHALLENGE lpb)Local preview
Shared setup for the whole stack:
previews/AK.md(preview.sh start AK-PV previews/AK/ak-after.jsonserves on :3301).Setup is in
previews/AK.md.What you will notice
Where to look
Pose
5-balusters; poses1-overviewand2-ceilingfor the pendant.Before / after
previews/AK/before-5-balusters.png/after-5-balusters.png, andbefore-1-overview.png/after-1-overview.png.Checked by me: the static renders at the listed poses (captured from :3100 and :3301). I did not click through the interactive steps in a browser; unit tests cover them.
Known limits
For Wassim to review:
[radius, height]point order: radius first, like three'sVector2(x = r, y).🤖 Generated with Claude Code
Note
Medium Risk
New v2 geometry path touches recipe validation, bounds/footprints, triangle budgets, and mesh winding; behavior is covered by tests but affects procedural item authoring and rendering.
Overview
Adds a recipe version 2
revolveshape: authors supply a 2–64 point profile of[radius, height]pairs (expressions allowed), optionalsegmentsandarclike cylinders, spun about local Y.Core (
recipe.ts). The primitive joins the shape union with validation (v2-only, no support surfaces,segments/arcon revolve). Evaluation resolves the profile, drops coincident points, centres it vertically in the oriented box, and exportsrevolveIsClosed()for closed solids (axis at both ends + full turn). Triangle counts, footprints (for ceiling cuts / motion), and v2 feature detection are extended accordingly.Rendering (
geometry.ts). Builds meshes withLatheGeometry, fixes profile winding for outward normals on closed solids, and duplicates flipped geometry for open or partial surfaces so front-sided materials still show both sides. Revolves use v2 world-scale UVs;flipped()is adjusted for already non-indexed geometry.Tests. New
revolve.test.tscovers evaluation, validation, and review fixes;geometry.test.tschecks built triangles vs budget, normals, and profile fidelity.Reviewed by Cursor Bugbot for commit 0dddbbe. Bugbot is set up for automated code reviews on this repo. Configure here.
Codex review round (rev-952-a)
Failing test first:
test(... AK-03c, failing), then the fix.radius(strict per-primitive schema).LatheGeometryper revolve. Open surfaces reuse it flipped for back faces.