anchor.diff:    end;
    
  -procedure TEdgeMenuI.LoadData; begin _edges := _node.ie end;
  -procedure TEdgeMenuO.LoadData; begin _edges := _node.oe end;
  +procedure TEdgeMenuI.LoadData;
  +  begin _edges := _node.ie;  _cellw := bytes([23,8]);
  +  end;
  +
  +procedure TEdgeMenuO.LoadData;
  +  begin _edges := _node.oe; _cellw := bytes([8,23]);
  +  end;
   
   //  todo: simplify by just having per-column callbacks
   function TEdgeMenuI.RenderCell(gx,gy:integer) : TStr;
  
positive.code:     end;
  
  constructor TEdgeMenu.Create( aOwner : TComponent );
    begin inherited; _w := 32; _h := 8; _index := 0;
    end;
  
  function TEdgeMenu.Count : word;
  
negative.code: 
  type
    TEdgeMenu = class (utv.TView)
      protected _base : IBase; _node : INode; _igx, _igy : cardinal;
        _edges : TEdges; _cellw : TBytes; _gw, _gh : byte;
      public
        constructor Create( aOwner : TComponent ); override;
        procedure Render; override;
        procedure RestoreCursor; override;
        procedure LoadData; virtual; abstract;
        function RenderCell(gx,gy :integer) : TStr; virtual; abstract;
        function count : word;
  