addToRegularPlaneStack(plane) {
        // get all planes that have same transparency
        const planeStack = this.renderer.planes.filter(el => el.type !== "PingPongPlane" && !el.target && el._transparent === plane._transparent && el.uuid !== plane.uuid);

        // find if there's already a plane with the same geometry with a findLastIndex function
        let siblingPlaneIndex = -1;

        for(let i = planeStack.length - 1; i >= 0; i--) {
            if(planeStack[i]._geometry.definition.id === plane._geometry.definition.id) {
                siblingPlaneIndex = i + 1;
                break;
            }
        }

        // if findIndex returned -1 (no matching geometry or program)
        siblingPlaneIndex = Math.max(0, siblingPlaneIndex);

        // add it to our stack plane array
        planeStack.splice(siblingPlaneIndex, 0, plane);

        // sort by indexes
        planeStack.sort((a, b) => a.index - b.index);

        return planeStack;
    }
Rebuilds our regular stack (transparent or opaque) with our plane added, geometry IDs and then indexes (first added first drawn)

     params:
     @plane (Plane object): plane to add to our stack

     returns:
     @planeStack (array): our transparent or opaque stack ready to be applied custom sorting filter
*