# Signal Flow ## 2D SketchWidget - 2D QPoint form custom Qpainter widget in linear space - 2D QPoint ot cartesian space - 2D tuple into slvspace dict system and solvespace - get calced position from Solvespace solver - add to internal reference dict - Transform to linear QPainter space for display to show ## 3D custom Widget - Take Tuple points form solvespace main dict - Draw Interactor and sdfCAD model ### Select and Project - Project cartesian flattened mesh into 2D - Transform to 2D xy - Transform to linear space for 2D widget to draw. - Result into 2D cartesian for body interaction extrude etc ### Elements So far these are the elements: - Project: Main File - Timeline : Used to track the steps - Assembly: Uses Components and Connectors to from Assemblies - Component: Container for multiple smaller elements "part" - Connector: Preserves connections between parts even if the part in between is deleted - Code: A special type that directly builds bodys from sdfCAD code. - Body: The 3D meshed result from sdfCAD - Sketch: The base to draw new entities. - Interactor (edges): A special component mesh that is used to manipulate the bodys in 3d view.