message: transform normals in meshBuilder
diff: */
  import { ValueCell } from 'mol-util/value-cell'
  -import { Vec3, Mat4 } from 'mol-math/linear-algebra';
  +import { Vec3, Mat4, Mat3 } from 'mol-math/linear-algebra';
  import { ChunkedArray } from 'mol-data/util';
  import Box, { BoxProps } from '../primitive/box';
  import Cylinder, { CylinderProps } from '../primitive/cylinder';
  import Icosahedron, { IcosahedronProps } from '../primitive/icosahedron';
  import { Mesh } from './mesh';
  +import { getNormalMatrix } from '../util';
  type Primitive = {
  vertices: Float32Array
  @@ -29,6 +30,7 @@ export interface MeshBuilder {
  }
  const tmpV = Vec3.zero()
  +const tmpMat3 = Mat3.zero()
  // TODO cache primitives based on props
  @@ -47,6 +49,7 @@ export namespace MeshBuilder {
  const add = (t: Mat4, _vertices: Float32Array, _normals: Float32Array, _indices: Uint32Array) => {
  const { elementCount, elementSize } = vertices
  + const n = getNormalMatrix(tmpMat3, t)
  for (let i = 0, il = _vertices.length; i < il; i += 3) {
  // position
  Vec3.fromArray(tmpV, _vertices, i)
  @@ -54,7 +57,7 @@ export namespace MeshBuilder {
  ChunkedArray.add3(vertices, tmpV[0], tmpV[1], tmpV[2]);
  // normal
  Vec3.fromArray(tmpV, _normals, i)
  - // Vec3.transformDirection(tmpV, tmpV, n) // TODO
  + Vec3.transformMat3(tmpV, tmpV, n)
  ChunkedArray.add3(normals, tmpV[0], tmpV[1], tmpV[2]);
  ChunkedArray.add(ids, currentId);
  