--- /dev/null
+Init.
+optimise rendering - use same model as alignment but with vertical binary sweep to select range of annotation to render:
+Vertical interval list
+. run length compress the sizes -> n_i * v_height_i -> label each node - total and accumulated total vertical pos (under current visibility settings ?)
+--> ins/delete/hide/show of one or more contiguous individual rows causes local -> global update of position sums.
+--
+.
+indexOf(VPosition in annotation display window),
+VPositionOf(AnnotationI)
+
+0.
+i. Hide/show by whole annotation set id
+ii. move to top/bottom
+iii.
+
+1. Summarising annotation
+{ Annotation Class ID
+|_ { Type string } }
+->
+
+Simple modal :
+- Proportion of sequences with most frequent symbol
+- symbol logo
+[ option to drill down and subselect based on particular symbol or subdivide by all symbols ]
+
+3. Clustering based on annotation
+A few routes:
+use built in PCA calculation to do scalar product based analysis of one or many annotation vectors.
+Sliding window over alignment doing pca at each point. Analyse trajectories through PCA ? (see maximum/minimum and stretches of local similarity)
+
+
+* ''' ACCESS ALL MENUS '''
+-> allow context popup to show all window submenus
+{ local relevant }
+{ Parent window -> file,edit,etc }
+{ Desktop -> File, Tools, ... }
+{ other areas more distant - e.g. sequence/annotation ID popup from middle of alignment/annotation area }
+
+
\ No newline at end of file