Difference between revisions of "Toolbox/PR3"

From Audacity Wiki
Jump to: navigation, search
(Fix link.)
(tweaks.)
Line 25: Line 25:
 
===Zoomable-images===
 
===Zoomable-images===
  
Audacity's ruler zooms in steps, whereas this new implementation, and the image it gives a scale for, can be smoothly zoomed and panned.  
+
Audacity's ruler zooms in steps.  The waveform implementation, 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.
 
* 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 begins the interface for navigating large biochemical pathways charts.
+
* This zooming/panning begins the interface for navigating large biochemical pathways charts.
  
 
[[Image:CambridgeMap.png|500px]]
 
[[Image:CambridgeMap.png|500px]]
Line 42: Line 42:
 
This 'cell wall' component repeats an object along a (Catmull-Rom spline) path.   
 
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.
 
* 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===
 
===Image transforms===
  
We can rotate and reflect any component-object.   
+
We can now rotate and reflect any component-object.   
 
* This was first needed to make zoomable rulers work in both vertical and horizontal orientation.
 
* This was first needed to make zoomable rulers work in both vertical and horizontal orientation.
  
Line 79: Line 81:
  
 
* Chronograms suggest a way to unify tree based diagrams and traditional bar and line charts.
 
* 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 than 'fixing it by hand' to keep the code general.
+
* 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.

Revision as of 11:32, 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 used for both biosciences (left) and source code (right).

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


WikidiagramsComparisons2.png


Here are the biology related demos.

New Features

Zoomable-images

Audacity's ruler zooms in steps. The waveform implementation, 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.

  • 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.

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 central:

  • 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.