nl_tokens: Use play () instead of init () because component mappings – unavailable as dependencies – are not guaranteed to have parsed when this component is initialized .
pl_tokens: function ( ) { const el = this . el , data = this . data ; let material = el . components . material ; const geometry = new THREE . PlaneGeometry ( data . <mask> , data . depth , data . density , data . density ) ; geometry . mergeVertices ( ) ; this . waves = [ ] ; for ( let v , i = 0 , l = geometry . vertices . length ; i < l ; i ++ ) { v = geometry . vertices [ i ] ; this . waves . push ( { z : v . z , ang : Math . random ( ) * Math . PI * 2 , amp : data . amplitude + Math . random ( ) * data . amplitudeVariance , speed : ( data . speed + Math . random ( ) * data . speedVariance ) / 1000 // radians / frame } ) ; } if ( ! material ) { material = { } ; material . material = new THREE . MeshPhongMaterial ( { color : data . color , transparent : data . opacity < 1 , opacity : data . opacity , shading : THREE . FlatShading , } ) ; } this . mesh = new THREE . Mesh ( geometry , material . material ) ; el . setObject3D ( 'mesh' , this . mesh ) ; }