Skip to content

Add prototype browser-based CAD parameter editor - #9

Closed
BenCaunt wants to merge 1 commit into
mainfrom
codex/prototype-graphical-cad-editing-interface
Closed

Add prototype browser-based CAD parameter editor#9
BenCaunt wants to merge 1 commit into
mainfrom
codex/prototype-graphical-cad-editing-interface

Conversation

@BenCaunt

@BenCaunt BenCaunt commented May 7, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Provide a human-friendly way to edit CAD-driving parameters so non-coders (or LLM-driven workflows) can adjust designs without hand-editing Python source.
  • Prototype a minimal, dependency-free interface as a first step toward a graphical sketch/parameter editor for the CAD project.

Description

  • Add synthcad/sketch_editor_cli.py, an AST-backed CLI that discovers top-level uppercase constants and serves a small HTTP API (/api/schema, /api/apply) plus an embedded HTML/JS frontend for in-browser editing of numeric/string/tuple literals.
  • Implement in-place source updates via apply_constant_updates by mapping AST assignment ranges back to file text and replacing targeted assignments with repr-serialized values.
  • Register the CLI entry point synthcad-sketch-editor in pyproject.toml and add unit tests in tests/test_sketch_editor_cli.py covering discovery and update behavior.

Testing

  • Ran uv run pytest tests/test_sketch_editor_cli.py to exercise the discovery and update functions.
  • The test run completed successfully with all tests passing (2 passed).

Codex Task

github-actions Bot added a commit that referenced this pull request May 7, 2026
@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

SynthCAD CAD review

Compared 50cc8c6e6505 to def33044b4bf for flat-disk-robot.

@BenCaunt BenCaunt closed this May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant