sformDiagram :: Vector2 -> Diagram -> Diagram
transformDiagram d diag = zSort $ diag { points = map (transformPoint  a b) (points diag) }
  where -- convert delta to two angles (somewhat arbitrarily)
      a = atan2 (-(vx d)) eyeZ
      b = atan2 (-(vy d)) eyeZ

tr
transformDiagram :: Vector2 -> Diagram -> Diagram
transformDiagram d diag = zSort $ diag { points = map (transformPoint  a b) (points diag) }
  where -- convert delta to two angles (somewhat arbitrarily)
      a = atan2 (-(vx d)) eyeZ
      b = atan2 (-(vy d)) eyeZ
transformDiagram d diag = zSort $ diag { points = map (transformPoint  a b) (points diag) }
  where -- convert delta to two angles (somewhat arbitrarily)
      a = atan2 (-(vx d)) eyeZ
      b = atan2 (-(vy d)) eyeZ