fix(mcp): refuse delete_node in Face selection mode like the native path
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 58/100
Línea de trabajo
Read AGENTS.md first for the shared typed operation guard rules. The native refusal is in native_operation in src/app.rs around line 243, and the remote path goes through remote_operation_guarded into apply_operation_guarded, which has no Face-mode check for Operation::Delete. Move or share the check so both paths return the same typed error, then add a regression test that SDK delete_node in Face mode leaves the scene, selection and history unchanged. Done means that test passes, the guard matrix snapshot from #81 has Face-mode Delete cells, and the MCP docs state the refusal.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
Native Delete is refused in Face selection mode, but the MCP delete_node path is not, so a remote client can delete the whole object while the editor is in Face mode. Native UI and MCP must share the same typed operation guards (AGENTS.md).
Current behavior
- Native:
native_operationrefuses Delete in Face mode before the guarded pipeline (src/app.rs, around line 243). - Remote:
remote_operation_guarded->apply_operation_guardedhas no Face-mode check forOperation::Delete, so the deletion succeeds.
Found by the safety-net review of #81 (guard matrix work for #78).
Expected
Delete in Face mode is refused identically for native and remote callers with the same typed error, with the scene unchanged, until component (face) deletion is implemented.
Acceptance
- The refusal lives in the shared guarded path (or both paths call one check), not only in
native_operation. - Regression test that fails before the fix: SDK
delete_nodein Face mode returns the typed refusal and leaves the scene, selection and history unchanged; native path test kept. - Guard matrix snapshot (#81) updated with the Face-mode Delete cells.
- MCP docs state the refusal.
- Lenguaje dominante
- Rust
- Estrellas
- 4
- Forks
- 2
- Merge medio
- 2 h 44 min
- PR fusionados (30 d)
- 59
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de cristim/AztecCraft
-
area/ui-parity type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cristim/AztecCraft#140 ·
Los mantenedores suelen responder en 1 día
-
area/ui-parity good first issue type/docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cristim/AztecCraft#85 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
good first issue type/docs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
cristim/AztecCraft#79 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area/selection area/viewport type/feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
cristim/AztecCraft#135 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 22/100
cristim/AztecCraft#128 ·
Los mantenedores suelen responder en 1 día
Todos los issues de cristim/AztecCraft
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
pop-os/cosmic-comp#2956 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
area:release criticality:p3 documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
registrystack/registry-stack#2085 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
libp2p/rust-libp2p#6694 ·
Los mantenedores suelen responder en 1 día
-
Stack overflow in `check bans` with `include-dependencies = true` and a dev-dependency cycleAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
EmbarkStudios/cargo-deny#910 ·