message: redraw preview on param change
diff: */
  import * as React from 'react';
  -import { useEffect, useRef, useState } from 'react';
  +import { useEffect, useLayoutEffect, useRef, useState } from 'react';
  import { Observable, Subject, Subscription } from 'rxjs';
  import { debounceTime } from 'rxjs/operators';
  import { Viewport } from '../../mol-canvas3d/camera/util';
  @@ -43,6 +43,7 @@ const _ScreenshotPreview = (props: ScreenshotPreviewProps) => {
  useEffect(() => {
  let paused = false;
  +
  const updateQueue = new Subject();
  const subs: Subscription[] = [];
  @@ -92,6 +93,12 @@ const _ScreenshotPreview = (props: ScreenshotPreviewProps) => {
  };
  }, [helper]);
  + useLayoutEffect(() => {
  + if (canvasRef.current) {
  + drawPreview(helper, canvasRef.current, props.customBackground, props.borderColor, props.borderWidth);
  + }
  + }, [...Object.values(props)]);
  +
  return <>
  <div style={{ position: 'relative', width: '100%', height: '100%' }}>
  <canvas ref={canvasRef} onContextMenu={e => { e.preventDefault(); e.stopPropagation(); }} style={{ display: 'block', width: '100%', height: '100%' }}></canvas>
  