public override void Draw()
    {
        base.Draw();
        int   _DIVS_X        = 20;
        int   _DIVS_Y        = 20;
        float _txt_x         = 0.1f;
        float _txt_y         = 0.9f;
        float _start_x       = 0.1f;
        float _start_y       = 0.1f;
        float _w             = 0.7f;
        float _h             = 0.7f;
        float _grid_offset_x = Anim.PNoise(0.1f, 0.05f);
        float _grid_offset_y = Anim.PNoise(0.1f, 0.05f, _offsetA: 0.5f, _offsetB: 0.1f);
        Color _gridColour    = P.Get(2);
        Color _TXT_COL       = P.Lerp(3, 4, Anim.Sin_Time(10));
        float _TXT_SIZE      = Anim.Cos_Time(15, 0.0035f, 0.005f);

        if (timeRemaining < 0.2f)
        {
            TXT("DOTS", _txt_x, _txt_y, _TXT_COL, _TXT_SIZE);
            GL_DRAW.Draw_GRID_DOT(_start_x, _start_y, _w, _h, _DIVS_X, _DIVS_Y, _gridColour);
        }
        else if (timeRemaining < 0.4f)
        {
            TXT("LINES", _txt_x, _txt_y, _TXT_COL, _TXT_SIZE);
            GL_DRAW.Draw_GRID_LINE(_start_x, _start_y, _w, _h, _DIVS_X, _DIVS_Y, _gridColour, _grid_offset_x, _grid_offset_y);
        }
        else if (timeRemaining < 0.6f)
        {
            TXT("triangles", _txt_x, _txt_y, _TXT_COL, _TXT_SIZE);
            GL_DRAW.Draw_GRID_NGON(_start_x, _start_y, _w, _h, _DIVS_X, _DIVS_Y, 3, 0.01f, _gridColour);
        }
        else
        {
            TXT("zoom!!", _txt_x, _txt_y, _TXT_COL, _TXT_SIZE);
            GL_DRAW.Draw_ZOOM_GRID(_start_x, _start_y, _w, _h, _gridColour, _DIVS_X, _DIVS_Y, mx_eased, my_eased, 0.1f);
        }
    }