Releases: root-project/jsroot
Releases · root-project/jsroot
5.0.3
5.0.2
5.0.1
- Support older ROOT files, created before 2010
- Support TBranchObject - appears in old files
- Correctly set TBasket buffer position for the entry
- Fix - problem with empty STL containers
- Fix - empty baskets at the end of branch store
- Fix - problem with zooming in THStack
5.0.0
- Reading TTree data
- all kinds of branches, including split STL containers
- branches with several elementary leaves
- branches from different ROOT files
- JSROOT.TSelector class to access TTree data
- simple access to branch data with "dump" draw option
- TTree::Draw support
- simple 1D/2D/3D histograms
- simple cut conditions
- configurable histogram like "px:py>>hist(50,-5,5,50,-5,5)"
- strings support
- iterate over arrays indexes, let use another branch as index values
- support "Entry$" and "Entries$" variables in expressions
- bits histogram like "event.fTracks.fBits>>bits(16)"
- special handling of TBits
- arbitrary math function from JavaScript Math class, some TMath:: function from ROOT
- if branch is object, one could use methods "TMath::Abs(lep1_p4.X()+lep1_p4.Y())"
- interactive player to configure and execute draw expression
- Full support of Float16_t and Double32_t types in I/O
- Drawing of RooPlot objects, I/O support for RooFit classes
- Many improvements in object inspector
- support of large lists; only first part is shown
- support of large arrays; values group in decades
- allow to call draw function for sub-elements in inspector
- Canvas or selected sub-pad can be enlarged when double-clicked outside frame (#116)
Complete drawing will be expanded to the visible space.
Not available for flex, tabs and collapsible layouts. - Support reading of local ROOT files with HTML5 FileReader.
Files can be selected only with interactive dialog. - Combine "Ctrl" and "Shift" keys with mouse click on the items:
- with Shift key typically object inspector will be activated
- with Ctrl key alternative draw options will be used (like colz for TH2)
- Update libraries
- d3.js - 4.4.4
- three.js - 84
- jquery - 3.3.1
- jquery-ui - 1.12.1
4.8.2
Support compressed array, produced with newest TBufferJSON
- $arr field identify such array and contains data type
- native arrays are used when decoding such array
- zero values are not stored
- many similar values stored as one with repetition factor
- position stored only when differ from produced with previous block
- array [3,3,3,3,3,3,1,2,2,2,2,2,2,2] compressed as {$arr:"Int",len:14,v:3,n:6,v1:1,v2:2,n2:7}
4.8.1
- Support new JSON format, produced with newest TBufferJSON
- object references stored as {"$ref":12}
- pair objects for std::map marked with "$pair" : "pair<type1,type2>" data member
- old JSON format will be recognized automatically and supported as well
- Fix - better selection of Y range for log scale
- Provide JSROOT.parse_multi() function to correctly parse response of multi.json request,
support it in the JSROOT.NewHttpRequest method as well. - Fix - correctly calculate integral for TH1
- Partially support new TFormula with complex C code inside
4.8.0
- Many improvements in the I/O part
- support most of STL containers
- support TMap and TClonesArray containers
- all kind of multidimensional arrays
- correct treatment of foreign classes
- supports different versions of class in the same file
- support members like ClassName* fField; //[fCnt]
- support const char*
- support fixed-size array of TString, TObject and TNamed
- Many new draw options for different classes are supported:
- TGraph - 'z', 'x', '||', '[]', '>', '|>', '5', 'X+', 'Y+'
- TH1 - '*', 'L', 'LF2', 'B', 'B1', 'TEXT', 'E0', 'E3', 'E4', 'EX0', 'X+', 'Y+'
- TH2 - 'E', 'col1', 'box', 'box1', 'surf3', 'surf7', 'base0'
- TH2 - 'same' with 'box', 'col', 'cont', 'lego', 'surf'
- TH3 - 'scat', use by default
- TF1/TF2 - 'nosave' to ignore saved buffer
- TCanvas - logx/y/z, gridx/y, tickx/y
- THStack - 'lego' and other 3D draw options
- Implement drawing of TProfile2D, TF2, TGraph2D, TGraph2DErrors and TMarker
- Fix - correctly place TGAxis relative to frame (when exists)
- When superimpose items, one can specify individual options
...&item=histo1+histo2&opt=hist+e1
...&item=[histo1,histo2]&opt=[hist,e1] - Support loading of TStyle object, providing in URL
...&style=item_name or ...&style=json_file_name
All values are copied directly to JSROOT.gStyle object. - Add callback argument into JSROOT.draw() function.
Function will be called after drawing of object is completed.
Painter for drawn object will be provided as first argument (or null in case of error). - Improve cleanup of JSROOT objects
4.7.1
- Workaround for MathJax output - scaling not always works in Firefox
- Fix - bin scaling for box draw option for TH2 and TH3 histograms
- Fix - increase points limits for contour plots
- Fix - position of 3D canvas in webkit browsers
- Fix - use abs bin content in RMS calculations
- Fix - support char star* and object arrays in I/O
- Fix - correct decoding of TAxis time offset
- Fix - checksum reading for foreign classes
4.7.0
- Implement simple TTree::Draw over single leaf (#80).
Support basic types, fixed-size arrays and several vector types - Display of TEveTrack(s) and TEvePointSet(s) over drawn geometry (drag and drop).
Also browsing, toggling, highlight of tracks and hits are done. - Let set default geo colors as TGeoManager::DefaultColors() does
- Let use original ROOT macros to configure visibility of geometry volumes.
One can set default colors or colors/transparency for selected volumes.
Also volume, selected for drawing in the macro, will be used in the JSROOT.
Example:&file=files/alice2.root&item=Geometry;1&opt=macro:macros/geomAlice.C
- Support drawing of TH2Poly class with 'col' and 'lego' options
- Implement 'CONT', 'ARR' and 'SURF' draw options for TH2 class
- Support basic drawing of TPolyLine class
- Interactive axis zooming in 3D with mouse, very much like to 2D
- Zooming and tool buttons via keyboards
4.6.0
- Improvements in TGeo drawings
- support of large (~10M volumes) models, only most significant volumes are shown
- one could activate several clip planes (only with WebGL)
- interaction with object browser to change visibility flags or focus on selected volume
- support of floating browser for TGeo objects
- intensive use of HTML Worker to offload computation tasks and keep interactivity
- enable more details when changing camera position/zoom
- better and faster build of composite shapes
- Improvements in histograms 3D drawing
- all lego options: lego1..lego4, combined with 'fb', 'bb', '0' or 'z'
- support axis labels on lego plots
- support lego plots for TH1
- Improvements in all 3D graphics
- upgrade three.js to r79
- use of THREE.BufferGeometry for all components
- significant (up to factor 10) performance improvement
- Implement box and hbox draw options for TH1 class
- Implement drawing of axes ticks on opposite side (when fTickx/y specified)
- Preliminary support of candle plot (many options to be implemented)
- Update draw attributes (fill/line/position) when monitor objects