Difference between revisions of "Toolbox/PR3"

From Audacity Wiki
Jump to: navigation, search
(tweaks.)
(Why unify?)
Line 25: Line 25:
 
===Zoomable-images===
 
===Zoomable-images===
  
Audacity's ruler zooms in steps.  The wave plot, a building block for a future in-browser audio editor, can be smoothly zoomed and panned.  The zooming and panning also works on the map.
+
Audacity's ruler zooms in steps.  The wave plot, a building block for a future in-browser audio editor, can be smoothly zoomed and panned by dragging on the ruler.  The zooming and panning also works on the map.
 
* This is part of a 'slippy-maps'/'google-maps' style of image navigation that can be applied to generated images to reveal more detail as you zoom in.   
 
* This is part of a 'slippy-maps'/'google-maps' style of image navigation that can be applied to generated images to reveal more detail as you zoom in.   
 
* This zooming/panning begins the interface for navigating large biochemical pathways charts.
 
* This zooming/panning begins the interface for navigating large biochemical pathways charts.
Line 35: Line 35:
 
This is a variation on a bar chart.   
 
This is a variation on a bar chart.   
 
* The chronogram is the start of unifying bar charts, spindle charts and cladograms.
 
* The chronogram is the start of unifying bar charts, spindle charts and cladograms.
 +
 +
A normal bar chart 'is' a chronogram, without the 'tree lines'.  Unifying different kinds of chart has several advantages.  The same code 'does more'.  Users of the charts have a consistent API - they have less work to do when changing diagram types.  New chart types become possible, because the ways elements are combined have become more sophisticated.
  
 
[[Image:Chronogram1.png|500px]]
 
[[Image:Chronogram1.png|500px]]

Revision as of 11:50, 4 June 2020

Progress reports, produced roughly every two months, about the toolbox interactive wiki diagrams code.
See: PR1, PR2 and PR3



Progress Report 3

For start of June 2020

Parallels: Biosciences and Code

Two more of the diagram types are now shown for both biosciences (left) and Audacity code development (right).

  • A keyword in context index; for papers (left), for Audacity bugs (right)
  • An objects-on-a-curve display; for cell wall (left) and for Audio waveforms (right)


WikidiagramsComparisons2.png


Here are the biology related demos.

New Features

Zoomable-images

Audacity's ruler zooms in steps. The wave plot, a building block for a future in-browser audio editor, can be smoothly zoomed and panned by dragging on the ruler. The zooming and panning also works on the map.

  • This is part of a 'slippy-maps'/'google-maps' style of image navigation that can be applied to generated images to reveal more detail as you zoom in.
  • This zooming/panning begins the interface for navigating large biochemical pathways charts.

CambridgeMap.png


Chronogram

This is a variation on a bar chart.

  • The chronogram is the start of unifying bar charts, spindle charts and cladograms.

A normal bar chart 'is' a chronogram, without the 'tree lines'. Unifying different kinds of chart has several advantages. The same code 'does more'. Users of the charts have a consistent API - they have less work to do when changing diagram types. New chart types become possible, because the ways elements are combined have become more sophisticated.

Chronogram1.png

Cell-wall diagrams

This 'cell wall' component repeats an object along a (Catmull-Rom spline) path.

  • In the demo a schematic representation of a lipid is repeated to make a lipid bilayer.

I've always been bothered by how fiddly curves in Inkscape are to work with. Using Catmul-Rom splines, the control points are 'on the path' making modifying the path easier.

Image transforms

We can now rotate and reflect any component-object.

  • This was first needed to make zoomable rulers work in both vertical and horizontal orientation.


Incremental Improvements

KWIC displays

  • Now have 'zebra' striping to make it easier for the eye to follow a line.
  • Text shorter than the line is now gapped rather than being repeated to use the space.

Tiles Display

  • Now highlights the tile on hover

Fixes

  • The 'i' icon no longer flickers on a click.
  • Clicked detail panel no longer stays around longer than intended.
  • On Safari on Catalina the 'globes' plots now use the size Safari gives, rather than the size requested. This works around a bug in Safari that led to weird/distorted maps.
  • Fixed: Spurious selection when dragging on canvas.
  • Fixed: Dragging stops when we drag off screen and then return.


Recap of 'Combinatorial Features'

Combinatorial features that work with multiple or all diagram types are crucial. They help us avoid just having a collection of separate diagrams, and instead create a construction kit for diagrams.

  • The master-detail 'large tooltips' to annotate a diagram
  • The slippy-map navigation to support navigation of diagrams
  • Rotations and reflections to allow charts/diagrams in different orientations.
  • Packing into layouts (Horizontal Stack, Vertical Stack and Overlay)
  • Chooser to choose one from several choices of diagram
  • Repeating a simple diagram along a path


Lessons / Insights

  • Chronograms suggest a way to unify tree based diagrams and traditional bar and line charts.
  • Code keeps 'escaping' into special case methods. I need a more powerful mechanism to deal with this problem than 'fixing it by hand' if I'm to keep the code general.