Releases: root-project/jsroot
4.4.1
- Fix - colz palette resize when drawing histogram second time
- Fix - use embed in TCanvas color for background color of canvas itself
- Fix - rotate too long X axis text labels
- Fix - draw histogram bins on frame boundary
- Fix - use alternative color for shapes with default black color
- Fix - correctly handle pcon/pgon shape with rmin==rmax on top or bottom side
4.4.0
- Fix faces orientation for all TGeo shapes.
- Improve TGeoTorus creation - handle all parameters combinations
- Implement TGeoCompositeShape, using ThreeCSG.js
- Fix problem with color pallete when switch to 3D mode (#28)
- Use nested CSS classes to avoid conflicts with other libraries (#29)
- Let move and resize TFrame
- Improve TH1/TH2 drawings
- draw all histograms points in the range (no any skipped bins)
- minimize SVG code for drawing (up to factor 100)
- gives significant speedup in drawings
- SVG code improvement for TGraph, TF1, TAxis drawings
- Provide new tooltip kind
- created only when needed (minimizing SVG code)
- tooltip can be drawn for every object in the frame
- touch devices are supported
- Fix - let draw same object on the canvas with different options
- Create cached list of known class methods. It can be extended by users.
- Use of cached methods improves binary I/O performance by 20%
- Support TGaxis
- Project now can be obtained via 'bower install jsroot'
- Support 'scat' and 'text' draw options for TH2
- Support in binary I/O zipped buffers bigger than 16M
- Correctly handle in binary I/O pointer on TArray objects (like in THnSparseArrayChunk)
4.3
- Implement TGeoCtub, TGeoParaboloid and TGeoHype shapes
- Support TGeoTube with Rmin==0
- Exclude empty faces in TGeoArb8
- Improve TGeoSphere creation - handle all parameters combinations
- Introduce JSROOT.cleanup() function to safely clear all drawn objects
- Fix wrong resize method in 'tabs' and 'collapsible' layouts
- Fix canvas resize problem (#27)
- Fix zero-height canvas when draw TGeo in collapsible layout
- Fix problem of simultaneous move TGeo drawings and canvas in flexible layout
4.2
- Significant performance improvements in 3D drawings - TGeo/TH2/TH3
- Implement TGeoPara, TGeoGtra, TGeoXtru and TGeoEltu shapes
- Optimize (reduce vertices number) for others TGeo shapes
- Correct rotation/translation/scaling of TGeo nodes
- Workaround for axis reflection (not directly supported in three.js)
- Support array of objects in I/O (like in TAxis3D)
- Correct reading of multi-dim arrays like Double_t fXY[8][2];
- Provide canvas toolbar for actions like savepng or unzoom
- Implement JSROOT.resize() function to let resize drawing after changes in page layout
- Fix error with title display/update
4.1
- Introduce object inspector - one could browse object members of any class
- Let draw sub-items from TCanvas list of primitives like sub-pad or TLatex
- Provide possibility to save drawn SVG canvas as PNG
- TGraph drawing optimization - limit number of drawn points
- Implement painter for TPolyMarker3D
- Improve drawing and update of TMultiGraph
- Reorganize 3D drawing of TH2/TH3 histograms, allow to mix 2D and 3D display together
- Support overlay of 3D graphic over SVG canvas (used for IE)
- Fix problems and improve flex(ible) layout
4.0
- New TGeo classes support:
- browsing through volumes hierarchy
- changing visibility flags
- drawing of selected volumes
- New 'flex' layout:
- create frames like in Multi Document Interface
- one could move/resize/minimize/maximize such frames
- Significant (factor 4) I/O performance improvement:
- use ArrayBuffer class in HTTP requests instead of String
- use native arrays (like Int32Array) for array data members
- highly optimize streamer infos handling
- TH2 drawing optimization:
- if there are too many non-empty bins, combine them together
- when zoom-in, all original bins will be displayed separately
- let draw big TH2 histogram faster than in 1 sec
- optimization can be disabled by providing '&optimize=0' in URL
- TF1 drawing optimization:
- function 'compiled' only once
- Reorganize scripts structure:
- move all math functions to JSRootMath.js
- TH2, TF1, THStack and TMultiGraph painters moved into JSRootPainter.more.js script
- reduce size of scripts required for default functionality
- Update all basic libraries:
- d3.js - v3.5.9,
- jquery.js - v2.1.4,
- jquery-ui.js - v1.11.4,
- three.js - r73
- Implement ROOT6-like color palettes:
- all palettes in range 51...112 are implemented
- by default palette 57 is used
- one could change default palette with '&palette=111' in URL
- or palette can be specified in draw option like '&opt=colz,pal77'
3.9
- Support non-equidistant bins for TH1/TH2 objects.
- Display entries count from histo.fEntries member, only when not set use computed value
- Support italic and bold text when used with MathJax
- Improve TF1 drawing - support exp function in TFormula, fix errors with logx scale, enable zoom-in, (re)calculate function points when zooming
- Support several columns in TLegend
- Introduce context menus for x/y axis, add some items similar to native ROOT menus
- Introduce context menu for TPaveStats, let switch single elements in the box
- Enable usage of all context menus on touch devices
- Implement JSROOT.Math.Prob function, provides probability value in stat box
- Introduce context menu for color palette (z axis)
- Implement col0 and col0z draw option for TH2 histograms, similar to ROOT6
3.8
- Let use HTML element pointer in JSROOT.draw function like:
JSROOT.draw(document.getElementsByTagName("div")[0], obj, "hist");
Normally unique identifier was used before, which is not required any longer.
Of course, old functionality with element identifier will work as well. - TreePlayer can also be used for trees, which not yet read from the file.
Requires appropriate changes in TRootSniffer class. - Fix error in I/O with members like:
Double_t *fArr; //[fN]
- Introduce JSROOT.OpenFile function. It loads I/O functionality automatically,
therefore can be used directly after loading JSRootCore.js script - Same is done with JSROOT.draw function. It is defined in the JSRootCore.js
and can be used directly. Makes usage of JSROOT easier - Introduce JSRootPainter.more.js script, where painters for auxiliary classes
will be implemented. - Implement painter for TEllipse, TLine, TArrow classes
- Fix several problems with markers drawing; implement plus, asterisk, mult symbols.
- Implement custom layout, which allows to configure user-defined layout for displayed objects
- Fix errors with scaling of axis labels.
- Support also Y axis with custom labels like: http://jsroot.gsi.de/dev/?nobrowser&file=../files/atlas.root&item=LEDShapeHeightCorr_Gain0;1&opt=col
3.7
-
Support of X axis with custom labels like:
http://web-docs.gsi.de/~linev/js/3.7/index.htm?nobrowser&json=../files/hist_xlabels.json -
Extend functionality of JSROOT.addDrawFunc() function. One could register type-specific
make_request
andafter_request
functions;icon
,prereq
,script
,monitor
properties.
This let add more custom elements to the generic gui, implemented with JSROOT.HierarchyPainter -
Provide full support of require.js. One could load now JSRootCore.js script like:
<script type="text/javascript" src="require.js" data-main="scripts/JSRootCore.js"></script>
After this several modules are defined and can be used with syntax like:
require(['JSRootPainter'], function(jsroot) { /*any user code*/});
Also inside JSROOT require.js used to load all dependencies.
3.6
- Try to provide workaround for websites where require.js already loaded.
This makes problem by direct loading of jquery and jquery-ui - Provide workaround for older version of jquery-ui
- Prompt for input of command arguments
- After command execution one could automatically reload hierarchy (_hreload property) or
update view of displayed object (_update_item property) - Use HiearchyPainter for implementing draw.htm. This let us handle
all different kinds of extra attributes in central place - Fix problem in tabs layout - new tab should be add to direct child
- When drawing several tabs, activate frame before drawing - only then
real frame size will be set - Fix problem with GetBBox - it only can be used for visible elements in mozilla.
- Support drawing of fit parameters in stat box, use (as far as possible) stat and fit format for statistic display
- Implement 'g' formatting kind for stat box output - one need to checks significant digits when producing output.
- Support new draw options for TGraph: 'C', 'B1', '0', '2', '3', '4', '[]'
- Primary support for STL containers in IO part. Allows to read ROOT6 TF1.
- Full support of TGraphBentErrors
- Support objects drawing from JSON files in default user interface, including monitoring. One could open file from link like:
https://root.cern.ch/js/dev/?json=demo/canvas_tf1.json - Introduce JSROOT.FFormat function to convert numeric values into string according format like 6.4g or 5.7e. Used for statistic display.