mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-03 02:25:55 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 52eb25311a |
@@ -15,3 +15,12 @@ Flowcharts and Mermaid diagrams cannot substitute for evidence of visible behavi
|
||||
## Integration status
|
||||
|
||||
Record the upstream commit and PR status checked before handoff, any conflicts resolved, and validation after integration. Keep up with upstream merges and monitor this PR while the task is active; rebase before pushing and never force-push.
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] The area is open on the [integration map](https://github.com/tangency-labs/solidcraft/blob/main/ROADMAP.md#integration-map), or the approach was agreed in the linked issue.
|
||||
- [ ] Linked issue (`Fixes #…`), ideally one in a current milestone.
|
||||
- [ ] One topic, under about 1,000 changed lines (over about 2,000 only with an agreed issue).
|
||||
- [ ] Tests added or updated for the change.
|
||||
- [ ] No GPL/LGPL/AGPL code, dependencies or required programs; new dependencies are named above with their licence.
|
||||
- [ ] If AI tools helped, I have read and understood every line and can explain it.
|
||||
|
||||
+36
-3
@@ -264,7 +264,24 @@ and a fresh CI run:
|
||||
features`). Don't regenerate or edit them in a pull request.
|
||||
- **Design format**: one file per change, never an edit to a shared number (above).
|
||||
|
||||
## Sending a change
|
||||
## Before you start
|
||||
|
||||
- **Check the [integration map](ROADMAP.md#integration-map).** It says which areas are open
|
||||
for pull requests now, which need a conversation first and which are deferred. The CAD core
|
||||
(sketch, solid modelling, assemblies, files) comes first. For a "talk first" area, open an
|
||||
issue (or comment on its RFC) and agree the approach before you write code.
|
||||
- **Keep pull requests reviewable.** Aim for under about 1,000 changed lines on one topic.
|
||||
Anything over about 2,000 lines needs an issue where a maintainer has agreed the plan first.
|
||||
Stacked pull requests are fine, as long as each one makes sense and can be reviewed on its own.
|
||||
Generated files, test data and goldens don't count towards the size, but say what they are.
|
||||
- **AI-assisted code is welcome.** You must understand every line you send and be able to
|
||||
explain it in review. Large amounts of generated code nobody has reviewed will be closed.
|
||||
- **Licences: no GPL, LGPL or AGPL.** That covers code, dependencies and programs SolidCraft
|
||||
needs at run time (for example FreeCAD or OpenCASCADE), as well as code ported or translated
|
||||
from them. The only exception is test tooling you run by hand as a separate program, like the
|
||||
[FreeCAD reference-value scripts](tools/freecad-oracle/README.md). See rule 2 above.
|
||||
|
||||
## Sending a pull request
|
||||
|
||||
1. Work is tracked in [GitHub issues](https://github.com/tangency-labs/solidcraft/issues), labelled
|
||||
by area (`area:kernel`, `area:sketch`, `area:doc`, `area:ui`, `area:infra`). For anything
|
||||
@@ -295,6 +312,21 @@ without pushes. These automatic cleanup deadlines are separate from the daily pr
|
||||
`/unclaim` releases the bot claim early (only you or a maintainer can). Issues a maintainer has
|
||||
taken are never freed automatically.
|
||||
|
||||
### Review, CI and milestones
|
||||
|
||||
- **Quick checks on every push.** Formatting, the repository checks and a quick compile run on
|
||||
every pull request.
|
||||
- **Full CI after review.** Once a maintainer has looked at the pull request they add the
|
||||
`approved-for-ci` label, which runs the full suite (build, tests, goldens, Clippy). This is
|
||||
coming with [#2689](https://github.com/tangency-labs/solidcraft/pull/2689); until it lands,
|
||||
ready pull requests run the full suite straight away.
|
||||
- **Merges go through the merge queue**, which runs the full suite once more on top of the
|
||||
latest `main` before the change lands.
|
||||
- **Milestones set the order.** The [milestones](https://github.com/tangency-labs/solidcraft/milestones)
|
||||
are the current sprint goals, and pull requests for them are reviewed first. When you can,
|
||||
link your pull request to an issue in one of them. Other pull requests are still welcome;
|
||||
they may just wait longer.
|
||||
|
||||
Help reviewers see what the words mean. For observable CAD, UI or model behavior, please
|
||||
include actual descriptive screenshots or a short recording in the issue or PR. This evidence
|
||||
is required for changes or bugs that can be demonstrated in the app, including kernel,
|
||||
@@ -356,8 +388,9 @@ In order of how much they'd help users:
|
||||
faces, and fillets that consume neighbouring faces.
|
||||
2. **Boolean robustness.** A random-design fuzzer currently gets about half of its designs
|
||||
through without a kernel error. Each failing seed is a reproducible bug.
|
||||
3. **Drawings, CAM and mesh tools.** These are out of scope for now (see
|
||||
[ROADMAP.md](ROADMAP.md)), but anyone who wants to own one is welcome.
|
||||
3. **Drawings, CAM and mesh tools.** These wait until the CAD core is solid. The
|
||||
[integration map](ROADMAP.md#integration-map) says which are "talk first" and which are
|
||||
deferred; please start with an issue rather than code.
|
||||
|
||||
## Licence
|
||||
|
||||
|
||||
+40
@@ -3,6 +3,46 @@
|
||||
Status as of **2026-10-14**. SolidCraft supports parametric modelling (sketch →
|
||||
features → parametric timeline) as an open, pure-Rust, agent-drivable application.
|
||||
|
||||
## Integration map
|
||||
|
||||
Where pull requests are welcome right now. The CAD core comes first: sketching, solid
|
||||
modelling, assemblies and files have to be dependable before we build big new workspaces on
|
||||
top of them.
|
||||
|
||||
- **Open**: send pull requests. Bigger changes still start from an issue (see
|
||||
[CONTRIBUTING.md](CONTRIBUTING.md#before-you-start)).
|
||||
- **Talk first**: open an issue or comment on the RFC and agree the approach before writing
|
||||
code. Pull requests without that agreement will usually be closed.
|
||||
- **Deferred**: not now. Ideas and requirements are welcome on the linked issues, but code
|
||||
pull requests won't be reviewed until the area opens.
|
||||
|
||||
| Area | Status | Why | Milestone |
|
||||
|---|---|---|---|
|
||||
| Solid modelling robustness (booleans, fillets, chamfers, shell, draft, patterns) | Open | Everything else is built on it. Each failing case is a clear, testable bug. | CAD core robustness |
|
||||
| Sketch and constraint solver | Open | Part of the CAD core. | CAD core robustness |
|
||||
| Parameters, configurations, timeline | Open | Part of the CAD core. | CAD core robustness |
|
||||
| Assemblies and joints | Open | In scope (M9) and in progress. | Assemblies |
|
||||
| Import, export and performance (STEP, IGES, 3MF, STL, OBJ, DXF; opening and rebuild speed) | Open | People need to get their work in and out. | Import, export & performance |
|
||||
| UI refresh (ribbon, toolbar, dialogs) | Open: coordinate on [#2016](https://github.com/tangency-labs/solidcraft/issues/2016) | The redesign is planned in one tracker so changes don't collide. | UI refresh |
|
||||
| Bug and crash fixes | Open | Always welcome, with a regression test. | Stability & bug fixes |
|
||||
| Translations | Open | See [docs/localization.md](docs/localization.md). | — |
|
||||
| Documentation | Open | | Contributor experience |
|
||||
| CI, tooling and contributor docs | Open | | Contributor experience |
|
||||
| Sheet metal and plastic | Open for fixes; talk first for new tools | The planned set (M10) is in; new tools need an agreed issue. | Stability & bug fixes |
|
||||
| Kernel internals | Talk first | The kernel is being replaced by [solidcore](https://github.com/bherbruck/solidcore). Don't rewrite the current kernel code for speed; report slow cases with the `kernel-perf` label. | solidcore kernel ([#1597](https://github.com/tangency-labs/solidcraft/issues/1597)) |
|
||||
| Surface modelling beyond what solids need | Talk first | Scope and order of work are in [#772](https://github.com/tangency-labs/solidcraft/issues/772). | — |
|
||||
| Render | Talk first | Work is planned in [#620](https://github.com/tangency-labs/solidcraft/issues/620); agree a piece there before starting. | — |
|
||||
| Drawings | Talk first | Needs a stable model underneath. Requirements and phases are in RFC [#860](https://github.com/tangency-labs/solidcraft/issues/860); foundations land in small packages ([docs/drawing-foundations.md](docs/drawing-foundations.md)). | — |
|
||||
| Manufacture / CAM | Deferred | The CAD core comes first: toolpaths are only as good as the model they are cut from, and CAM is a large area to review and maintain. Discussion: RFC [#1153](https://github.com/tangency-labs/solidcraft/issues/1153), plugin research [#1621](https://github.com/tangency-labs/solidcraft/issues/1621). | — |
|
||||
| Mesh workspace | Deferred | The CAD core comes first. Mesh import and Convert Mesh bug reports are still welcome. | — |
|
||||
| Form (T-splines) | Deferred | The CAD core comes first ([#446](https://github.com/tangency-labs/solidcraft/issues/446)). | — |
|
||||
| PCB / electronics | Deferred | The CAD core comes first. | — |
|
||||
| Simulation, animation | Deferred | The CAD core comes first. | — |
|
||||
|
||||
Milestones are the current sprint goals:
|
||||
[milestones on GitHub](https://github.com/tangency-labs/solidcraft/milestones). Maintainers
|
||||
review pull requests linked to issues in these milestones first.
|
||||
|
||||
## At a glance
|
||||
|
||||
| Question | Answer |
|
||||
|
||||
Reference in New Issue
Block a user