Skip to content

Add a visible per-part bend-table manager #6

Description

@protosphinx

Why this matters

Bend tables already drive associative K-factor resolution, but users can author them only through typed operations.

Scope

  • Add a manager for 1 to 64 { thickness, bendRadius, kFactor } rows.
  • Route changes through sheetMetal.bendTable.set and deletion through sheetMetal.bendTable.delete.
  • Display the canonical sorted order after apply.
  • When a table is active, make flange dialogs explain that K-factor comes from the exact matching row.
  • Do not add gauge tables, interpolation, unit conversion, or CSV import.

Relevant files

  • src/page.html
  • src/static/studio.js
  • src/static/studio-v6-ui-registry.js
  • scripts/studio-sheet-metal-smoke.ts
  • docs/sheet-metal.md

Acceptance evidence

  • Unsorted visible input persists in canonical thickness and radius order.
  • Editing a row associatively updates every dependent flange K-factor and bend allowance.
  • Exact folded bodies rebuild successfully after the update.
  • Missing row, duplicate row, and invalid value failures do not mutate the project.
  • Deleting the table freezes current resolved values as documented.
  • Save and reopen preserve the same canonical table and exact body evidence.

Test commands

npm run build
npm run smoke:sheet-metal
npm run smoke:ui-foundation
npm run smoke:browser
npm run ci:gate

Contribution size

M: a small table editor over an existing typed lifecycle, with associative rebuild coverage.

Maintainer response expectation

Post the short UI or fixture approach requested above and wait for maintainer scope confirmation before implementation. Review will focus on the listed acceptance evidence.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: sheet-metalSheet-metal authoring, unfolding, and flat outputenhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions