Skip to content

v4.0.0

Compare
Choose a tag to compare
@loichuder loichuder released this 13 Apr 15:17
· 1235 commits to main since this release

Full Changelog: v3.0.2...v4.0.0

@h5web/app

  • ⚠️ Breaking change [App] Prop startFullscreen is renamed to explorerOpen, as the term "full screen" was misleading. Note that the logic is inverted: the prop now defaults to true and has to be set to false in order to close the explorer on first render. #1042
    • The query param to pass in the URL to start the demo with the explorer closed is now called wide instead of fullscreen. If your app uses a query param called fullscreen, you may want to rename it as well.
  • ✨ New < NX Scatter > visualization for NXdata groups with 1D signal and two axis datasets. #1040
  • ✨ Add button in top bar to tell browser to go full screen #1042
  • < NX Spectrum > Show auxiliary values with colored handles in tooltip #1041 #1049
  • 🐛 < Heatmap, Line, RGB, NX > Fix tooltip remaining visible while dragging #1039
  • < NX Image > Allow switching to < NX Spectrum > when interpretation is not known or specified #1016
  • < Heatmap, RGB, NX Image > When drawing a zoom selection box with a ratio constraint (with Ctrl + drag):
    • the effective zoom box now corresponds exactly to the area that will be zoomed on. #1033
    • the effective zoom box is now centred around the selection box #1059

@h5web/lib

  • ⚠️ Breaking change [LineVis] Prop auxArrays is renamed to auxiliaries and now accepts an array of objects to allow passing a label for each auxiliary array #1041
  • ⚠️ Breaking change [ScatterVis] Props dataAbscissas and abscissaLabel are removed in favour of the new abscissaParams prop, and props dataOrdinates and ordinateLabel are removed in favour of ordinateParams #1047
  • ⚠️ Breaking change [Html] Html now focuses solely on rendering HTML elements from inside VisCanvas. groupProps, followCamera and scaleOnZoom props were therefore removed. The HTML elements are rendered in a div that is appended next to the canvas element by default. Prop container can be used to provide a different container for the div. #1036
    • If you were using Html to overlay HTML on top of the entire canvas, please look at the new Overlay component instead.
    • If you were using Html with followCamera and/or scaleOnZoom, please look at Annotation. Annotation is positioned in the data space and therefore follows the camera automatically; it also has a scaleOnZoom prop.
  • ⚠️ Breaking change [HeatmapMesh] The mesh is no longer automatically flipped when ordinateConfig.flip is true as this behavior could be undesirable #1052 . The new scale prop can be used to re-implement this behavior:
    <HeatmapMesh scale={[1, ordinateConfig.flip ? -1 : 1, 1] ... />
  • ⚠️ Breaking change TiledHeatmap renamed to TiledHeatmapMesh #1069
  • ✨ New component Overlay to render HTML elements inside a div that covers the entire canvas #1030
  • ✨ New component FloatingControl to add HTML controls to the floating toolbar in the bottom-right corner of the canvas (such as buttons, legend...) #1030
  • [HeatmapVis, LineVis, ScatterVis] Add prop interactions to override the default interactions configuration; each interaction can now be fully removed or temporarily disabled and can be assigned to a different modifier key (or no modifier key at all): #1023
    interactions={{
      Pan: false,
      Zoom: { disabled: isZoomDisabled, modifierKey: 'Control' },
      SelectToZoom: { modifierKey: undefined }
    }}
  • [ScatterVis] Show tooltip when hovering scatter points #1070
  • 🐛 [SelectionLine, SelectionRect] Lines and rectangles now remain at the right coordinates in the data space regardless of zoom/pan #1067
  • 🐛 [Toolbar] Fix toolbar menus appearing underneath visualizations #1022
  • 🐛 [DomainSlider, Histogram] Fix support for typed histogram values #1024
  • 🐛 [ScatterVis] Make children prop optional #1027
  • 🐛 [ScatterVis] Fix undesirable outlines on scatter points #1071
  • 🐛 [TooltipMesh, HeatmapVis, LineVis] Fix tooltip remaining visible while dragging #1039
  • 📜 The AxisSystemContext documentation has moved to a dedicated page.
  • 📜 The DataCurve component is now officially documented
  • [ScatterVis] Add prop onPointClick to run a callback when a scatter point is clicked #1051
  • [TiledHeatmapMesh] Add support for flipped axes and non-index axes #1035 #1052
  • [SelectToZoom] The ratio-constrained zoom rectangle is now centered around the selection rectangle and bound to the vis size when possible #1033 #1059
  • [XAxisZoom, YAxisZoom, SelectToZoom] Remove default value for modifierKey prop so it can be left unset #1020
  • [Pan, Zoom, XAxisZoom, YAxisZoom, SelectToZoom] Pressing a modifier key that is not assigned to any interaction component no longer prevents interactions from taking effect #1020
  • [SelectionTool, SelectToZoom] Selection can be canceled by pressing Esc #1056
  • [SelectionTool] Add prop id, defaulting to "Selection". When using multiple SelectionTool components in the same VisCanvas (e.g. select-to-zoom and profile selection), please use a different id for each to ensure that they both function properly. #1023
  • [Separator] Toolbar separator can now be passed any HTML attributes #1042

Screenshots

New NX Scatter visusalization

image

Centered zoom box with ratio constraint

Improved ratio-constrained

Auxiliary values and colors in NX Spectrum tooltip

image

Button to go full screen

image

ScatterVis tooltip

image