message: only update repr visibility when changed
  avoids superfluous scene rendering, e.g., when animating
diff: @@ -76,11 +76,18 @@ export function UpdateRepresentationVisibility(ctx: PluginContext) {
  ctx.state.data.events.cell.stateUpdated.subscribe(e => {
  const cell = e.state.cells.get(e.ref)!;
  if (!SO.isRepresentation3D(cell.obj)) return;
  - updateVisibility(cell, cell.obj.data.repr);
  +
  + if (updateVisibility(cell, cell.obj.data.repr)) {
  ctx.canvas3d?.syncVisibility();
  + }
  });
  }
  function updateVisibility(cell: StateObjectCell, r: Representation<any>) {
  + if (r.state.visible === cell.state.isHidden) {
  r.setState({ visible: !cell.state.isHidden });
  + return true;
  + } else {
  + return false;
  + }
  }
  \ No newline at end of file
  