default void renderFrontForSubtree(GuiGraphics graphics, Point mouse, float partialFrame) {
        drawFront(graphics, mouse, partialFrame);

        onSubTreePreDrawFront();
        for (RedUINode child : getZOrderedChildren(n -> !n.isHidden(), true)) {
            graphics.pose().pushPose();

            Point relativeMouse = mouse.subtract(getPosition());
            Point relativePos = getPosition(); //Position is always relative
            double relativeZ = child.getRelativeZPosition();

            graphics.pose().translate(relativePos.x, relativePos.y, relativeZ);
            child.renderFrontForSubtree(graphics, relativeMouse, partialFrame);

            graphics.pose().popPose();
        }
        onSubTreePostDrawFront();
    }
Similar to background render call, but for foreground layer.

@see RedUINode#renderBackForSubtree(GuiGraphics, Point, float)
core/src/main/java/mrtjp/projectred/redui/RedUINode.java