I'm glad you liked it! Quoting from the docs that the constructor for buffer attribute is: BufferAttribute( array : TypedArray, itemSize : Integer, normalized : Boolean ) This array should have (itemSize * numVertices) elements, where numVertices is the number of vertices in the associated BufferGeometry. itemSize -- the number of values of the array that should be associated with a particular vertex. For instance, if this attribute is storing a 3-component vector (such as a position, normal, or color), then itemSize should be 3. In other words , in this case we have a list in this form ( X,Y,Z,X,Y,Z,X,Y,Z,.......) so we want to collect them into groups of three and make this the "position" attribute of the stars geometry. so we pass the BufferAttribute the list of points and an integer 3. Hope this helped🙏