Use this guide when you want to report a bug and attach a reproducible history-based test case.
- Open a GitHub issue: https://github.com/mmiscool/BREP/issues/new
- The default bug-report template includes a required snippet section for history-based bugs.
- Use a clear title format, for example:
Extrude: negative distance flips end cap normals
- App URL where the issue happened (for example
https://brep.ioor your own deployment). - Browser and OS (for example
Chrome 123 / macOS 15.2). - Exact steps to reproduce, numbered.
- Expected result.
- Actual result.
- Console errors (copy/paste text, not only screenshots).
- Model attachment if relevant (
.BREP.json, screenshot, or short screen recording).
- Open the part where the bug happens.
- Reproduce the problem so the current history reflects the failing state.
- Click
🪲in the CAD toolbar. - In the dialog, copy the generated snippet (it is also copied to clipboard automatically when possible).
- Paste that snippet into your GitHub issue inside a fenced code block.
Example:
// paste generated snippet from the bug button hereIf you want to contribute a failing test in a PR:
- Create a new file in
src/tests, for examplesrc/tests/test_bug_extrude_face_case.js. - Convert the generated function to an exported test function that accepts
partHistory. - Remove the auto-invocation line at the bottom of the generated snippet.
- Import and register the test in
src/tests/tests.js. - Run
pnpm testand include results in your PR.
Minimal shape:
export async function test_bug_extrude_face_case(partHistory) {
// generated feature creation calls
partHistory.runHistory();
return partHistory;
}