원클릭으로
dm-viewport-fallback-rule
Enforces the "No Silent Fallbacks" rule for workplanes when modeling.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Enforces the "No Silent Fallbacks" rule for workplanes when modeling.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | DM Viewport Fallback Rule |
| description | Enforces the "No Silent Fallbacks" rule for workplanes when modeling. |
This project strictly enforces that tools behavior should never depend on hidden or implicitly cached state that the user cannot see.
When a user triggers a tool click, the tool casts a ray through the viewport. If the ray hits a face on existing geometry, it aligns the workplane to that face. If it hits an explicit visual DMWorkPlane, it snaps to it.
If the ray hits empty space, the fall-back behavior must be completely stateless:
When creating a new modeling tool (e.g. subclassing PrimitiveCreatorBase or NURBSPrimitiveCreator), you must:
_last_working_plane.ViewProjector.get_base_plane().get_mouse_plane_pt()'s fallback; do not attempt to cache it across tool invocations unless an explicit, user-facing persistent object (like a DMWorkPlane) dictates it.Architecture reference for the unified edit-mode transform gizmo (translation arrows + rotation rings, transform spaces, x-ray rendering). Required reading before implementing any task in todo.md whose ID begins with GIZMO-.
Reference for the two-color (orange/blue) boolean system where IsSubtractive classifies inputs into groups and boolean operations combine them into a parent-child tree. Required reading before implementing any task in todo_bool.md.
Standardized pattern for creating interactive SDF primitive tools in the Direct Modeling workbench.
Template and rules for creating new SDF primitive field classes in core/sdf/sdf/. Required reading before implementing any new SdfField subclass.
Reference for converting SVG path data (M L H V C S Q T A Z) and shape elements (rect, circle, ellipse, line, polyline, polygon) into cubic Bezier segments with no rasterization. Required reading before implementing svg_importer.py.
Convention for registering primitive-specific GLSL inside the primitive's own .py file. Required reading before editing any to_glsl/to_glsl_2d method.