I’d start with creating basic Mouse/Keyboard events and drawing custom geometry in DrawOverlay
Rhino.Display.DisplayPipeline.DrawOverlay += DisplayPipelineEvents.DrawOverlay;
public static void DrawOverlay(object sender, DrawEventArgs e)
{
if (Display.OnScreenWidget != null)
{
Display.OnScreenWidget.OnDrawOverlay(e);
}
}
public void OnDrawOverlay(DrawEventArgs e)
{
// your drawing code goes here
e.Display.Draw...
}