Get the exact vertex coordinates from the attributes for interpolation calculations

So far, when I’ve interpolated colors or textures, I’ve always used the UV coordinates or the position. But now I would like to do this more precisely from the vertex-dependent positions in order to bind the interpolation firmly between the vertexpoints of the geometry. To do this I would need to access the vertex coordinates exactly.
how would you access the three points in the vertex shader that make up a fragment in order to then transfer the exact coordinates of the three vertices to the fragment shader in order to play the interpolation games there

const VS =`

precision highp float;
precision highp int;

//attributes
in vec3 position;
in vec3 normal;

// Outputs
out vec3 vCoords;
out vec3 vNormal;
		
void main() {

	vCoords = (modelMatrix * vec4(position, 1.0)).xyz;
	vNormal = normal;
	
	//i want the three vertices from the attributes to pass their values to the fragmentshader

	gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
}`;



const FS =`

precision highp float;
precision highp int;

in vec3 vCoords;
in vec3 vNormal;
		
void main() {
	
    //just red	
	gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);	
}`;

Hi!
Pass vertex data in buffer attributes.
For example, here: Project MONOLITH
There is setAttributes() function, that has that code:

  let pos = g.attributes.position;
  let faces = pos.count / 3;
  let faceVerts = [
    new THREE.Vector3(),
    new THREE.Vector3(),
    new THREE.Vector3()
  ];
  let position2 = [];
  let position3 = [];
  
  for (let i = 0; i < faces; i++) {
    faceVerts[0].fromBufferAttribute(pos, i * 3 + 0);
    faceVerts[1].fromBufferAttribute(pos, i * 3 + 1);
    faceVerts[2].fromBufferAttribute(pos, i * 3 + 2);
    for (let v = 0; v < 3; v++) {
      let v2 = faceVerts[(v + 1) % 3];
      let v3 = faceVerts[(v + 2) % 3];
      position2.push(v2.x, v2.y, v2.z);
      position3.push(v3.x, v3.y, v3.z);
    }
  }

  g.setAttribute("position2", new THREE.Float32BufferAttribute(position2, 3));
  g.setAttribute("position3", new THREE.Float32BufferAttribute(position3, 3));

(lines 426-449 in JS section)
and in the vertex shader I simply do this:

        attribute vec3 position2;
        attribute vec3 position3;

(lines 71-72 in JS section)

yeah thats the magic. that is exactly what i needed