Add Multiple Label inside object

In https://jsfiddle.net/c6rted53/1/, adding slot Number using below function

function addLabel( text, obj, x, y, z )
				{

					var loader = new THREE.FontLoader();
					var material_text = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
					var size = 1;
					

					loader.load( 'node_modules/three/examples/fonts/helvetiker_regular.typeface.json', function ( font ) {

						var geometry = new THREE.TextGeometry( text, {
							font: font,
							size: size,
							height: 2,
							curveSegments: 10,
							bevelEnabled: false
						} );

						var textMesh = new THREE.Mesh( geometry, material_text );
						textMesh.position.set( x, y, z );
						// textMesh.rotation.y = Math.PI/-2;

						textMesh.name = text;

						obj.add( textMesh );
					} );

				}

In drawRack, trying to add slot numbers to shape by calling the below function

                                                var slotStart = slot;
						var slotEnd = slot + slotSize
						var labelPosition = yPosition-2.5;
						for(z=slotEnd; z>slotStart; z--){
							addLabel( z, shape, xPosition+4, labelPosition, 0 );
							labelPosition = labelPosition -5;
						}

But it is not working. Please inform using textGeometry whether two or more labels can be added on each face of boxGeometry.

Are you looking for something like this: https://jsfiddle.net/tbmhyo69/

BTW: You should make sure to load the font only once and then reuse it.

Thank you for the suggestion. Will try the solution.

Inside first box have to add numbers 0,1,2 on equal distance on left side. For second box numbers like 3, 4, 5,6, 7, 8, 9 to be displayed.

So addLabel(" "+slotNo, shape, -14, ySlotNumberPosition, 2.5 );

ySlotNumberPosition is the probelm. For odd number able to position as 5, 0, -5. But for even number the calculation is not going generic.

Please inform is there any function to calculate ySlotNumberPosition.