Refusal ghost: part-way refusals that need a frame map or a merge first
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Start with docs/decisions/871-refusal-ghost-rest.md and trace the listed call sites in raster.rs, multiaxis/rotary.rs, rotary_links.rs, generate.rs, cross_spindle.rs, and machining3d/entry.rs. Check how each path is framed and how existing tests pin ghost locations; add tests for any changed sites. Done means each site returns a correctly mapped partial path or has its reason recorded in a decision file, with successful output goldens unchanged.
Written by the indexing model from the issue text.
Description
Follow-up to #871 (refusal ghost for part-way refusals). The #871 PR adopted the ghost where the moves are in hand and the frame is already mapped to world by run_job. The remaining part-way refusals each need a frame map or a merge first, so they were listed in docs/decisions/871-refusal-ghost-rest.md rather than swept:
- finishing3d raster / rings / swarf (
raster.rsparallel,rings_and_tail,swarf_multi): Rotary contour and parallel run these on frame-LOCAL facets (multiaxis/rotary.rscalls offinishing3d::waterline/swarf). First add.map_err(GenError::without_ghost)(or ato_worldmap) at those rotary calls, then adoptwith_ghost_moves(b.moves()). - Rotary links and posing (
rotary_links.rsradial_relink,rotary.rsposed): rotary-local frame. Needsf.to_worldplus the tip offset. - Face under an area turn (
generate.rsturn_path(face_over(..)?, -turn)): the refusal's spot (already today) and any ghost are in the turned frame. Map the spot and ghost back throughturn_path(-turn). - Cross drill app-side laws (
cross_spindle.rsrapids_clear,cross_holderon the spindle-shiftedt): carry the ghost by the same shiftin_worlduses. - Nested refusals (
machining3d/entry.rspocket3d_air_splitmaterial leg,run_restrest ladder;generate.rsstitched contour runs): the inner refusal already carries its own ghost andwith_ghostkeeps it. Prepend the outer moves to it, which needs a smallGhostmerge. - Multiaxis stamp / swarf link / curve walk, the rotary gate, the fixture route: these are one-liners, but each needs its frame checked (posed or unposed world).
Done means: each site above either hands back its partial path in world coordinates (pinned by a test that its ghost lands where the part is) or is listed in a decision file with the reason. No generator's successful output changes, so goldens stay byte-identical.
Effort is high because it touches generator code (safety floor), even though the change is display-only.
Part of #261 (follow-up to #871).
- Dominant language
- Rust
- Stars
- 8
- Forks
- 11
- Avg merge
- 5h 22m
- Merged PRs (30d)
- 409
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NeoTech/Camcraft
-
tormach-plasma refusal text with no machine reads "no machine is not declared a plasma machine"Openarea:post bug effort:low P2 source:agent
Difficulty 1/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Face under an area turn: a refusal's spot is reported in the turned frame, not where the part isPossibly taken @mkinney claimed this today. Openarea:2d area:ui bug claimed effort:medium P2 source:agent
NeoTech/Camcraft#1017 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
area:mcp effort:low P1 source:agent
Difficulty 2/5 1-3 hours Newbie friendliness 57/100
Maintainers usually reply within 1 day
-
Lathe face-drilling posts leave the hole at R, not the stream's exit levelPossibly taken @mkinney claimed this today. Openarea:post bug claimed effort:high P1 source:agent
NeoTech/Camcraft#1011 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
area:2d area:3d bug effort:max P2 source:agent
Difficulty 5/5 Over a week Newbie friendliness 35/100
Maintainers usually reply within 1 day
All issues in NeoTech/Camcraft
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
aws/aws-emulator#30 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
Chat images never show without ImageMagick: ffprobe fallback uses an option string ffprobe 9 rejectsOpen
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
eliasstravik/herdr-projects#1011 ·
-
design-data-spec
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
adobe/spectrum-design-data#1744 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day