README 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. New in version 3.1:
  2. This is a minor release including a few bug fixes and minor new features. For
  3. more details on the new release, see:
  4. http://code.google.com/p/protovis-js/wiki/ReleaseNotes
  5. - panels now support an "overflow" property; set to "hidden" for clipping
  6. - linear and log scales support tick formatting
  7. - ordinal scale supports pv.index accessor
  8. - log scale invert supports negative values
  9. - avoid removing children on render to avoid spurious events
  10. New in version 3.0:
  11. We've moved all the documentation to the wiki so that it's easier to maintain.
  12. Feel free to add your comments. (And, if you're so inclined, join the group so
  13. you can contribute!)
  14. interaction
  15. - properties now behave consistently in event handlers
  16. - use local variables or properties to modify display
  17. - can redraw at any level of the scene graph
  18. - event handlers on parent panels are inherited by children
  19. - can set window location to simulate links
  20. - mark.mouse to get mouse location
  21. local variables (defs)
  22. - use "def" to define local state per mark (e.g., def("foo"))
  23. - event handlers can override def values (e.g., this.foo(42))
  24. - properties can query def values (e.g., this.foo() == 42)
  25. - can also be used to define efficient property functions (e.g., scales)
  26. scales
  27. - pv.Scales is dead; long live pv.Scale
  28. - scales each have a domain (input data) and range (output pixels/color/angle)
  29. - scales are stateful, not magical
  30. - ordinal scales are categorical (discrete domain and range)
  31. - linear and log scales are quantiative (continuous domain and range)
  32. - `by` functionality, useful as a "view"
  33. - support for ticks, interaction, and more!
  34. colors
  35. - default coloring now uses parent rather than (magical) mark index
  36. - brighter and darker operators
  37. - named colors (e.g., pv.ramp("brown", "orange"))
  38. - `by` functionality standardized
  39. - HSL to RGB conversion bug fixed
  40. - per channel override methods (e.g. color.red(0))
  41. - pv.Colors now uses pv.Scale.Ordinal under the hood
  42. layouts
  43. - treemaps!
  44. - sunbursts!
  45. - icicles!
  46. - tree size function for determining node size / children
  47. - stack: allows stacking of bars and areas (etc.) with customizable baseline
  48. - grid: two-dimensional table of bars or panels (heatmap, e.g.)
  49. properties
  50. - evaluated in the order they are defined, allowing dependencies
  51. - defs are evaluated before properties; constants before functions
  52. - default data property is [d] rather than [null], simplifying nesting
  53. - significant performance improvements!
  54. - width and height now supported on rules
  55. data utilities
  56. - pv.repeat for array repetition
  57. - pv.random for random integers (or intervals)
  58. - pv.log{,Adjusted,Symmetric,Floor,Ceil}
  59. - pv.transpose for transposing two-dimensional arrays
  60. - pv.Vector for 2D geometry
  61. - pv.tree and pv.flatten for converting between tabular and hierarchical data
  62. lines and areas
  63. - can be "segmented" for variable lineWidth, color, visibility
  64. - segmentation can change dynamically (e.g., on mouseover tooltip refinement)
  65. - see Napoleon's March and animated examples
  66. - step functions!
  67. anchors
  68. - now use a single class, pv.Anchor
  69. - define properties like normal marks
  70. - support for anchors on root panel / anchors on panels
  71. performance improvements
  72. - separated rendering from building to allow pluggable renderers
  73. - optimized evaluation of properties
  74. - don't wrap constants in functions
  75. - "bind" phase caches inherited property definitions
  76. - minimize SVG output
  77. - job voyager is about 2x faster
  78. bug fixes
  79. - much more robust rebuild + re-render
  80. - panel stroke now goes over children (consistent with images)
  81. - circle dots with large lineWidths now render correctly
  82. - reverse property now more robut
  83. - type attribute now inherited; controls rendering behavior
  84. - better JavaScript minification
  85. - use typeof == "function" rather than instanceof Function
  86. - internal scene graph structure changed to facilitate traversal
  87. - panel left/top/right/bottom now consistent with other marks
  88. - better support for Date.parse and Date.format