Skip to content

docs(site): update to the trained-models + native-MLX reality (follow-up to #15)#16

Merged
LayerDynamics merged 2 commits into
mainfrom
docs/site-trained-models-mlx
Jun 11, 2026
Merged

docs(site): update to the trained-models + native-MLX reality (follow-up to #15)#16
LayerDynamics merged 2 commits into
mainfrom
docs/site-trained-models-mlx

Conversation

@LayerDynamics

@LayerDynamics LayerDynamics commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to #15 (merged). The model work from #15 (native-MLX faithful ports, the
autoregressive + latent-diffusion CAD generators, the honest validity metric) landed in
main, but the docs site was not updated in that PR. This brings the site in line
with what the code now does — 18 pages, build-verified.

What changed (the site told a stale story)

  • ll_gen — was badged "Untrained" / "ships untrained". Now documents the trained
    program-based generators (AR 0.914 valid, latent diffusion 0.934 valid,
    sampled-z vs z=0 baseline), the honest solid+volume validity gate, and that the
    parallel-decoder VAE (~12%) and raw-geometry diffusion (0 valid) are superseded.
  • ll_stepnet"Untrained" → trained classifier (val acc 0.976) + native-MLX
    parity port.
  • ll_brepnet — added the parity-verified native-MLX port alongside the 0.828 result.
  • ll_ocadr"ships no trained weights" → the trained, geometry-grounded MLX model
    (0.919 vs 0.313 shuffled); kept the accurate vLLM-experimental caveat.
  • index.mdx — removed the false "ll_brepnet is an empty scaffold / Planned"
    claim (it's trained, mIoU 0.828); added it as a package card; refreshed status.
  • get-started (installation + quickstart) — added the native-MLX (Apple Silicon)
    path; corrected the "no trained checkpoints" note.
  • concepts (index / the-reality / inside-models / how-it-works) — separated
    field-literature numbers from the toolkit's own measured results; added the
    program-vs-geometry validity lesson (independent-face diffusion → 0; program latent →
    0.934).
  • tutorials (generate-cad / ocadr-hf-inference / index) + roadmap +
    contributing — point to the trained MLX generators; drop "not-yet-built"/
    "proof-of-life" language.

Untouched (verified accurate as-is): cadling / geotoken / ll_clouds, guides, and the
auto-generated API references — no fabricated changes.

Astro build passes: 46 pages, all internal links valid.

🤖 Generated with Claude Code

Summary by Sourcery

Update the docs site to reflect newly trained, MLX-native CAD models and honest validity metrics across packages.

New Features:

  • Document trained, program-based ll_gen generators that produce measured-valid CAD and how to run them on Apple Silicon via MLX.
  • Add documentation for native-MLX, parity-verified ports and trained checkpoints for ll_stepnet, ll_brepnet, and ll_ocadr.
  • Introduce MLX installation and usage guidance for running neural models natively on Apple Silicon.

Enhancements:

  • Refresh the landing, concepts, tutorials, and roadmap pages to distinguish field results from the toolkit's own measured metrics and to remove outdated 'untrained' or 'planned' language.
  • Clarify the reliability, validity gating, and status of generation and geometry-grounded models, including honest caveats about vLLM and legacy generators.
  • Update contributing docs to reflect that roadmap entries now track shipped milestones as well as planned packages.

LayerDynamics and others added 2 commits June 11, 2026 12:19
The site described several models as "untrained" and omitted the native-MLX work and
the now-working valid-CAD generation. Corrected across 14 pages (Astro build passes,
all internal links valid):

- ll_gen: was badged "Untrained" / "ship untrained" -> now documents the trained
  program-based generators (autoregressive command model 0.914 valid; latent diffusion
  0.934 valid, sampled-z vs z=0 baseline) and the honest solid+volume validity gate;
  notes the parallel-decoder VAE (~12%) and raw-geometry diffusion (0) are superseded.
- ll_stepnet: "Untrained" -> trained classifier (val acc 0.976) + native-MLX parity port.
- ll_brepnet: added the parity-verified native-MLX port alongside the 0.828 result.
- ll_ocadr: "ships no trained weights" -> documents the trained, geometry-grounded MLX
  model (0.919 vs 0.313 shuffled); keeps the accurate vLLM-experimental caveat.
- index.mdx: removed the false "ll_brepnet is an empty scaffold / Planned" claim (it is
  trained, mIoU 0.828); added it as a package card; refreshed status + ll_gen card.
- get-started (installation + quickstart): added the native-MLX (Apple Silicon) path and
  corrected the "no trained checkpoints" note.
- concepts (index / the-reality / inside-models): distinguish field-literature numbers
  from the toolkit's own measured results; add the program-vs-geometry validity lesson.
- tutorials (generate-cad / ocadr-hf-inference): point to the trained MLX generators.

Untouched: cadling / geotoken / ll_clouds and auto-generated API references — accurate
as-is; no fabricated changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nav)

Reviewed the docs not touched in the previous pass. Updated the four with genuine
staleness; left the utility-package docs (cadling/geotoken/ll_clouds), guides,
contributing, and auto-generated API references unchanged (accurate as-is — verified by
grep for untrained/scaffold/proof-of-life/package-count claims):

- roadmap/ll_brepnet.md: note the parity-verified native-MLX port runs the trained GNN
  on Apple Silicon.
- concepts/how-neural-cad-generation-works.md: add a labeled "measured in this toolkit"
  note — independent-face B-Rep diffusion scores 0 valid, while the program-latent +
  autoregressive decode route reaches 0.934 / 0.914 through the real kernel.
- contributing/docs-site.md: roadmap/ comment no longer calls ll_brepnet "not-yet-built".
- tutorials/index.md: Generate-CAD row now says "train generators that produce valid
  CAD" instead of "a proof-of-life model".

Astro build passes (46 pages, all internal links valid).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sourcery-ai

sourcery-ai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Reviewer's Guide

Updates the docs site to accurately reflect the newly trained, native-MLX models and honest validity metrics added in #15, especially around ll_gen’s program-based generators, ll_stepnet, ll_brepnet, and ll_ocadr, and clarifies which paths are trained vs experimental across concepts, tutorials, and getting-started pages.

Flow diagram for ll_gen program-based valid CAD generation

flowchart LR
  Prompt["Prompt"] --> ARGen["ar_generator_mlx.py --mode train"]
  Prompt --> LatentDiff["latent_diffusion_mlx.py --mode train"]

  ARGen --> Prog["Construction_program"]
  LatentDiff --> Prog

  Prog --> Kernel["OCC / CadQuery sandbox"]
  Kernel --> Solid["Non_degenerate_solid"]
  Solid --> Metrics["GenerationMetrics.is_valid_solid"]

  Metrics --> Validity["Validity 0.914 / 0.934 + num_distinct"]
Loading

File-Level Changes

Change Details Files
Document trained, program-based ll_gen generators and honest validity metrics, replacing prior "untrained" messaging.
  • Update ll_gen overview to describe autoregressive command and latent-diffusion generators, their measured validity (0.914/0.934), and why program-based generation supersedes VAE and raw-geometry diffusion.
  • Add explicit section in ll_gen usage on trained MLX generators, including CLI commands, sampled-z vs z=0 baseline, and limitations of legacy VAE/VQ-VAE/diffusion paths.
  • Extend ll_gen tutorial to distinguish proof-of-life RL training from trained MLX generators, and add a new section with concrete commands and metrics for generating valid CAD.
site/src/content/docs/ll_gen/overview.md
site/src/content/docs/ll_gen/usage.md
site/src/content/docs/tutorials/generate-cad.md
Refresh landing and getting-started docs to reflect trained models, MLX support, and honest status of each package.
  • Update index.mdx to state there are seven packages, add ll_brepnet card, describe trained ll_stepnet classifier and ll_gen generators, and move ll_brepnet from "planned" to "recently shipped" with metrics.
  • Adjust quickstart to enumerate which models now ship trained (ll_brepnet, ll_stepnet, ll_ocadr, ll_gen) and add an MLX-on-Apple-Silicon section with parity/ training commands.
  • Update installation guide to add an MLX section (pip installs, parity notes) and call out OCC requirements for generation packages.
site/src/content/docs/index.mdx
site/src/content/docs/get-started/quickstart.md
site/src/content/docs/get-started/installation.md
Document trained, parity-verified native-MLX ports and metrics for ll_stepnet, ll_brepnet, and ll_ocadr, and clarify what remains untrained.
  • Change ll_stepnet overview and usage status sections from "untrained" to "trained + MLX", detailing the face-count classifier’s 0.976 validation accuracy, MLX parity script, and reminding that other heads are still untrained architectures.
  • Add a native MLX section to ll_brepnet overview documenting the MLX trainer, 100% per-face argmax parity with PyTorch, and matching mIoU, and update the ll_brepnet roadmap with MLX parity info.
  • Extend ll_ocadr overview with a native-MLX section describing the faithful geometry tower port, geometry-grounded metrics (0.919 vs 0.313 shuffled), and updated status badge text, and adjust the HF inference tutorial to clarify that HF projector is untrained while the MLX path is trained.
site/src/content/docs/ll_stepnet/overview.md
site/src/content/docs/ll_stepnet/usage.md
site/src/content/docs/ll_brepnet/overview.md
site/src/content/docs/roadmap/ll_brepnet.md
site/src/content/docs/ll_ocadr/overview.md
site/src/content/docs/tutorials/ocadr-hf-inference.md
Align conceptual docs with the new trained-model reality and clearly separate field numbers from toolkit measurements.
  • Update "The reality of AI CAD generation" to reference ll_gen’s own trained program-based generators and their measured validity, emphasize the failure of raw B-rep face generation, and add an "Honest measurement" note on solid+volume gating and distinct-shape metrics.
  • Amend concepts index and "Inside CAD generation models" to distinguish literature metrics from the toolkit’s own numbers and to point to ll_gen/ll_brepnet pages for concrete internal results.
  • Add a note to "How neural CAD generation works" describing the toolkit’s own measured outcome for face-grid diffusion (0 valid) vs program-latent diffusion (0.934) and AR model (0.914).
site/src/content/docs/concepts/the-reality-of-ai-cad-generation.md
site/src/content/docs/concepts/index.md
site/src/content/docs/concepts/inside-cad-generation-models.md
site/src/content/docs/concepts/how-neural-cad-generation-works.md
Align tutorials, roadmap, and contributing docs with the shipped state of ll_brepnet and ll_gen.
  • Update tutorials index to describe the Generate CAD tutorial as producing valid CAD, not just proof-of-life.
  • Revise the ll_brepnet roadmap to note the native-MLX port and parity with PyTorch.
  • Adjust contributing/docs-site to say roadmap includes shipped milestones (e.g., ll_brepnet done) rather than only planned packages.
site/src/content/docs/tutorials/index.md
site/src/content/docs/roadmap/ll_brepnet.md
site/src/content/docs/contributing/docs-site.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 1 issue, and left some high level feedback:

  • There’s a lot of repeated MLX command snippets and metric descriptions (e.g. AR 0.914 / latent 0.934, brepnet parity commands) across overview, usage, tutorials, and concepts; consider centralizing these into a shared partial or a single canonical section and linking to it to reduce future drift when numbers or CLIs change.
  • Some status/badge text and prose use slightly different terminology for the same concepts (e.g. “validity 0.914”, “0.914 valid”, “measured-valid CAD”, “non-degenerate solids”); standardizing phrasing and metric labels across pages would make it easier for users to compare models and avoid confusion.
  • Several pages now make strong, time-sensitive claims like “ships trained generators” and “recently shipped”; consider adding brief scope qualifiers or version anchors (e.g. ‘as of vX.Y’ or ‘DeepCAD-trained’) so that as models evolve those statements remain accurate or clearly historical.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- There’s a lot of repeated MLX command snippets and metric descriptions (e.g. AR 0.914 / latent 0.934, brepnet parity commands) across overview, usage, tutorials, and concepts; consider centralizing these into a shared partial or a single canonical section and linking to it to reduce future drift when numbers or CLIs change.
- Some status/badge text and prose use slightly different terminology for the same concepts (e.g. “validity 0.914”, “0.914 valid”, “measured-valid CAD”, “non-degenerate solids”); standardizing phrasing and metric labels across pages would make it easier for users to compare models and avoid confusion.
- Several pages now make strong, time-sensitive claims like “ships trained generators” and “recently shipped”; consider adding brief scope qualifiers or version anchors (e.g. ‘as of vX.Y’ or ‘DeepCAD-trained’) so that as models evolve those statements remain accurate or clearly historical.

## Individual Comments

### Comment 1
<location path="site/src/content/docs/ll_gen/usage.md" line_range="80" />
<code_context>
+python ll_gen/mlx/latent_diffusion_mlx.py --mode train
+```
+
+For the latent diffusion the headline metric is **sampled-z** validity
+(noise → denoise → decode → execute), reported against a `z=0` predict-the-mean
+baseline so a diverse generator is distinguishable from one that repeats the mean shape.
</code_context>
<issue_to_address>
**suggestion (typo):** Consider adding a comma after "latent diffusion" for correctness and readability.

Rephrasing to “For the latent diffusion, the headline metric is…” would better follow standard grammar for introductory clauses.

```suggestion
For the latent diffusion, the headline metric is **sampled-z** validity
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

python ll_gen/mlx/latent_diffusion_mlx.py --mode train
```

For the latent diffusion the headline metric is **sampled-z** validity

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (typo): Consider adding a comma after "latent diffusion" for correctness and readability.

Rephrasing to “For the latent diffusion, the headline metric is…” would better follow standard grammar for introductory clauses.

Suggested change
For the latent diffusion the headline metric is **sampled-z** validity
For the latent diffusion, the headline metric is **sampled-z** validity

@LayerDynamics LayerDynamics merged commit 2b2ebd3 into main Jun 11, 2026
3 checks passed
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