{
  "_class" : "hudson.matrix.MatrixRun",
  "actions" : [
    {
      
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UpstreamCause",
          "shortDescription" : "Started by upstream project \"jogl\" build number 1,522",
          "upstreamBuild" : 1522,
          "upstreamProject" : "jogl",
          "upstreamUrl" : "job/jogl/"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1522,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "542044df793f59f56bbd9e16d0e7620b78c55128",
            "branch" : [
              {
                "SHA1" : "542044df793f59f56bbd9e16d0e7620b78c55128",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "542044df793f59f56bbd9e16d0e7620b78c55128",
            "branch" : [
              {
                "SHA1" : "542044df793f59f56bbd9e16d0e7620b78c55128",
                "name" : "origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "542044df793f59f56bbd9e16d0e7620b78c55128",
        "branch" : [
          {
            "SHA1" : "542044df793f59f56bbd9e16d0e7620b78c55128",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "git://jogamp.org/srv/scm/jogl.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 0,
      "skipCount" : 0,
      "totalCount" : 1,
      "urlName" : "testReport"
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "linux-arm64",
  "duration" : 350143,
  "estimatedDuration" : 459354,
  "executor" : None,
  "fullDisplayName" : "jogl » linux-arm64 linux-arm64",
  "id" : "1522",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 1522,
  "queueId" : 485,
  "result" : "SUCCESS",
  "timestamp" : 1683426756721,
  "url" : "https://jogamp.org/chuck/job/jogl/label=linux-arm64/1522/",
  "builtOn" : "linux-arm64-aarch64-jau-032",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/geom/plane/NoninvertibleTransformException.java",
          "src/jogl/classes/jogamp/graph/geom/plane/IllegalPathStateException.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java",
          "src/jogl/classes/jogamp/graph/geom/plane/PathIterator.java",
          "src/jogl/classes/jogamp/graph/geom/plane/Crossing.java",
          "src/jogl/classes/jogamp/graph/geom/plane/AffineTransform.java",
          "src/jogl/classes/jogamp/graph/geom/plane/NoninvertibleTransformException.java",
          "src/jogl/classes/jogamp/graph/geom/plane/Path2D.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/PathIterator.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/Crossing.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/Path2D.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/IllegalPathStateException.java"
        ],
        "commitId" : "3fb68b6060dd49955ef14ab295d4897e720ed8f2",
        "timestamp" : 1675538181000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Move jogamp.graph.plane to public com.jogamp.graph.plane\u000a",
        "date" : "2023-02-04 20:16:21 +0100",
        "id" : "3fb68b6060dd49955ef14ab295d4897e720ed8f2",
        "msg" : "Graph: Move jogamp.graph.plane to public com.jogamp.graph.plane",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/geom/plane/AffineTransform.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Crossing.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/NoninvertibleTransformException.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Path2D.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/geom/plane/NoninvertibleTransformException.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/PathIterator.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/geom/plane/PathIterator.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/IllegalPathStateException.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/geom/plane/Crossing.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/geom/plane/IllegalPathStateException.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/geom/plane/Path2D.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/geom/plane/NoninvertibleTransformException.java",
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShapeXForm.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RoundButton.java",
          "src/jogl/classes/com/jogamp/graph/geom/Triangle.java",
          "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/PathIterator.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/com/jogamp/graph/geom/Outline.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/Crossing.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/Path2D.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/IllegalPathStateException.java"
        ],
        "commitId" : "8f5daf7343b7fd3d4ea83e20cb1dc5ae263a0d38",
        "timestamp" : 1675538314000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Complete move jogamp.graph.plane to public com.jogamp.graph.plane\u000a",
        "date" : "2023-02-04 20:18:34 +0100",
        "id" : "8f5daf7343b7fd3d4ea83e20cb1dc5ae263a0d38",
        "msg" : "Graph: Complete move jogamp.graph.plane to public com.jogamp.graph.plane",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShapeXForm.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Path2D.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Crossing.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/Outline.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/Triangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RoundButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/PathIterator.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/IllegalPathStateException.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/NoninvertibleTransformException.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/geom/plane/Path2D.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/PathIterator.java"
        ],
        "commitId" : "c1b03cc7cd6c300bb0fa09d2d32cea2c82b72769",
        "timestamp" : 1675538519000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph; Path2D[Iterator]: Add 'fast path' access to points array reference and index etc, used to avoid arraycopy (efficancy)\u000a",
        "date" : "2023-02-04 20:21:59 +0100",
        "id" : "c1b03cc7cd6c300bb0fa09d2d32cea2c82b72769",
        "msg" : "Graph; Path2D[Iterator]: Add 'fast path' access to points array reference and index etc, used to avoid arraycopy (efficancy)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Path2D.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/PathIterator.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
        ],
        "commitId" : "bba021b2ce3b09251dd5635f418d5db5e141a304",
        "timestamp" : 1675593899000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: OutlineShape: Make class final, getOutlineNumber() -> getOutlineCount()\u000a",
        "date" : "2023-02-05 11:44:59 +0100",
        "id" : "bba021b2ce3b09251dd5635f418d5db5e141a304",
        "msg" : "Graph: OutlineShape: Make class final, getOutlineNumber() -> getOutlineCount()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/geom/plane/Path2D.java"
        ],
        "commitId" : "dbff115343200e08cf2310a379011f9a9fcdd334",
        "timestamp" : 1675595562000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Path2D: Remove redundant accessors, comment on append(..)\u000a",
        "date" : "2023-02-05 12:12:42 +0100",
        "id" : "dbff115343200e08cf2310a379011f9a9fcdd334",
        "msg" : "Graph: Path2D: Remove redundant accessors, comment on append(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Path2D.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
        ],
        "commitId" : "180d07d331f935195b1e3bbb2d5cf4525a6b21a0",
        "timestamp" : 1675595625000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: TypecastRenderer: Simplify addShape*(), use OutlineShape's vertexFactory instance\u000a",
        "date" : "2023-02-05 12:13:45 +0100",
        "id" : "180d07d331f935195b1e3bbb2d5cf4525a6b21a0",
        "msg" : "Graph: TypecastRenderer: Simplify addShape*(), use OutlineShape's vertexFactory instance",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
        ],
        "commitId" : "79ffd5f330112b755d787a5f79ff8eb985c23476",
        "timestamp" : 1675595693000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: TestTextRendererNEWT00: Alin w/ other tests, add DEPTH_TEST and allow custom window size\u000a",
        "date" : "2023-02-05 12:14:53 +0100",
        "id" : "79ffd5f330112b755d787a5f79ff8eb985c23476",
        "msg" : "Graph: TestTextRendererNEWT00: Alin w/ other tests, add DEPTH_TEST and allow custom window size",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
        ],
        "commitId" : "973bcfcfe5a0f147cf2e00deb50897f23989f26a",
        "timestamp" : 1675595976000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: TestTextRendererNEWT01: No VBAA sample-count on MSAA test, fixed window size 1024x640\u000a",
        "date" : "2023-02-05 12:19:36 +0100",
        "id" : "973bcfcfe5a0f147cf2e00deb50897f23989f26a",
        "msg" : "Graph: TestTextRendererNEWT01: No VBAA sample-count on MSAA test, fixed window size 1024x640",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener02.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
        ],
        "commitId" : "dddb088571d2d5174ba68aa0a34ad62eaa06243a",
        "timestamp" : 1675596068000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Fix Region/Text Renderer: Add RegionRenderer enable/disable for blending stubs in display (Mesa3D results are otherwise broken)\u000a",
        "date" : "2023-02-05 12:21:08 +0100",
        "id" : "dddb088571d2d5174ba68aa0a34ad62eaa06243a",
        "msg" : "Graph: Fix Region/Text Renderer: Add RegionRenderer enable/disable for blending stubs in display (Mesa3D results are otherwise broken)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener02.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
        ],
        "commitId" : "a671e88c59153a39e46a64f2cb924d205f06e3f8",
        "timestamp" : 1675596860000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: OutlineShape: Add positional addVertex() variants for component based addVertex methods\u000a",
        "date" : "2023-02-05 12:34:20 +0100",
        "id" : "a671e88c59153a39e46a64f2cb924d205f06e3f8",
        "msg" : "Graph: OutlineShape: Add positional addVertex() variants for component based addVertex methods",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java",
          "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/PathIterator.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/WindingRule.java",
          "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java",
          "src/jogl/classes/jogamp/graph/curve/tess/Loop.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/Crossing2F.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener00.java",
          "src/jogl/classes/com/jogamp/graph/geom/Outline.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/Winding.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/Path2F.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener10.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener02.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/Crossing.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/Path2D.java"
        ],
        "commitId" : "18fc81fab7ba11ae3a4cdd1e94c199371f7c2e91",
        "timestamp" : 1675647074000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Path2D -> self-contained Path2D (w/ Iterator) fixed; OutlineShape: Add Path2F addPath(..), emphasize required Winding.CW\u000a\u000aGPURegionGLListener01 used by TestRegionRendererNEWT01 covers Path2F CCW and CW (reverse add) methods.\u000a",
        "date" : "2023-02-06 02:31:14 +0100",
        "id" : "18fc81fab7ba11ae3a4cdd1e94c199371f7c2e91",
        "msg" : "Graph: Path2D -> self-contained Path2D (w/ Iterator) fixed; OutlineShape: Add Path2F addPath(..), emphasize required Winding.CW",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Winding.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/PathIterator.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/Loop.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener00.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener02.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Path2F.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/WindingRule.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/Outline.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Crossing2F.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Path2D.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/Crossing.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests.sh",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
        ],
        "commitId" : "6365b7e6bde5f2fc0bc55f19804acc0319eaf5a8",
        "timestamp" : 1675647505000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: TypecastRenderer: Add comment about TTF Glyph's having Winding.CW\u000a",
        "date" : "2023-02-06 02:38:25 +0100",
        "id" : "6365b7e6bde5f2fc0bc55f19804acc0319eaf5a8",
        "msg" : "Graph: TypecastRenderer: Add comment about TTF Glyph's having Winding.CW",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat2.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat0.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KerningPair.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtable.java"
        ],
        "commitId" : "be0d8cb42fa4c94233a7dd6d89a125ebb7bf2074",
        "timestamp" : 1676034114000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: Kerning: Use 'int' to cover 'uint16' values; Detail KernSubtable and hold a KernSubtableFormat0 ref in KernTable\u000a",
        "date" : "2023-02-10 14:01:54 +0100",
        "id" : "be0d8cb42fa4c94233a7dd6d89a125ebb7bf2074",
        "msg" : "Typecast: Kerning: Use 'int' to cover 'uint16' values; Detail KernSubtable and hold a KernSubtableFormat0 ref in KernTable",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KerningPair.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat0.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java"
        ],
        "commitId" : "da08083d2155a439a7ccf2460fca10aca6e59d92",
        "timestamp" : 1676034164000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: HeadTable: Use 'int' to hold 'uint16' unitsPerEM value\u000a",
        "date" : "2023-02-10 14:02:44 +0100",
        "id" : "da08083d2155a439a7ccf2460fca10aca6e59d92",
        "msg" : "Typecast: HeadTable: Use 'int' to hold 'uint16' unitsPerEM value",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/OTGlyph.java"
        ],
        "commitId" : "dc1319bb52558b52a68600f4b1fbe9e290b5c9bd",
        "timestamp" : 1676034228000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: OTGlyph: Maintain the glyphID, add toString()\u000a",
        "date" : "2023-02-10 14:03:48 +0100",
        "id" : "dc1319bb52558b52a68600f4b1fbe9e290b5c9bd",
        "msg" : "Typecast: OTGlyph: Maintain the glyphID, add toString()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/OTGlyph.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java"
        ],
        "commitId" : "bc951476c67282d9676f33ee25fb0f697a4dbe45",
        "timestamp" : 1676034261000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecase: OTFont: Provide KernTable accessor\u000a",
        "date" : "2023-02-10 14:04:21 +0100",
        "id" : "bc951476c67282d9676f33ee25fb0f697a4dbe45",
        "msg" : "Typecase: OTFont: Provide KernTable accessor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/NewtReparentingKeyAdapter.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/com/jogamp/graph/font/FontScale.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSBSStereo.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java",
          "src/newt/classes/com/jogamp/newt/opengl/util/NEWTDemoListener.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
        ],
        "commitId" : "feb8de27f848b5213423389cf0e19cbd88095682",
        "timestamp" : 1676035235000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Font/Graph, {Font, Glyph}/Typecast: Add kerning and expose values in original font-units (FU) to have them scaled later ( fu * pixelScale / unitsPerEM )\u000a\u000aScaling from font-units (funits, or FU) is now performed by the renderer itself,\u000ai.e. applying the scale-factor 'fontPixelSize / font.getMetrics().getUnitsPerEM()'\u000ato the PMV matrix to render the whole graph GLRegion.\u000a\u000aThis finally provides proper device and resolution independent font utilization.\u000a\u000aFurther, preliminary kerning has been added.\u000a\u000a+++\u000a\u000aAlso ...\u000a\u000aTypecastFont:\u000a- getGlyphID(..) getGlyph(..) enforce symbol mapping to Glyph.ID_SPACE Glyph.ID_CR,\u000a  as some fonts ave an erroneous cmap (FreeSerif-Regular)\u000a\u000a- add getKerning(..)\u000a  TODO: Add binary search\u000a\u000a- Set TypecastFont.USE_PRESCALED_ADVANCE := false,\u000a  i.e. dropping all prescaled pixel-sized advance values mapped to font pixel-size\u000a  as we utilize font-units only for later uniform scaling.\u000a\u000a- Drop virtual getPixelSize() and add static FontScale.toPixels(..)\u000a\u000a- Add fullString() for debugging purposed, including some font tables\u000a",
        "date" : "2023-02-10 14:20:35 +0100",
        "id" : "feb8de27f848b5213423389cf0e19cbd88095682",
        "msg" : "Font/Graph, {Font, Glyph}/Typecast: Add kerning and expose values in original font-units (FU) to have them scaled later ( fu * pixelScale / unitsPerEM )",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/graph/font/FontScale.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/NewtReparentingKeyAdapter.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSBSStereo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/opengl/util/NEWTDemoListener.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/TableException.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/Point.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/TTCHeader.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameRecord.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Script.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Lookup.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/NameIndex.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LtshTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CffTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/Disassembler.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Feature.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/PcltTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/TopDictIndex.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubst.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Os2Table.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetFormat2.java",
          "src/jogl/classes/jogamp/graph/font/typecast/t2/T2Interpreter.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapTable.java",
          "LICENSE.txt",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFontCollection.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceHeader.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ColrTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/TableFactory.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceReference.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/Mnemonic.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat1.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/StringIndex.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ScriptRecord.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LookupList.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Panose.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat2.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/MaxpTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/FeatureList.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/DirectoryEntry.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LigatureSet.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/CharstringType2.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/BaseTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/T2Mnemonic.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspRange.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetFormat0.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/Index.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat1.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/FeatureRecord.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CharstringType2.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/SbixTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/HdmxTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormatUnknown.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat0.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/OTGlyph.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GsubTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/DsigTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceFile.java",
          "src/jogl/classes/jogamp/graph/font/typecast/t2/T2Mnemonic.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/VdmxTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/Charstring.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetRange.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Ligature.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/PostTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CffStandardStrings.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Device.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/FeatureTags.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetRange1.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat6.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/TTGlyph.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ScriptList.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/PrepTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LangSysRecord.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceType.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat1.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapIndexEntry.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Table.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat4.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CpalTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Coverage.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat2.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/Charset.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/SignatureBlock.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat2.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LigatureSubst.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDef.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetRange2.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat2.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat12.java",
          "src/jogl/classes/jogamp/graph/font/typecast/tt/engine/Parser.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/VheaTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CvtTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceData.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetFormat1.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfSimpleDescript.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/Dict.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Program.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/T2Glyph.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LocaTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/Fixed.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GdefTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/FpgmTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ID.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/RangeRecord.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KerningPair.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LangSys.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceMap.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/TableDirectory.java",
          "src/jogl/classes/jogamp/graph/font/typecast/tt/engine/GraphicsState.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/VmtxTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeComp.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/DsigEntry.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LigatureSubstFormat1.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/HheaTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Charstring.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat2.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyphDescription.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LookupSubtable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ScriptTags.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/T2Interpreter.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/HmtxTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GposTable.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/CffStandardStrings.java",
          "src/jogl/classes/jogamp/graph/font/typecast/tt/engine/Interpreter.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/Glyph.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat0.java",
          "src/jogl/classes/jogamp/graph/font/typecast/cff/CffFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LookupSubtableFactory.java"
        ],
        "commitId" : "aea3a62c0139d1dfc208ede21d3f402d9a66df12",
        "timestamp" : 1676138512000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Update included Typecast library to 2019-09-15 commit 0d55ac0eb4a39a7f8f2a796c7eebd3ea778ba9a7\u000a\u000a- Using Typecast's new git repo https://github.com/dcsch/typecast\u000a- Preserved our changes\u000a- Preserved loading fonts and glyph on input stream w/o font data array copies\u000a\u000aTODO\u000a  - Maintain an original branch in Typecast w/ our changes\u000a    to ease updates. Then we merely need to change the package name.\u000a\u000a  - This also shall help to allow Typecast to use our patches,\u000a    if so desired.\u000a",
        "date" : "2023-02-11 19:01:52 +0100",
        "id" : "aea3a62c0139d1dfc208ede21d3f402d9a66df12",
        "msg" : "Update included Typecast library to 2019-09-15 commit 0d55ac0eb4a39a7f8f2a796c7eebd3ea778ba9a7",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/HeadTable.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/SbixTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/tt/engine/Interpreter.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/NameIndex.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Coverage.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/FpgmTable.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetRange1.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/BaseTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Table.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/Point.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ID.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Feature.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Os2Table.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/PostTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/VheaTable.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/StringIndex.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/tt/engine/GraphicsState.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CharstringType2.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/CffStandardStrings.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetFormat1.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDef.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LangSysRecord.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/TTGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat4.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CpalTable.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/T2Interpreter.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyphDescription.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/Dict.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LookupList.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/t2/T2Interpreter.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LangSys.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LigatureSubstFormat1.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceMap.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/VmtxTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Ligature.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/MaxpTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/Mnemonic.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ScriptTags.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspRange.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/HdmxTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ScriptList.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LocaTable.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetFormat2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceHeader.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ScriptRecord.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Lookup.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LtshTable.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/Index.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/PrepTable.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetFormat0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/TableException.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CvtTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormatUnknown.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/Charstring.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/Fixed.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat2.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat12.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/VdmxTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceType.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CoverageFormat1.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/RangeRecord.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubst.java"
          },
          {
            "editType" : "edit",
            "file" : "LICENSE.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/HheaTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/PcltTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeComp.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LookupSubtable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GaspTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameRecord.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GdefTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Panose.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/DsigTable.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/TableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/HmtxTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/Glyph.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/TopDictIndex.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/SignatureBlock.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Device.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetRange.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfSimpleDescript.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LookupSubtableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/Disassembler.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/CharstringType2.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/CffFont.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ColrTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/SingleSubstFormat1.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Script.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFontCollection.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceReference.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/FeatureList.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/Charset.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LigatureSubst.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/tt/engine/Parser.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/TableDirectory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/DsigEntry.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceFile.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/ClassDefFormat1.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CffStandardStrings.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CffTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GsubTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapFormat6.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KerningPair.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/T2Mnemonic.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/FeatureTags.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/OTGlyph.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/t2/T2Mnemonic.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/DirectoryEntry.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/T2Glyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/mac/ResourceData.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/TTCHeader.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Charstring.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapIndexEntry.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Program.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/cff/CharsetRange2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/CmapTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/FeatureRecord.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GposTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/LigatureSet.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "LICENSE.txt",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFontCollection.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java"
        ],
        "commitId" : "d9be96fcbcf6ca71ef72aa45ca02fcdd25c3b0ff",
        "timestamp" : 1676159593000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: *Font*: Use constructor instead for static read(). TTFont: Add ctor for File and InputStream\u000a",
        "date" : "2023-02-12 00:53:13 +0100",
        "id" : "d9be96fcbcf6ca71ef72aa45ca02fcdd25c3b0ff",
        "msg" : "Typecast: *Font*: Use constructor instead for static read(). TTFont: Add ctor for File and InputStream",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java"
          },
          {
            "editType" : "edit",
            "file" : "LICENSE.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFontCollection.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java"
        ],
        "commitId" : "0e5e38478a6197b2dc65960c55bc831d6b4796a7",
        "timestamp" : 1676159680000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GlyfCompositeDescript: Remove useless try { } in ctor; Remove redundant variable in range-based for-loops\u000a",
        "date" : "2023-02-12 00:54:40 +0100",
        "id" : "0e5e38478a6197b2dc65960c55bc831d6b4796a7",
        "msg" : "GlyfCompositeDescript: Remove useless try { } in ctor; Remove redundant variable in range-based for-loops",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfCompositeDescript.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtable.java"
        ],
        "commitId" : "e3b0a8ce3de3e9ab7057f129a579dbab7a66ad4a",
        "timestamp" : 1676159723000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: KernSubtable: Remove getKerningTable(..), will be implemented in higher API layer w/ binary-search\u000a",
        "date" : "2023-02-12 00:55:23 +0100",
        "id" : "e3b0a8ce3de3e9ab7057f129a579dbab7a66ad4a",
        "msg" : "Typecast: KernSubtable: Remove getKerningTable(..), will be implemented in higher API layer w/ binary-search",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtable.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat2.java"
        ],
        "commitId" : "cb2b1c0af77b4f2318fb5acafbced52d1add69ae",
        "timestamp" : 1676159754000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: KernSubtableFormat2: Use package-protection\u000a",
        "date" : "2023-02-12 00:55:54 +0100",
        "id" : "cb2b1c0af77b4f2318fb5acafbced52d1add69ae",
        "msg" : "Typecast: KernSubtableFormat2: Use package-protection",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/KernSubtableFormat2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Table.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java"
        ],
        "commitId" : "8bf9b05ea13978f214c29d5b1220da3cad2489dd",
        "timestamp" : 1676159821000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: Table: Use package-protected static final const, remove notAvailable String\u000a",
        "date" : "2023-02-12 00:57:01 +0100",
        "id" : "8bf9b05ea13978f214c29d5b1220da3cad2489dd",
        "msg" : "Typecast: Table: Use package-protected static final const, remove notAvailable String",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/NameTable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/Table.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "LICENSE.txt"
        ],
        "commitId" : "87060fe41b559418ea7b383e162d3d80fb515e0b",
        "timestamp" : 1676166496000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: Mark current status w/ our branch of upstream, jogl_patches, commit 90c4a8348cbe182bf3f0bcc55fd015f19ed0686f\u000a",
        "date" : "2023-02-12 02:48:16 +0100",
        "id" : "87060fe41b559418ea7b383e162d3d80fb515e0b",
        "msg" : "Typecast: Mark current status w/ our branch of upstream, jogl_patches, commit 90c4a8348cbe182bf3f0bcc55fd015f19ed0686f",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "LICENSE.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFontConstructor.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
        ],
        "commitId" : "93c51380f34c3eb203f46df52fed49a8a967510e",
        "timestamp" : 1676182636000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph font/typecast: Adopt to our Typecast updates (see below); Fix kerning; Use TestTextRendererNEWT01 to produce validation snaps\u000a\u000a- Move kerning handling from Font to Font.Glyph using binary-search for right-glyph-id on kerning subset from this instance (left)\u000a- TextRegionUtil: Kerning must be added before translation as it applies before the current right-glyph.\u000a- TestTextRendererNEWT01 produces validation snapshots against LibreOffice print-preview snapshots\u000a  - GPUTextRendererListenerBase01 added another text for kerning validation, show more font-size details (pt, px, mm)\u000a",
        "date" : "2023-02-12 07:17:16 +0100",
        "id" : "93c51380f34c3eb203f46df52fed49a8a967510e",
        "msg" : "Graph font/typecast: Adopt to our Typecast updates (see below); Fix kerning; Use TestTextRendererNEWT01 to produce validation snaps",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFontConstructor.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIListener01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UINewtDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java",
          "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIListenerBase01.java"
        ],
        "commitId" : "6d2009d33495a01ae3b59a4be6004c1a5e7007ad",
        "timestamp" : 1676268114000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Type Rendering: Drop pixelSize and use font em-size [0..1] throughout system.\u000a\u000a- All pixelSize metrics methods are dropped in Font*\u000a  - TypecastGlyph.Advance dropped, i.e. dropping prescales glyph advance based on pixelSize\u000a- TextRegionUtil produces OutlineShape in font em-size [0..1] added to GLRegion\u000a- Adjusted demos\u000a",
        "date" : "2023-02-13 07:01:54 +0100",
        "id" : "6d2009d33495a01ae3b59a4be6004c1a5e7007ad",
        "msg" : "Graph Type Rendering: Drop pixelSize and use font em-size [0..1] throughout system.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIListenerBase01.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UINewtDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/GLDebugMessage.java"
        ],
        "commitId" : "1f0bcfa5c7ff62cad3280a18a4e0f779257c46cc",
        "timestamp" : 1676282713000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/david.42.hall",
          "fullName" : "David.42.Hall"
        },
        "authorEmail" : "David.42.Hall@gmail.com",
        "comment" : "Add GL_DEBUG_SEVERITY_NOTIFICATION to getDbgSeverityString()\u000a\u000a",
        "date" : "2023-02-13 05:05:13 -0500",
        "id" : "1f0bcfa5c7ff62cad3280a18a4e0f779257c46cc",
        "msg" : "Add GL_DEBUG_SEVERITY_NOTIFICATION to getDbgSeverityString()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLDebugMessage.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/CrossHair.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java",
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
        ],
        "commitId" : "53259c43474eb9bc1475365ed251344202c4c179",
        "timestamp" : 1676363573000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph OutlineShape: Path2F alike sub-path ctor: Add z coordinate for custom plane.\u000a",
        "date" : "2023-02-14 09:32:53 +0100",
        "id" : "53259c43474eb9bc1475365ed251344202c4c179",
        "msg" : "Graph OutlineShape: Path2F alike sub-path ctor: Add z coordinate for custom plane.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/CrossHair.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java"
        ],
        "commitId" : "3c3f663bfe25e296b46344a2825c6a2714c29c89",
        "timestamp" : 1676364154000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font: getGlyph(char symbol -> int glyph_id), add kerning to getPointsBoundsFU(); Glyph: Drop getSymbol()\u000a",
        "date" : "2023-02-14 09:42:34 +0100",
        "id" : "3c3f663bfe25e296b46344a2825c6a2714c29c89",
        "msg" : "Graph Font: getGlyph(char symbol -> int glyph_id), add kerning to getPointsBoundsFU(); Glyph: Drop getSymbol()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
        ],
        "commitId" : "250832f581d8acccf0b62259e2ec08adb259be0e",
        "timestamp" : 1676364215000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph RegionRenderer: Expose int[4] viewport for convenience\u000a",
        "date" : "2023-02-14 09:43:35 +0100",
        "id" : "250832f581d8acccf0b62259e2ec08adb259be0e",
        "msg" : "Graph RegionRenderer: Expose int[4] viewport for convenience",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/com/jogamp/graph/font/FontFactory.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/jogl/classes/com/jogamp/graph/font/FontSet.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java",
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
        ],
        "commitId" : "91f5d1019c59f56654f40ce18d70d15117b7f302",
        "timestamp" : 1676431061000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph TextRegionUtil: Move ShapeVisitor to OutlineShape.Visitor and processString(..) to Font, cleaning up ..\u000a\u000aFurther having Font.processString() return the AABBox of the whole string's 'laidout' OutlineShapes,\u000awhich is used for (debug) Font.getPointsBounds2(..) just to validate the coordinated with\u000athe Glyph based AABBox of Font.getPointsBounds(..).\u000a\u000aStatic TextRegionUtil.drawString(..) no more require to pass the temp AffineTransform instances (ugly).\u000a",
        "date" : "2023-02-15 04:17:41 +0100",
        "id" : "91f5d1019c59f56654f40ce18d70d15117b7f302",
        "msg" : "Graph TextRegionUtil: Move ShapeVisitor to OutlineShape.Visitor and processString(..) to Font, cleaning up ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/FontFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/FontSet.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
        ],
        "commitId" : "f8d23faf8655453c65ccc0262697676ca47e91c1",
        "timestamp" : 1676431097000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: RegionRenderer: Offer borrowing current viewport w/o copy\u000a",
        "date" : "2023-02-15 04:18:17 +0100",
        "id" : "f8d23faf8655453c65ccc0262697676ca47e91c1",
        "msg" : "Graph: RegionRenderer: Offer borrowing current viewport w/o copy",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
        ],
        "commitId" : "8d598ac75213a7d298b2633bf5d84b215339769e",
        "timestamp" : 1676440734000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: TextRegionUtil: Make addStringToRegion(..) versatile/usable w/ optional AffineTransform (see Label0)\u000a",
        "date" : "2023-02-15 06:58:54 +0100",
        "id" : "8d598ac75213a7d298b2633bf5d84b215339769e",
        "msg" : "Graph: TextRegionUtil: Make addStringToRegion(..) versatile/usable w/ optional AffineTransform (see Label0)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UINewtDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIListener01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShapeDemo01.java"
        ],
        "commitId" : "7db4fe3cd9bbf1deac82e027d0b7dd53fc89971e",
        "timestamp" : 1676508201000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Merge UIListener01 + UINewtDemo01 -> UIShapeDemo01 to have simple test cases\u000a",
        "date" : "2023-02-16 01:43:21 +0100",
        "id" : "7db4fe3cd9bbf1deac82e027d0b7dd53fc89971e",
        "msg" : "Graph: Merge UIListener01 + UINewtDemo01 -> UIShapeDemo01 to have simple test cases",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UINewtDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIListener01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java"
        ],
        "commitId" : "3d489704360798ff146a6628eec60d52e3607f47",
        "timestamp" : 1676508290000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: Assign _glyphIndex w/ ctor argument (+ code cleanup)\u000a",
        "date" : "2023-02-16 01:44:50 +0100",
        "id" : "3d489704360798ff146a6628eec60d52e3607f47",
        "msg" : "Typecast: Assign _glyphIndex w/ ctor argument (+ code cleanup)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfDescript.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/Glyph.java"
        ],
        "commitId" : "0f40fee0cd5d1dd36f68a02b81f2cff90261ef6b",
        "timestamp" : 1676508338000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: Glyph: getGlyphIndex() -> getID() to simplify name\u000a",
        "date" : "2023-02-16 01:45:38 +0100",
        "id" : "0f40fee0cd5d1dd36f68a02b81f2cff90261ef6b",
        "msg" : "Typecast: Glyph: getGlyphIndex() -> getID() to simplify name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/Glyph.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
        ],
        "commitId" : "b5c604bbdfb8278feaa5e5f5f8c047ab48c4d514",
        "timestamp" : 1676508898000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: TypecastRenderer: Fix point-loop (no reduced 'count - 1', no break on endOfContour), remove redundant branch B3, add Type-2 and add code dump for testing\u000a\u000aRealigned renderer code w/ Typecast's AWT demo:\u000a- TTF Quadratic Shape\u000a  - The inner loop 'offset < count' is sufficient, otherwise could drop last point\u000a  - point_0.endOfCountour is valid as a last point\u000a  - Branch-3 and hence point-3 is not required as handled via B4 and subsequent B6\u000a\u000a- Type-2 Cubic Shape\u000a  - Added .. not tested yet\u000a\u000aAlso added optional debug code dump via\u000ajava cmdline `-Djogl.debug.graph.font.Renderer.Code`,\u000awhich dumps plain OutlineShape construction code for testing\u000aand debugging our CurveRenderer.\u000a",
        "date" : "2023-02-16 01:54:58 +0100",
        "id" : "b5c604bbdfb8278feaa5e5f5f8c047ab48c4d514",
        "msg" : "Graph: TypecastRenderer: Fix point-loop (no reduced 'count - 1', no break on endOfContour), remove redundant branch B3, add Type-2 and add code dump for testing",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/CrossHair.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShapeDemo01.java"
        ],
        "commitId" : "6558c7b744525d1db5fe1f0a227958e4f0025622",
        "timestamp" : 1676509311000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph UI: Move methods SceneUIController to UIShape public providing win<->obj coord transformation, enhance documentation a little,\u000a\u000aHave win<->obj coord transformation in UIShape public:\u000a- Move SceneUIController.transformShape() -> UIShape.setTransform()\u000a- Move SceneUIController.windowToShapeCoordsImpl() -> UIShape.winToObjCoord()\u000a- Add UIShape.objToWinCoord()\u000a- Add UIShape.getSurfaceSize()\u000a",
        "date" : "2023-02-16 02:01:51 +0100",
        "id" : "6558c7b744525d1db5fe1f0a227958e4f0025622",
        "msg" : "Graph UI: Move methods SceneUIController to UIShape public providing win<->obj coord transformation, enhance documentation a little,",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/CrossHair.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/graph/FontSet01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject02.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Rectangle.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShapeDemo01.java"
        ],
        "commitId" : "996ffe0df682981c0eba88130e134c4f94a06415",
        "timestamp" : 1676522344000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Unit Tests: General cleanup, adding UITypeDemo01 w/ TestObject* to determine CurveRenderer issues\u000a",
        "date" : "2023-02-16 05:39:04 +0100",
        "id" : "996ffe0df682981c0eba88130e134c4f94a06415",
        "msg" : "Graph Unit Tests: General cleanup, adding UITypeDemo01 w/ TestObject* to determine CurveRenderer issues",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/FontSet01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UITypeDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject01.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject02.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/Glyph.java"
        ],
        "commitId" : "4aca9d8252afbdc9e7dfd234c086f889623bb140",
        "timestamp" : 1676522497000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font: Enhance API doc (source of values), better get*Bounds() names, dropping redundant getMetricWidth*(); Fix getMetricBoundsFU()\u000a",
        "date" : "2023-02-16 05:41:37 +0100",
        "id" : "4aca9d8252afbdc9e7dfd234c086f889623bb140",
        "msg" : "Graph Font: Enhance API doc (source of values), better get*Bounds() names, dropping redundant getMetricWidth*(); Fix getMetricBoundsFU()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/Glyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/geom/Outline.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject02.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java",
          "src/jogl/classes/jogamp/graph/curve/tess/GraphOutline.java",
          "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java",
          "src/jogl/classes/jogamp/graph/curve/tess/Loop.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
        ],
        "commitId" : "e72dbd286ba95913711ac812bc979204f2073b7c",
        "timestamp" : 1676632677000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Fix Loop.initFromPolyline()'s Winding determination, document Winding rules for OutlineShape and add get/setWinding in Outline\u000a\u000aLoop.initFromPolyline()'s Winding determination used a 3-point triangle-area method,\u000awhich is insufficent for complex shapes like serif 'g' or 'æ'.\u000aSolved by using the whole area over the Outline shape.\u000a\u000aNote: Loop.initFromPolyline()'s Winding determination is used to convert\u000athe inner shape or holes to CW only.\u000aTherefor the outter bondary shapes must be CCW.\u000a\u000aThis details has been documented within OutlineShape, anchor 'windingrules'.\u000aSince the conversion of 'CCW -> CW' for inner shapes or holes is covered,\u000aa safe user path would be to completely create CCW shapes.\u000aHowever, this has not been hardcoded and is left to the user.\u000a\u000aImpact: Fixes rendering serif 'g' or 'æ'.\u000a\u000aThe enhanced unit test TestTextRendererNEWT01 produces snapshots for all fonts within FontSet01.\u000aWhile it shows proper rendering of the single Glyphs it exposes another Region/Curve Renderer bug,\u000ai.e. sort-of a Region overflow crossing over from the box-end to the start.\u000a",
        "date" : "2023-02-17 12:17:57 +0100",
        "id" : "e72dbd286ba95913711ac812bc979204f2073b7c",
        "msg" : "Graph: Fix Loop.initFromPolyline()'s Winding determination, document Winding rules for OutlineShape and add get/setWinding in Outline",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject02.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/GraphOutline.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/Loop.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/Outline.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
        ],
        "commitId" : "69fd2003d2744922a8bb48fb42c8a278bf35476e",
        "timestamp" : 1676632709000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TestTextRendererNEWT01: Drop unused import\u000a",
        "date" : "2023-02-17 12:18:29 +0100",
        "id" : "69fd2003d2744922a8bb48fb42c8a278bf35476e",
        "msg" : "TestTextRendererNEWT01: Drop unused import",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/geom/Outline.java"
        ],
        "commitId" : "ce1d75c14cd082d1af0796ae7402187cdf23ac7d",
        "timestamp" : 1676640114000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Outline: Remove minor redundancy\u000a",
        "date" : "2023-02-17 14:21:54 +0100",
        "id" : "ce1d75c14cd082d1af0796ae7402187cdf23ac7d",
        "msg" : "Graph: Outline: Remove minor redundancy",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/Outline.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
        ],
        "commitId" : "963457df750d78bf70b5d705a90010215835f5f6",
        "timestamp" : 1676640287000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Demos: Formatting ..\u000a\u000aGPUUISceneGLListener0A: Formatting and move reshape() after init()\u000a",
        "date" : "2023-02-17 14:24:47 +0100",
        "id" : "963457df750d78bf70b5d705a90010215835f5f6",
        "msg" : "Graph Demos: Formatting ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
        ],
        "commitId" : "26f66b4d18d8e148ece2af57ce39e9b4a5d5b1fb",
        "timestamp" : 1676642860000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph GPUUISceneGLListener0A: Prep for reshape_resize, notch up relative sizes a little\u000a",
        "date" : "2023-02-17 15:07:40 +0100",
        "id" : "26f66b4d18d8e148ece2af57ce39e9b4a5d5b1fb",
        "msg" : "Graph GPUUISceneGLListener0A: Prep for reshape_resize, notch up relative sizes a little",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RoundButton.java"
        ],
        "commitId" : "bff89da495f45d39eed57318666f2f31cce1043a",
        "timestamp" : 1676642916000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph RoundButton: setDimension -> setSize\u000a",
        "date" : "2023-02-17 15:08:36 +0100",
        "id" : "bff89da495f45d39eed57318666f2f31cce1043a",
        "msg" : "Graph RoundButton: setDimension -> setSize",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RoundButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/GLEventListenerButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UITypeDemo01.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShapeDemo01.java"
        ],
        "commitId" : "3573631ced62383b9871f98f65f354958042331b",
        "timestamp" : 1676663297000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph UI: Fix UIShape's PMVMatrix handling of getSurfaceSize, objToWinCoord and winToObjCoord (expect all set, no doubling); GLEventListenerButton: Resize FBO to screen-size for proper 1:1 quality\u000a",
        "date" : "2023-02-17 20:48:17 +0100",
        "id" : "3573631ced62383b9871f98f65f354958042331b",
        "msg" : "Graph UI: Fix UIShape's PMVMatrix handling of getSurfaceSize, objToWinCoord and winToObjCoord (expect all set, no doubling); GLEventListenerButton: Resize FBO to screen-size for proper 1:1 quality",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/GLEventListenerButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShapeDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
        ],
        "commitId" : "0f86f8fc54855b6453e5c270b3480632f3a401d1",
        "timestamp" : 1676670016000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Overflow Bug: Reorder TestTextRendererNEWT* tests from simple to complex example code, ascending\u000a",
        "date" : "2023-02-17 22:40:16 +0100",
        "id" : "0f86f8fc54855b6453e5c270b3480632f3a401d1",
        "msg" : "Graph Overflow Bug: Reorder TestTextRendererNEWT* tests from simple to complex example code, ascending",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java",
          "src/jogl/classes/jogamp/graph/curve/tess/Loop.java",
          "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java"
        ],
        "commitId" : "3d2b65bd43d5abb1acf59754ee325c25b8c299ff",
        "timestamp" : 1676670047000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Rename VectorUtil.ccw(..) -> isCCW(..)\u000a",
        "date" : "2023-02-17 22:40:47 +0100",
        "id" : "3d2b65bd43d5abb1acf59754ee325c25b8c299ff",
        "msg" : "Rename VectorUtil.ccw(..) -> isCCW(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/Loop.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
        ],
        "commitId" : "da88b0f2ac0b09082222ce1a387987e8cdd5f21d",
        "timestamp" : 1676779924000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font.Metrics: Use unchanges sign of (+) ascent, (-) descent and (+) lineGap, document them properly and fix Font.getLineHeightFU()\u000a",
        "date" : "2023-02-19 05:12:04 +0100",
        "id" : "da88b0f2ac0b09082222ce1a387987e8cdd5f21d",
        "msg" : "Graph Font.Metrics: Use unchanges sign of (+) ascent, (-) descent and (+) lineGap, document them properly and fix Font.getLineHeightFU()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
        ],
        "commitId" : "dd98cf0ae983429187256ab3236fa7dad1cd13d0",
        "timestamp" : 1676780471000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font: Add 'name' to Glyph; Drop erroneous Glyph ID_SPACE, ID_CR manual mapping, rely on no-shape for 'space' non-contour.\u000a\u000aDrop erroneous Glyph ID_SPACE, ID_CR to rely on no-shape for 'space' non-contour\u000aresolves different cmap-mappings of fonts, not following 'some std'.\u000a\u000aHence getGlyph(glyph_id) no more uses the `font.getGlyph(Glyph.ID_UNKNOWN)` shape,\u000abut a null-shape as intended and using the hmtx and hhea table values for asvance and bounds.\u000a\u000aThis fixes 'space' spacing in general and specifically FreeSerif-Regular and the like.\u000a\u000aThis path also simplifies processing/layout of glyphs in process(..) and get*BoundsFU(..).\u000a",
        "date" : "2023-02-19 05:21:11 +0100",
        "id" : "dd98cf0ae983429187256ab3236fa7dad1cd13d0",
        "msg" : "Graph Font: Add 'name' to Glyph; Drop erroneous Glyph ID_SPACE, ID_CR manual mapping, rely on no-shape for 'space' non-contour.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "4b814826897b33ee88565bc72dca10d99473e187",
        "timestamp" : 1676780786000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font: Simplify CmapFormat selection (cmap symbol -> glyph-idx), just use Unicode and if not available use a symbol font\u000a",
        "date" : "2023-02-19 05:26:26 +0100",
        "id" : "4b814826897b33ee88565bc72dca10d99473e187",
        "msg" : "Graph Font: Simplify CmapFormat selection (cmap symbol -> glyph-idx), just use Unicode and if not available use a symbol font",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "c30471f8bf51d403ab9cd1a253742f757407cee6",
        "timestamp" : 1676780829000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font: Add more DEBUG info ..\u000a",
        "date" : "2023-02-19 05:27:09 +0100",
        "id" : "c30471f8bf51d403ab9cd1a253742f757407cee6",
        "msg" : "Graph Font: Add more DEBUG info ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
        ],
        "commitId" : "60827d6df7c99f77ab95e25a6e94da74ccb1e2b6",
        "timestamp" : 1676824487000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font.Glyph: Cleanup: Remove Font and getScale() from interface (redundant), add getLeftSideBearings*() from htmx table; Flatten TypecastGlyph impl by merging its Metrics, add equal() complementing hashCode()\u000a",
        "date" : "2023-02-19 17:34:47 +0100",
        "id" : "60827d6df7c99f77ab95e25a6e94da74ccb1e2b6",
        "msg" : "Graph Font.Glyph: Cleanup: Remove Font and getScale() from interface (redundant), add getLeftSideBearings*() from htmx table; Flatten TypecastGlyph impl by merging its Metrics, add equal() complementing hashCode()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "2a6f255ff65bc499ae53da96f5b43a4e4c525861",
        "timestamp" : 1676824553000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph TypecastFont: Add hashCode() and equals(), feed TypecastGlyph w/ LeftSideBearings\u000a",
        "date" : "2023-02-19 17:35:53 +0100",
        "id" : "2a6f255ff65bc499ae53da96f5b43a4e4c525861",
        "msg" : "Graph TypecastFont: Add hashCode() and equals(), feed TypecastGlyph w/ LeftSideBearings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
        ],
        "commitId" : "4f7d133b7f7c06f35d75cb46d5e13aa215fee52d",
        "timestamp" : 1676824694000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph TextRegionUtil: Fix HashMap (font,text)->GLRegion: Preserve key data (fontName, text) for equals\u000a\u000aOtherwise we would need to use a mostly collision free secure hash algo, Black2b-512 or sha256/512\u000a",
        "date" : "2023-02-19 17:38:14 +0100",
        "id" : "4f7d133b7f7c06f35d75cb46d5e13aa215fee52d",
        "msg" : "Graph TextRegionUtil: Fix HashMap (font,text)->GLRegion: Preserve key data (fontName, text) for equals",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
        ],
        "commitId" : "6bf76cfc2dcba22d377346f132b5e90b92dc192c",
        "timestamp" : 1676825108000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Update demos ..\u000a",
        "date" : "2023-02-19 17:45:08 +0100",
        "id" : "6bf76cfc2dcba22d377346f132b5e90b92dc192c",
        "msg" : "Graph: Update demos ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UIShapeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShapeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph02UbuntuLight_ae.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/graph/FontSet01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtCanvasAWTDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject02.java",
          "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph01UbuntuLight_o.java",
          "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph04FreeSans_0.java",
          "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph03FreeMonoRegular_M.java"
        ],
        "commitId" : "dc48fb0f101dfefd3f4fb23f585d14de7fa9a6fe",
        "timestamp" : 1677186446000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph UI: Update demos, move pure demo code from demos/ui -> demos, rename test-shapes\u000a",
        "date" : "2023-02-23 22:07:26 +0100",
        "id" : "dc48fb0f101dfefd3f4fb23f585d14de7fa9a6fe",
        "msg" : "Graph UI: Update demos, move pure demo code from demos/ui -> demos, rename test-shapes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtCanvasAWTDemo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject01.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TestObject02.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UIShapeDemo01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/FontSet01.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph03FreeMonoRegular_M.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/stub_includes/ffmpeg/v0600/libavutil/stereo3d.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/lzo.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/threadmessage.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/lzo.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/ripemd.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/avdct.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/samplefmt.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/parseutils.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/lfg.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/lzo.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/dxva2.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_qsv.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/vorbis_parser.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/codec_id.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/mem.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_vulkan.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/version.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/timecode.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/avfft.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/lzo.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/dovi_meta.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/channel_layout.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/avdct.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/channel_layout.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/ripemd.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/bsf.h",
          "make/stub_includes/ffmpeg/v0400/libavfilter/version.h",
          "make/stub_includes/ffmpeg/v0500/libavdevice/avdevice.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/parseutils.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/attributes.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/imgutils.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_mediacodec.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/error.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/mediacodec.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/avstring.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_vdpau.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/blowfish.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/cpu.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/avassert.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/intfloat.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/video_enc_params.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/mem.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavformat/avio.h",
          "make/stub_includes/ffmpeg/v0600/libswscale/swscale.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/tx.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/buffer.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/pixdesc.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavformat/avformat.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/mem.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/spherical.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hmac.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/mediacodec.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/rational.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/bswap.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/des.h",
          "make/stub_includes/ffmpeg/v0600/libavformat/version_major.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/old_pix_fmts.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/avassert.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/mastering_display_metadata.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/cpu.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/codec_par.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/cpu.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/camellia.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/lzo.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/dxva2.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/parseutils.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/audio_fifo.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/fifo.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/time.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/xtea.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/d3d11va.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_d3d11va.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/timestamp.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_dxva2.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/des.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/intreadwrite.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/video_enc_params.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/channel_layout.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/timestamp.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/buffer.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_vulkan.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/murmur3.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/videotoolbox.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavformat/avformat.h",
          "make/stub_includes/ffmpeg/v0600/libavformat/version.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/adts_parser.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hdr_dynamic_metadata.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/frame.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/blowfish.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/blowfish.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/pixelutils.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/rational.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_opencl.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/tea.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/audio_fifo.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/film_grain_params.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hdr_dynamic_metadata.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/qsv.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/macros.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/common.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_mediacodec.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/cast5.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/fifo.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/avcodec.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/avstring.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/intfloat.h",
          "make/stub_includes/ffmpeg/v0600/libswscale/version_major.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/frame.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/xvmc.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_opencl.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/cast5.h",
          "make/stub_includes/ffmpeg/v0500/libavdevice/version.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/vda.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/version.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/imgutils.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/uuid.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/avfft.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/error.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/codec_desc.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/avfft.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/cpu.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/mathematics.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/time.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/error.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/jni.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/ffversion.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/downmix_info.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/threadmessage.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/twofish.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_vulkan.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/audioconvert.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/mem.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/avutil.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/avdct.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/codec_desc.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/jni.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/dxva2.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/version.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/sha512.h",
          "make/stub_includes/ffmpeg/v0400/libavfilter/buffersrc.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libswresample/version.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_videotoolbox.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/vda.h",
          "make/stub_includes/ffmpeg/v0500/libavfilter/version_major.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavresample/version.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/downmix_info.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/rational.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_videotoolbox.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/codec_id.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/avconfig.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/xtea.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_videotoolbox.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/frame.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/macros.h",
          "make/stub_includes/ffmpeg/v0400/libavfilter/buffersink.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/motion_vector.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_vaapi.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/intreadwrite.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/avcodec.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/log.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/audioconvert.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/pixdesc.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/audio_fifo.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/spherical.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/intfloat_readwrite.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/packet.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/bswap.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/vda.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_drm.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/intreadwrite.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/intfloat.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/crc.h",
          "make/stub_includes/ffmpeg/v0500/libavfilter/buffersrc.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/audio_fifo.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/random_seed.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/dv_profile.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/avstring.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/fifo.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/opt.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_vdpau.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/dovi_meta.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavformat/avio.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/crc.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/avcodec.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/avfft.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/bprint.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/mathematics.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_cuda.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/intfloat.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/pixdesc.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hash.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/aes.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libswresample/swresample.h",
          "make/stub_includes/ffmpeg/v0600/libswscale/version.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/dirac.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/dirac.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/ac3_parser.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/codec_desc.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_cuda.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/adler32.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/tx.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/adler32.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/eval.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/md5.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavresample/version.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/codec_id.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/channel_layout.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/rc4.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/aes.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/fifo.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/xtea.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/samplefmt.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/avfft.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/cast5.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/camellia.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/rational.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/random_seed.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/vaapi.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/d3d11va.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/avstring.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/attributes.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/dxva2.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/pixdesc.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/avconfig.h",
          "make/stub_includes/ffmpeg/v0600/libavfilter/buffersink.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/dxva2.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/base64.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/codec_par.h",
          "make/stub_includes/ffmpeg/v0500/libswscale/version_major.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/packet.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/sha.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/channel_layout.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/attributes.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/file.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/dict.h",
          "make/stub_includes/ffmpeg/v0500/libavformat/avformat.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/fifo.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/xtea.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/dict.h",
          "make/stub_includes/ffmpeg/v0500/libswscale/swscale.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/replaygain.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/codec.h",
          "make/stub_includes/ffmpeg/v0400/libavfilter/avfilter.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/adts_parser.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/xvmc.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/opt.h",
          "make/stub_includes/ffmpeg/v0500/libswresample/swresample.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavformat/avio.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavformat/avformat.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/avassert.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hdr_dynamic_vivid_metadata.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/ffversion.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_dxva2.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/blowfish.h",
          "make/stub_includes/ffmpeg/v0600/libavdevice/version_major.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/common.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/pixdesc.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/aes_ctr.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/lfg.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/xtea.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/defs.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavformat/version.h",
          "make/stub_includes/ffmpeg/v0600/libavfilter/version_major.h",
          "make/stub_includes/ffmpeg/v0600/libavfilter/version.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/avcodec.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/intfloat.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/display.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/lfg.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/intfloat_readwrite.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/eval.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_d3d11va.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/video_enc_params.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/avutil.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/lzo.h",
          "make/stub_includes/ffmpeg/v0400/libswresample/swresample.h",
          "make/stub_includes/ffmpeg/v0400/libswresample/version.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_drm.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/bswap.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/crc.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_qsv.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/stereo3d.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/lfg.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/aes_ctr.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/version.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/channel_layout.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_vaapi.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/file.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/parseutils.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/sha512.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavformat/version.h",
          "make/stub_includes/ffmpeg/v0400/libavdevice/version.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/avutil.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/rational.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/encryption_info.h",
          "make/stub_includes/ffmpeg/v0400/libavformat/avio.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/aes.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/imgutils.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/bswap.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/cpu.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/vdpau.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hdr_dynamic_vivid_metadata.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/file.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/tree.h",
          "make/stub_includes/ffmpeg/v0600/libswresample/version_major.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/version.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/common.h",
          "make/stub_includes/ffmpeg/v0500/libavformat/version.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_mediacodec.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/random_seed.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/avutil.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/des.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/rc4.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/pixfmt.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/cpu.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/avfft.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_cuda.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hdr_dynamic_metadata.h",
          "make/stub_includes/ffmpeg/v0600/libswresample/version.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/avassert.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/mem.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/buffer.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/mathematics.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/hmac.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/log.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/uuid.h",
          "make/stub_includes/ffmpeg/v0500/libswscale/version.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/avstring.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/dv_profile.h",
          "make/stub_includes/ffmpeg/v0400/libswscale/swscale.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/jni.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/packet.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/ac3_parser.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/random_seed.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/eval.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/dict.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/log.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/pixfmt.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/imgutils.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/md5.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/replaygain.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/version.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/avutil.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/intfloat.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavformat/avformat.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/avcodec.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/vaapi.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/random_seed.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/samplefmt.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/adler32.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/csp.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/adts_parser.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libswresample/swresample.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hash.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/xvmc.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/log.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/frame.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/qsv.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/log.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/file.h",
          "make/stub_includes/ffmpeg/v0400/libavformat/version.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/avconfig.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavresample/avresample.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/csp.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/eval.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/common.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libswresample/swresample.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavresample/version.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/base64.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/base64.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/twofish.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/stereo3d.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_d3d11va.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/hmac.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hmac.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/mem.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/macros.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/avutil.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/bswap.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/log.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/pixelutils.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/downmix_info.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/audio_fifo.h",
          "make/stub_includes/ffmpeg/v0400/libavformat/avformat.h",
          "make/stub_includes/ffmpeg/v0600/libavfilter/avfilter.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/xvmc.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/timecode.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/fifo.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/dict.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/replaygain.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/xtea.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/avcodec.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/vda.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/random_seed.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/opt.h",
          "make/stub_includes/ffmpeg/v0600/libavfilter/buffersrc.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/lfg.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/attributes.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/md5.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/version.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/crc.h",
          "make/stub_includes/ffmpeg/v0600/libswresample/swresample.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/avconfig.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/opt.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/parseutils.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/motion_vector.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/time.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/attributes.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/lzo.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/error.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/display.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/md5.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/motion_vector.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/threadmessage.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/codec.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/md5.h",
          "make/stub_includes/ffmpeg/v0500/libavformat/avio.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/common.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/aes_ctr.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/opt.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/aes.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/aes.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/intreadwrite.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/bsf.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/rational.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/samplefmt.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavresample/avresample.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavformat/version.h",
          "make/stub_includes/ffmpeg/v0400/libavdevice/avdevice.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/sha.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/aes.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/version.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/error.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/vdpau.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/encryption_info.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/dxva2.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/vdpau.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/intreadwrite.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/videotoolbox.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/tx.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/mathematics.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/audioconvert.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/eval.h",
          "make/stub_includes/ffmpeg/v0500/libavfilter/buffersink.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/samplefmt.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/display.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/intreadwrite.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/lfg.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/blowfish.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/downmix_info.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/fifo.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/stereo3d.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/avassert.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/base64.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/adler32.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/version.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libswresample/version.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/file.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/encryption_info.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/avconfig.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/frame.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/rc4.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/audio_fifo.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/intfloat.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/pixfmt.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/buffer.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/opt.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/old_codec_ids.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/vdpau.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/videotoolbox.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavformat/version.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/film_grain_params.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/log.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/camellia.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/tree.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/dirac.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/crc.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/crc.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/eval.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/error.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/common.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/xvmc.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavresample/avresample.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_opencl.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/intreadwrite.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hmac.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/vorbis_parser.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/samplefmt.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/pixfmt.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/avconfig.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/time.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/adler32.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/vaapi.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/dict.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/base64.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/sha.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/file.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/time.h",
          "make/stub_includes/ffmpeg/v0600/libavdevice/avdevice.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/timestamp.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/pixelutils.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/pixfmt.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_dxva2.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/qsv.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/attributes.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/bsf.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/display.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/imgutils.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/sha.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/lfg.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/sha.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/imgutils.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/xvmc.h",
          "make/stub_includes/ffmpeg/v0500/libavformat/version_major.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/version.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/avstring.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/blowfish.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/ambient_viewing_environment.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/version.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/crc.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/dxva2.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/macros.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/timecode.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_qsv.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libswresample/version.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/downmix_info.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/tea.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/bprint.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/sha.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/dict.h",
          "make/stub_includes/ffmpeg/v0500/libavdevice/version_major.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/stereo3d.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/avassert.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/random_seed.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/avcodec.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/parseutils.h",
          "make/stub_includes/ffmpeg/v0500/libavfilter/version.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/adler32.h",
          "make/stub_includes/ffmpeg/v0600/libavdevice/version.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/replaygain.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/mastering_display_metadata.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/vorbis_parser.h",
          "make/stub_includes/ffmpeg/v0400/libswscale/version.h",
          "make/stub_includes/ffmpeg/v0600/libavformat/avformat.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/mediacodec.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/audioconvert.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/xvmc.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/parseutils.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/bprint.h",
          "make/stub_includes/ffmpeg/v0500/libavfilter/avfilter.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/codec.h",
          "make/stub_includes/ffmpeg/v0600/libavformat/avio.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/vaapi.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavformat/avio.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/md5.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/vaapi.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/vdpau.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/avfft.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/d3d11va.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/bswap.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/codec_par.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/rational.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/avstring.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/version.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/error.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/opt.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/tree.h",
          "make/stub_includes/ffmpeg/v0400/libavcodec/vdpau.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/pixfmt.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/common.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/ac3_parser.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/murmur3.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/detection_bbox.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/bswap.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/imgutils.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/opt.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/hash.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_vaapi.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/dict.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/base64.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/mathematics.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/md5.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/adler32.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/murmur3.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/mathematics.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/defs.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/version_major.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/buffer.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/sha512.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/avconfig.h",
          "make/stub_includes/ffmpeg/v0500/libavcodec/dv_profile.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/eval.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/aes.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/pixdesc.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/file.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/samplefmt.h",
          "make/stub_includes/ffmpeg/v0600/libavcodec/version_major.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/macros.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/old_pix_fmts.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/cpu.h",
          "make/stub_includes/ffmpeg/v0500/libswresample/version.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/version.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/pixdesc.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/tea.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/ffversion.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/pixfmt.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/attributes.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/mastering_display_metadata.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/mem.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/sha.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/detection_bbox.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/ripemd.h",
          "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/vdpau.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/old_pix_fmts.h",
          "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/time.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/base64.h",
          "make/stub_includes/ffmpeg/v0500/libswresample/version_major.h",
          "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/avassert.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/avutil.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/twofish.h",
          "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_drm.h",
          "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/mathematics.h",
          "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_vdpau.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/dovi_meta.h",
          "make/stub_includes/ffmpeg/v0400/libavutil/spherical.h"
        ],
        "commitId" : "55a3e7e548bbc3333318ee55dbab39f016b8d5f6",
        "timestamp" : 1677186617000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "FFMPEGMediaPlayer: Replace old FFmpeg header w/ FFmpeg version 4.3, 5.1 and 6.0 (major version counts for binary compatibility)\u000a",
        "date" : "2023-02-23 22:10:17 +0100",
        "id" : "55a3e7e548bbc3333318ee55dbab39f016b8d5f6",
        "msg" : "FFMPEGMediaPlayer: Replace old FFmpeg header w/ FFmpeg version 4.3, 5.1 and 6.0 (major version counts for binary compatibility)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/crc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hdr_dynamic_vivid_metadata.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavformat/avio.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/ffversion.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/pixelutils.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavformat/avformat.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/timecode.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/downmix_info.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/avfft.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/avassert.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/base64.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/frame.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/opt.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/aes.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/error.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/lzo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libswscale/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/md5.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/avutil.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/buffer.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/dict.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/fifo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/pixelutils.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/audioconvert.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/intfloat.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/avstring.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/pixdesc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/ac3_parser.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/defs.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/xvmc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/motion_vector.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/cast5.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/dv_profile.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/xtea.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/bswap.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/buffer.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/csp.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/avcodec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/camellia.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/eval.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/threadmessage.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/crc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/cpu.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/adts_parser.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libswresample/swresample.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/avdct.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hash.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/tea.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_cuda.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/md5.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/crc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/vda.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/sha512.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/dict.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/codec_desc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/md5.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/intfloat.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/adts_parser.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/base64.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/intreadwrite.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/avcodec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/packet.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/mathematics.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/lfg.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/spherical.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hmac.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/channel_layout.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/samplefmt.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/imgutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavformat/avformat.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/opt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/avstring.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/mem.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/lzo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/bsf.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/sha.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/samplefmt.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/intreadwrite.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/sha.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/frame.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libswscale/swscale.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/common.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/fifo.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/avstring.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/jni.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/parseutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/frame.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/qsv.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/lzo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/intreadwrite.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavfilter/version.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/dict.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/avstring.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/vdpau.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libswresample/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_cuda.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/dict.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/log.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavdevice/version_major.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/stereo3d.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/imgutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/ambient_viewing_environment.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/threadmessage.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/crc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/pixfmt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/sha.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/opt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/avconfig.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/des.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/parseutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_vulkan.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/timestamp.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/jni.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/avstring.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/codec_par.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/uuid.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libswresample/swresample.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/murmur3.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/ffversion.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libswresample/swresample.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/display.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/intfloat.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/error.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/pixfmt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/aes.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/dirac.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/motion_vector.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/aes_ctr.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/encryption_info.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/intfloat_readwrite.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/packet.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/fifo.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/intreadwrite.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/intfloat.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/pixfmt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/mem.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/bprint.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_mediacodec.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/dxva2.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/replaygain.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_dxva2.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/aes_ctr.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/display.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_videotoolbox.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/timecode.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/aes.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/adler32.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/tree.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/xtea.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/vaapi.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/log.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavfilter/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/imgutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/bswap.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavformat/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavformat/avio.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/lfg.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/avconfig.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/log.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/macros.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/channel_layout.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/bswap.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_drm.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/codec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/opt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/intreadwrite.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/jni.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/eval.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/common.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/videotoolbox.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/stereo3d.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/cpu.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/stereo3d.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/file.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hdr_dynamic_metadata.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/timecode.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/sha512.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/dxva2.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavdevice/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/twofish.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/stereo3d.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/rational.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_cuda.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavdevice/avdevice.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/rc4.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/video_enc_params.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_vulkan.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/avstring.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/lfg.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/mastering_display_metadata.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavformat/version_major.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_vdpau.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_vulkan.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavformat/avio.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/old_codec_ids.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/sha.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/audioconvert.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/codec_par.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/xvmc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavformat/version.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/cpu.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/ripemd.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/avconfig.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavfilter/buffersrc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/rational.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavformat/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/detection_bbox.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/audioconvert.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/eval.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavformat/avformat.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/audio_fifo.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/avfft.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/adler32.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/mediacodec.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/sha.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/avdct.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/attributes.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/file.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/uuid.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/codec_id.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/version.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/aes.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/error.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/video_enc_params.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/sha.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/opt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/base64.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/blowfish.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/error.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/cpu.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/murmur3.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/audio_fifo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/csp.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/md5.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/vorbis_parser.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/error.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libswscale/swscale.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/md5.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/bsf.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/tree.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/pixdesc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavformat/version.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/mathematics.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/imgutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/video_enc_params.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/blowfish.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/file.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/pixdesc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/error.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/dxva2.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/version.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/macros.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/avassert.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/dovi_meta.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/channel_layout.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/encryption_info.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/threadmessage.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavformat/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/parseutils.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/intfloat.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/packet.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/mem.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavformat/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_qsv.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/samplefmt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavresample/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/md5.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/defs.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/lzo.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavformat/avio.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_d3d11va.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/des.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/frame.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hdr_dynamic_metadata.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/dxva2.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/film_grain_params.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/samplefmt.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/codec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/codec_id.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/cast5.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/avfft.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/aes.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/log.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/avassert.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/eval.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/base64.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/tx.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/rational.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/lzo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/bswap.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libswscale/swscale.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/audio_fifo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_d3d11va.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/crc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/replaygain.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/vaapi.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/des.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/dxva2.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/cpu.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/avassert.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/pixdesc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/avcodec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/videotoolbox.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_dxva2.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/codec_desc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/version_major.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavfilter/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/xtea.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/audio_fifo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/pixfmt.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/mathematics.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/dv_profile.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/fifo.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/random_seed.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/rational.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/rational.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/qsv.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/time.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libswresample/version_major.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hdr_dynamic_vivid_metadata.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/pixdesc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/error.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/attributes.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/bprint.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/old_pix_fmts.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/common.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_vaapi.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/mediacodec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/avassert.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/dict.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/tea.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libswscale/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/blowfish.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libswresample/swresample.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/vdpau.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavformat/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/timestamp.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavdevice/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/common.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/vaapi.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/vda.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/pixdesc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/display.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/base64.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/film_grain_params.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/intreadwrite.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/adler32.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/random_seed.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/tree.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/replaygain.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hmac.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavdevice/version_major.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/random_seed.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/mediacodec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavformat/avformat.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/version_major.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavfilter/buffersink.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/lfg.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/imgutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/dovi_meta.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/xvmc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/avcodec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/avutil.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_qsv.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/macros.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/rc4.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/avcodec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/d3d11va.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/attributes.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/lzo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/ripemd.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/time.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavfilter/avfilter.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/avdct.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/twofish.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/camellia.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/opt.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/twofish.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/vorbis_parser.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavresample/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/spherical.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/parseutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/bswap.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavformat/avio.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavformat/avio.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/cpu.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/random_seed.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/vda.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavdevice/avdevice.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/spherical.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libswresample/swresample.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/lfg.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/parseutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/d3d11va.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/camellia.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/common.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hdr_dynamic_metadata.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/vdpau.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavfilter/buffersrc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/channel_layout.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_vaapi.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/mastering_display_metadata.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/log.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/adler32.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/d3d11va.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libswresample/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/base64.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libswresample/version.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/samplefmt.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/lfg.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavdevice/avdevice.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/eval.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libswresample/version_major.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/blowfish.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/sha512.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/codec_par.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/mathematics.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavformat/avformat.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/mathematics.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/random_seed.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavformat/avformat.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/samplefmt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/time.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_opencl.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/rc4.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/aes.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/vdpau.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/pixdesc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libswresample/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/ffversion.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/channel_layout.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/avutil.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/common.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/base64.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/bsf.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/dxva2.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/downmix_info.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/log.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libswresample/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/tx.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/vdpau.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hash.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/xvmc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/downmix_info.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/macros.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/dict.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/hmac.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/ripemd.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/attributes.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/aes.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_vdpau.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/videotoolbox.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/stereo3d.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/eval.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/encryption_info.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_videotoolbox.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/dxva2.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_drm.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/ac3_parser.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/intfloat.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/dirac.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/pixfmt.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/avutil.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/avconfig.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/buffer.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/parseutils.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/rational.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/adler32.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_dxva2.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/xvmc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/vorbis_parser.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/fifo.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/mem.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/replaygain.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/motion_vector.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/imgutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/codec_desc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/channel_layout.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/parseutils.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/cast5.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/aes_ctr.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/macros.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/crc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_mediacodec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/avfft.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hash.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/avstring.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/rational.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavformat/avio.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/avassert.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavfilter/buffersrc.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/lzo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/display.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/vdpau.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavfilter/buffersink.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/lfg.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/mathematics.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/file.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/audio_fifo.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/xvmc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_qsv.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/crc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/log.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/xtea.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libswresample/version.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/avfft.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/avconfig.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/bswap.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/downmix_info.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/fifo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/bprint.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/detection_bbox.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/md5.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/attributes.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/adler32.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/codec_id.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/avconfig.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/sha.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/hmac.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_opencl.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/avconfig.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/pixfmt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/frame.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavcodec/vda.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/file.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavfilter/avfilter.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavfilter/version_major.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hmac.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/fifo.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/vdpau.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/mastering_display_metadata.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/qsv.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/pixelutils.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/imgutils.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/file.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/dirac.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavresample/avresample.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/audioconvert.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/pixfmt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavresample/avresample.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavfilter/avfilter.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libswresample/swresample.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/time.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_videotoolbox.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/time.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/mem.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/samplefmt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/blowfish.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/adler32.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/murmur3.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/audio_fifo.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavresample/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/adts_parser.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/xvmc.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/random_seed.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/avfft.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_d3d11va.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/old_pix_fmts.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/tx.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/xtea.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/xtea.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_vaapi.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/opt.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/avutil.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/avfft.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavcodec/avcodec.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/old_pix_fmts.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_opencl.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/timestamp.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/common.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/attributes.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libswscale/version_major.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/random_seed.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/file.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/hwcontext_mediacodec.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/avcodec.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/hwcontext_vdpau.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/bswap.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavfilter/buffersink.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libswscale/version_major.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/hwcontext_drm.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/dict.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavformat/version_major.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/intfloat_readwrite.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/time.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavutil/intfloat.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/downmix_info.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/tea.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/buffer.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/eval.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavdevice/version.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavutil/avassert.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/dv_profile.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavcodec/ac3_parser.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/avutil.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/attributes.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/mem.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc56_lavf56_lavu54_lavr02/libavformat/avformat.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc53_lavf53_lavu51/libavutil/avutil.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavutil/dovi_meta.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/intreadwrite.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/version.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavcodec/version.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavutil/buffer.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/opt.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libswscale/version.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0500/libavfilter/version_major.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/blowfish.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavutil/mathematics.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc54_lavf54_lavu52_lavr01/libavresample/avresample.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavcodec/vaapi.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/cpu.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0600/libavcodec/codec.h"
          },
          {
            "editType" : "delete",
            "file" : "make/stub_includes/libav/lavc55_lavf55_lavu53_lavr01/libavcodec/vaapi.h"
          },
          {
            "editType" : "add",
            "file" : "make/stub_includes/ffmpeg/v0400/libavutil/mem.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/native/libav/ffmpeg_impl_template.c",
          "src/jogl/native/libav/ffmpeg_tool.h",
          "src/jogl/native/libav/ffmpeg_lavc53_lavf53_lavu51.c",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java",
          "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv08Natives.java",
          "src/jogl/native/libav/ffmpeg_lavc54_lavf54_lavu52_lavr01.c",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0400Natives.java",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv09Natives.java",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv11Natives.java",
          "src/jogl/native/libav/ffmpeg_v0600.c",
          "src/jogl/native/libav/ffmpeg_v0400.c",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0500Natives.java",
          "make/scripts/tests.sh",
          "src/jogl/native/libav/ffmpeg_lavc56_lavf56_lavu54_lavr02.c",
          "make/build-jogl.xml",
          "make/scripts/tests-x64.sh",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0600Natives.java",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv10Natives.java",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java",
          "src/jogl/native/libav/ffmpeg_v0500.c",
          "src/jogl/native/libav/ffmpeg_lavc55_lavf55_lavu53_lavr01.c"
        ],
        "commitId" : "2ecf00d7733c473358b652c50b83cb95f65174ff",
        "timestamp" : 1677187119000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "FFMPEGMediaPlayer: Add implementation update for FFmpeg version 4.* (Debian 11), 5.* (Debian 12) and 6.* (Current Development trunk)\u000a\u000aFrom here on, libav support has been dropped.\u000a\u000aRequired FFmpeg libraries to be fully matched by their major runtime- and compiletime-versions are:\u000a- avcodec\u000a- avformat\u000a- avutil\u000a- swresample\u000a\u000aLibrary avdevice is optional and only used for video input devices (camera).\u000a\u000aLibrary avresample has been removed, since FFmpeg dropped it as well in version 6.*\u000aand swresample is preferred for lower versions.\u000a\u000aThe matching major-versions of each library to the FFmpeg version\u000ais documented within FFMPEGMediaPlayer class API-doc.\u000a\u000aEach implementation version uses the non-deprecated FFmpeg code-path\u000aand compilation using matching header files is warning-free.\u000a",
        "date" : "2023-02-23 22:18:39 +0100",
        "id" : "2ecf00d7733c473358b652c50b83cb95f65174ff",
        "msg" : "FFMPEGMediaPlayer: Add implementation update for FFmpeg version 4.* (Debian 11), 5.* (Debian 12) and 6.* (Current Development trunk)",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/jogl/native/libav/ffmpeg_lavc56_lavf56_lavu54_lavr02.c"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0500Natives.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv08Natives.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/native/libav/ffmpeg_v0600.c"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGNatives.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/native/libav/ffmpeg_v0400.c"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/libav/ffmpeg_tool.h"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.sh"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0400Natives.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/native/libav/ffmpeg_v0500.c"
          },
          {
            "editType" : "edit",
            "file" : "make/build-jogl.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv10Natives.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/libav/ffmpeg_impl_template.c"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/native/libav/ffmpeg_lavc53_lavf53_lavu51.c"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/native/libav/ffmpeg_lavc54_lavf54_lavu52_lavr01.c"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/native/libav/ffmpeg_lavc55_lavf55_lavu53_lavr01.c"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv0600Natives.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGDynamicLibraryBundleInfo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv11Natives.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv09Natives.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".cproject",
          ".project"
        ],
        "commitId" : "0bc7cc3a8dc68005f52082a4e3181e09d8e36599",
        "timestamp" : 1677187152000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Eclipse: Add CDT nature to edit C/C++ files\u000a",
        "date" : "2023-02-23 22:19:12 +0100",
        "id" : "0bc7cc3a8dc68005f52082a4e3181e09d8e36599",
        "msg" : "Eclipse: Add CDT nature to edit C/C++ files",
        "paths" : [
          {
            "editType" : "add",
            "file" : ".cproject"
          },
          {
            "editType" : "edit",
            "file" : ".project"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
        ],
        "commitId" : "d2d09d37be87bebf7700b9f82bccdf94a7ff5e51",
        "timestamp" : 1677187418000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font: Fix TypecastRenderer TTF corner-case: Prefer initial segment's moveTo (start) to be onCurve\u000a\u000aOne of the FreeSerif fonts starts a new segment with two off-curves,\u000awhere the mid-point is not onCurve.\u000a\u000aHere we have to test whether the previous (point-1 or in code: point_m) is onCurve and\u000asimply start our 'turtle' making the shape there ..\u000a",
        "date" : "2023-02-23 22:23:38 +0100",
        "id" : "d2d09d37be87bebf7700b9f82bccdf94a7ff5e51",
        "msg" : "Graph Font: Fix TypecastRenderer TTF corner-case: Prefer initial segment's moveTo (start) to be onCurve",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/jogamp/opengl/util/GLVBOArrayHandler.java",
          "src/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureSequenceCubeES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/offscreen/ReadBuffer2Screen.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java",
          "make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/glsl/GLSLMiscHelper.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsObjectES1.java",
          "make/config/jogl/gl-impl-CustomJavaCode-gles1.java",
          "make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java",
          "src/jogl/classes/com/jogamp/opengl/GLArrayData.java",
          "src/demos/com/jogamp/opengl/demos/es2/GearsObjectES2.java"
        ],
        "commitId" : "3d537d4239e3772ffdb33592e5e66844d94ac9f3",
        "timestamp" : 1677249219000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayData*: Shorten methods (*API Change*), use proper constructor and finalize immutables, add growthFactor (default golden ratio 1.618), add getCapacity*() and printStats(..)\u000a\u000aThe growthFactor becomes essential for better growth behavior and can be set via setGrowthFactor().\u000a\u000aThe other changes were merely to clean up the GLArrayData interface and its 4 implementations.\u000a\u000aNot great to change its API, but one name was misleading ['getComponentCount' -> 'getCompsPerEleme'],\u000aso overall .. readability is enhanced.\u000a\u000aMotivation for this change was the performance analysis and improvement of our Graph Curve Renderer.\u000a",
        "date" : "2023-02-24 15:33:39 +0100",
        "id" : "3d537d4239e3772ffdb33592e5e66844d94ac9f3",
        "msg" : "GLArrayData*: Shorten methods (*API Change*), use proper constructor and finalize immutables, add growthFactor (default golden ratio 1.618), add getCapacity*() and printStats(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/config/jogl/gl-impl-CustomJavaCode-gl4bc.java"
          },
          {
            "editType" : "edit",
            "file" : "make/config/jogl/gl-impl-CustomJavaCode-gles1.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/GearsObjectES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/offscreen/ReadBuffer2Screen.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsObjectES1.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glsl/GLSLMiscHelper.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "make/config/jogl/gl-impl-CustomJavaCode-gl2_es2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLArrayData.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureSequenceCubeES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/GLVBOArrayHandler.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
        ],
        "commitId" : "6ac71d7fee514f1bf388990b9373d190424699d9",
        "timestamp" : 1677272466000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayData*: Expose reserve() for total elementCount and growIfNeeded() for additional components ...\u000a",
        "date" : "2023-02-24 22:01:06 +0100",
        "id" : "6ac71d7fee514f1bf388990b9373d190424699d9",
        "msg" : "GLArrayData*: Expose reserve() for total elementCount and growIfNeeded() for additional components ...",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TextureSeqButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener00.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSBSStereo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener04.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLWindowNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLJPanelAWT.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener10.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener02.java"
        ],
        "commitId" : "307479391f955a5bd611b4ad4db6f53e097d15c5",
        "timestamp" : 1677273320000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Region: Address overflow issue using GL2ES3 integer indices (WIP...); Ease GLArrayData* buffer growth.\u000a\u000aUsing integer indices, i.e. GL_UNSIGNED_INT, requires us to pass a GLProfile 'hint' to the GLRegion ctor.\u000aRegion.max_indices is computed in this regard and used in Region.addOutlineShape().\u000aTODO: If exceeding max_indices, the code path needs some work.\u000a\u000aBuffer growth is eased via GLArrayData using its golden growth ratio\u000aand manually triggering growth before processing all triangles in Region.addOutlineShape().\u000a\u000a+++\u000a\u000aTextRegionUtil static drawText() won't clear passed Region anymore, caller has to do this if so intended.\u000a",
        "date" : "2023-02-24 22:15:20 +0100",
        "id" : "307479391f955a5bd611b4ad4db6f53e097d15c5",
        "msg" : "Graph Region: Address overflow issue using GL2ES3 integer indices (WIP...); Ease GLArrayData* buffer growth.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSBSStereo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLJPanelAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener02.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener04.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLReadBuffer01GLWindowNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TextureSeqButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "a7d2ffa2f42343a0356084a3701075720f44fd5c",
        "timestamp" : 1677273620000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Region: Fix printBufferStats(..) override\u000a",
        "date" : "2023-02-24 22:20:20 +0100",
        "id" : "a7d2ffa2f42343a0356084a3701075720f44fd5c",
        "msg" : "Graph Region: Fix printBufferStats(..) override",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UIShapeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java"
        ],
        "commitId" : "cdbae2a8840e768f9946a85e80e36535e11856cf",
        "timestamp" : 1677288289000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Movie* Demos: Add screenshots w/ 'S' key; Cleanup screenshot filename creation in other demos.\u000a",
        "date" : "2023-02-25 02:24:49 +0100",
        "id" : "cdbae2a8840e768f9946a85e80e36535e11856cf",
        "msg" : "Movie* Demos: Add screenshots w/ 'S' key; Cleanup screenshot filename creation in other demos.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UIShapeDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests-x64-dbg.bat",
          "make/scripts/tests.sh",
          "make/scripts/tests-x64.bat",
          "make/scripts/tests-win.bat"
        ],
        "commitId" : "8577308dc26da61c850692137c7475a67427b98a",
        "timestamp" : 1677449023000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Windows test scripts: Inject FFmpeg 5.1.2 and Mesa3D (disabled C:\\Windows\\System32\\opengl32.dll)\u000a",
        "date" : "2023-02-26 23:03:43 +0100",
        "id" : "8577308dc26da61c850692137c7475a67427b98a",
        "msg" : "Windows test scripts: Inject FFmpeg 5.1.2 and Mesa3D (disabled C:\\Windows\\System32\\opengl32.dll)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64-dbg.bat"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.bat"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-win.bat"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/native/libav/ffmpeg_impl_template.c"
        ],
        "commitId" : "98ea4a77debc15e5fd9b4188da1bf37b4872f34c",
        "timestamp" : 1677449082000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "FFmpeg: Fix using 'av_channel_layout_uninit', use own loaded linked 'sp_av_channel_layout_uninit'\u000a",
        "date" : "2023-02-26 23:04:42 +0100",
        "id" : "98ea4a77debc15e5fd9b4188da1bf37b4872f34c",
        "msg" : "FFmpeg: Fix using 'av_channel_layout_uninit', use own loaded linked 'sp_av_channel_layout_uninit'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/native/libav/ffmpeg_impl_template.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "www/index.html",
          "www/media/mimap_2.3.160w.png",
          "www/media/SweetHome3DExample17-StudioWithMezzanine-Photo.160w.png"
        ],
        "commitId" : "6d7f33107f9f8371bb07e6584b64a64ec65956dd",
        "timestamp" : 1677596389000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "JOGL Homepage: Rearrange, add MeteoInfo and Sweet Home 3D\u000a",
        "date" : "2023-02-28 15:59:49 +0100",
        "id" : "6d7f33107f9f8371bb07e6584b64a64ec65956dd",
        "msg" : "JOGL Homepage: Rearrange, add MeteoInfo and Sweet Home 3D",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "www/index.html"
          },
          {
            "editType" : "add",
            "file" : "www/media/mimap_2.3.160w.png"
          },
          {
            "editType" : "add",
            "file" : "www/media/SweetHome3DExample17-StudioWithMezzanine-Photo.160w.png"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.txt",
          "www/index.html",
          "README.md"
        ],
        "commitId" : "a1f22eaf5707a287692fd56d46abe4fff4910f75",
        "timestamp" : 1677666608000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Reformat README.txt -> README.md, add list of work items and call for sponsorship.\u000a",
        "date" : "2023-03-01 11:30:08 +0100",
        "id" : "a1f22eaf5707a287692fd56d46abe4fff4910f75",
        "msg" : "Reformat README.txt -> README.md, add list of work items and call for sponsorship.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "README.txt"
          },
          {
            "editType" : "edit",
            "file" : "www/index.html"
          },
          {
            "editType" : "add",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java",
          "src/jogl/classes/com/jogamp/opengl/GLProfile.java"
        ],
        "commitId" : "c5e68482a747c6d0fef8a4b3fdb1fe098f81965d",
        "timestamp" : 1677796421000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLProfile.isValidArrayDataType() add missing accepted types for ES3/GL3+ but dropping its usage (GLArrayDataWrapper validation)\u000a\u000aSkip GLProfile based index, comps, type validation, might not be future proof.\u000a",
        "date" : "2023-03-02 23:33:41 +0100",
        "id" : "c5e68482a747c6d0fef8a4b3fdb1fe098f81965d",
        "msg" : "GLProfile.isValidArrayDataType() add missing accepted types for ES3/GL3+ but dropping its usage (GLArrayDataWrapper validation)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLProfile.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/NativeWindowFactory.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsDevice.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/DefaultGraphicsDevice.java"
        ],
        "commitId" : "bc05d39965ec513a468b841dd1e696c2e371fdd2",
        "timestamp" : 1677796880000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Drop redundant NativeWindowFactory.getDefaultToolkitLock(type, deviceHandle) variant\u000a",
        "date" : "2023-03-02 23:41:20 +0100",
        "id" : "bc05d39965ec513a468b841dd1e696c2e371fdd2",
        "msg" : "Drop redundant NativeWindowFactory.getDefaultToolkitLock(type, deviceHandle) variant",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/DefaultGraphicsDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/NativeWindowFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
        ],
        "commitId" : "24b238fb9b7503f30f9309eec289386a4003f3da",
        "timestamp" : 1677900539000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLMediaPlayerImpl: destroyImpl(..) @ initGL(..) exception: Don't wait for streamWorker stop result (-> deadlock)\u000a",
        "date" : "2023-03-04 04:28:59 +0100",
        "id" : "24b238fb9b7503f30f9309eec289386a4003f3da",
        "msg" : "GLMediaPlayerImpl: destroyImpl(..) @ initGL(..) exception: Don't wait for streamWorker stop result (-> deadlock)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/GLProfile.java"
        ],
        "commitId" : "be56e83a48e0d0701dc20fe30009cc82b82a4f4b",
        "timestamp" : 1677902056000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLProfile::initProfilesForDeviceCritical(): initLock.addOwner(t) only if t is not orig-owner\u000a",
        "date" : "2023-03-04 04:54:16 +0100",
        "id" : "be56e83a48e0d0701dc20fe30009cc82b82a4f4b",
        "msg" : "GLProfile::initProfilesForDeviceCritical(): initLock.addOwner(t) only if t is not orig-owner",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLProfile.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/NativeWindowFactory.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/AbstractGraphicsDevice.java",
          "src/newt/classes/jogamp/newt/driver/bcm/egl/DisplayDriver.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/egl/EGLGraphicsDevice.java"
        ],
        "commitId" : "64e741cbdcc0cc22f5b59fca01fa031879eff68c",
        "timestamp" : 1677902615000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "EGLGraphicsDevice: Cleanup and enhance API doc for clarity ...\u000a",
        "date" : "2023-03-04 05:03:35 +0100",
        "id" : "64e741cbdcc0cc22f5b59fca01fa031879eff68c",
        "msg" : "EGLGraphicsDevice: Cleanup and enhance API doc for clarity ...",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/egl/EGLDisplayUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/NativeWindowFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/AbstractGraphicsDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/egl/EGLGraphicsDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/bcm/egl/DisplayDriver.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java",
          "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java",
          "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java",
          "src/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java",
          "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java",
          "src/jogl/classes/jogamp/opengl/ios/eagl/IOSEAGLDrawableFactory.java",
          "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java"
        ],
        "commitId" : "09f0018363778a6cbf594bc2bf71d899d36e3c46",
        "timestamp" : 1677902887000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLDrawableFactoryImpl:createDummySurfaceImpl() and createSurfacelessImpl(): Pass orig AbstractGraphicsDevice to allow EGLDrawableFactory to use the original device's native-dislay-ID for sharing resources.\u000a\u000aEGLDrawableFactory to use the original device's native-dislay-ID for sharing resources, e.g. GLContext.\u000aEGL 1.4 requires same native-display-ID of share-list context and newly created context!\u000a",
        "date" : "2023-03-04 05:08:07 +0100",
        "id" : "09f0018363778a6cbf594bc2bf71d899d36e3c46",
        "msg" : "GLDrawableFactoryImpl:createDummySurfaceImpl() and createSurfacelessImpl(): Pass orig AbstractGraphicsDevice to allow EGLDrawableFactory to use the original device's native-dislay-ID for sharing resources.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/ios/eagl/IOSEAGLDrawableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java",
          "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java",
          "src/jogl/classes/jogamp/opengl/ios/eagl/IOSEAGLDrawableFactory.java",
          "src/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java",
          "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java",
          "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java"
        ],
        "commitId" : "0b796fe6963705a231bc1f24a5b4e6651b7e928f",
        "timestamp" : 1677903825000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLDrawableFactoryImpl:createMutableSurfaceImpl(..): Pass orig AbstractGraphicsDevice to allow EGLDrawableFactory to use the original device's native-dislay-ID for sharing resources.\u000a",
        "date" : "2023-03-04 05:23:45 +0100",
        "id" : "0b796fe6963705a231bc1f24a5b4e6651b7e928f",
        "msg" : "GLDrawableFactoryImpl:createMutableSurfaceImpl(..): Pass orig AbstractGraphicsDevice to allow EGLDrawableFactory to use the original device's native-dislay-ID for sharing resources.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/ios/eagl/IOSEAGLDrawableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLDrawableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/egl/EGLDrawableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXDrawableFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/nativewindow/classes/com/jogamp/nativewindow/GenericUpstreamSurfacelessHook.java",
          "src/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java"
        ],
        "commitId" : "ead8651394c792950025114cfcb6476e8b82bf50",
        "timestamp" : 1677956259000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLDrawableFactoryImpl:createDummyDrawable(): Similar to createOffscreenDrawable() prefer createSurfacelessImpl() over createDummySurfaceImpl() to reduce resources (no actual window)\u000a\u000aThis enhances the 'dummy drawable' use-case implementation, i.e. for shared context.\u000a",
        "date" : "2023-03-04 19:57:39 +0100",
        "id" : "ead8651394c792950025114cfcb6476e8b82bf50",
        "msg" : "GLDrawableFactoryImpl:createDummyDrawable(): Similar to createOffscreenDrawable() prefer createSurfacelessImpl() over createDummySurfaceImpl() to reduce resources (no actual window)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/GenericUpstreamSurfacelessHook.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests.sh"
        ],
        "commitId" : "82d9be20b7eb95f31babdf233eb48db00a9eda55",
        "timestamp" : 1677956306000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "make/scripts/tests.sh: Update for my personal unit-test runs\u000a",
        "date" : "2023-03-04 19:58:26 +0100",
        "id" : "82d9be20b7eb95f31babdf233eb48db00a9eda55",
        "msg" : "make/scripts/tests.sh: Update for my personal unit-test runs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/GLDrawableFactory.java"
        ],
        "commitId" : "e26c9ed7e965d526830ec0112eb2f58832ebca16",
        "timestamp" : 1677958909000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLDrawableFactory: Fix typos and mention 'surfaceless' in createDummyDrawable(..)\u000a",
        "date" : "2023-03-04 20:41:49 +0100",
        "id" : "e26c9ed7e965d526830ec0112eb2f58832ebca16",
        "msg" : "GLDrawableFactory: Fix typos and mention 'surfaceless' in createDummyDrawable(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLDrawableFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java"
        ],
        "commitId" : "8d4e039dfd490d3f2290523ea75c9f51460bae41",
        "timestamp" : 1677987510000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "FFMPEGMediaPlayer: Cleanup API doc FFmpeg versions\u000a",
        "date" : "2023-03-05 04:38:30 +0100",
        "id" : "8d4e039dfd490d3f2290523ea75c9f51460bae41",
        "msg" : "FFMPEGMediaPlayer: Cleanup API doc FFmpeg versions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java",
          "src/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java",
          "src/newt/classes/jogamp/newt/driver/bcm/egl/ScreenDriver.java",
          "src/newt/classes/jogamp/newt/driver/android/ScreenDriver.java",
          "src/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java",
          "src/newt/classes/jogamp/newt/driver/egl/gbm/ScreenDriver.java",
          "src/newt/classes/jogamp/newt/ScreenImpl.java",
          "src/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java",
          "src/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "d87f510194ad2eead2a42b41a3cbe1077f65a695",
        "timestamp" : 1677987776000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT Screen: Allow injection of global (single) monitor size in [mm] via newt.ws.mmwidth and newt.ws.mmheight property\u000a\u000aThis is essential on bare-metal devices where the screen DRM/GBM driver does not provide the screen-size (in mm).\u000aOtherwise we would have resolution/(size_mm=0) infinity density and none of our graph font demos would work,\u000aas we compute pixel-em-size based using dpi and pixel-pt-size.\u000a",
        "date" : "2023-03-05 04:42:56 +0100",
        "id" : "d87f510194ad2eead2a42b41a3cbe1077f65a695",
        "msg" : "NEWT Screen: Allow injection of global (single) monitor size in [mm] via newt.ws.mmwidth and newt.ws.mmheight property",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/egl/gbm/ScreenDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/ScreenImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/bcm/egl/ScreenDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/kd/ScreenDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/intel/gdl/ScreenDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/ScreenDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/awt/ScreenDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/bcm/vc/iv/ScreenDriver.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java"
        ],
        "commitId" : "c14b85395d2b3b75d09d9b9fd2eeecb20aad46af",
        "timestamp" : 1678065323000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayData[Editable,Client]: Add put[34][bsif](..) and array put[bsif](..) variants for flexibility/performance\u000a\u000aNotable: The array-put is slower than small range single-puts, e.g. put3i(..).\u000a\u000aUses GlueGen's Buffers change commit 69b748925038b7d44fa6318536642b426e3d3e38\u000a",
        "date" : "2023-03-06 02:15:23 +0100",
        "id" : "c14b85395d2b3b75d09d9b9fd2eeecb20aad46af",
        "msg" : "GLArrayData[Editable,Client]: Add put[34][bsif](..) and array put[bsif](..) variants for flexibility/performance",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
        ],
        "commitId" : "a424365f723fb540b0895ea009df3506ca0619a7",
        "timestamp" : 1678065353000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayDataClient: Minor toString() and DEBUG output fixes\u000a",
        "date" : "2023-03-06 02:15:53 +0100",
        "id" : "a424365f723fb540b0895ea009df3506ca0619a7",
        "msg" : "GLArrayDataClient: Minor toString() and DEBUG output fixes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java"
        ],
        "commitId" : "f12043cbb8c7b5ea20937dbe6799ca5e635019d0",
        "timestamp" : 1678065519000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayDataEditable: Clarify API doc on clear*(..) and rewind()\u000a",
        "date" : "2023-03-06 02:18:39 +0100",
        "id" : "f12043cbb8c7b5ea20937dbe6799ca5e635019d0",
        "msg" : "GLArrayDataEditable: Clarify API doc on clear*(..) and rewind()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
        ],
        "commitId" : "874a49592e5233722fb8e455aa741c351f1c50a2",
        "timestamp" : 1678065567000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayData*: Minor edits: API doc, space and year-range\u000a",
        "date" : "2023-03-06 02:19:27 +0100",
        "id" : "874a49592e5233722fb8e455aa741c351f1c50a2",
        "msg" : "GLArrayData*: Minor edits: API doc, space and year-range",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/GLArrayData.java"
        ],
        "commitId" : "525ae22469646abe6f22c9b6e62eb6cdb297b0b6",
        "timestamp" : 1678065590000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayData: year-range\u000a",
        "date" : "2023-03-06 02:19:50 +0100",
        "id" : "525ae22469646abe6f22c9b6e62eb6cdb297b0b6",
        "msg" : "GLArrayData: year-range",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLArrayData.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests-linux-aarch64.sh",
          "make/scripts/tests.sh"
        ],
        "commitId" : "4072655fe5c549949828ba86783b1fcc377869c8",
        "timestamp" : 1678075440000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "scripts/tests.sh: add testmobile launch w/ JOGAMP_MOBILE_CLASSPATH\u000a\u000aAlso add commented-out FlightRecording, not yet usefull - lacking depth for our methods.\u000a",
        "date" : "2023-03-06 05:04:00 +0100",
        "id" : "4072655fe5c549949828ba86783b1fcc377869c8",
        "msg" : "scripts/tests.sh: add testmobile launch w/ JOGAMP_MOBILE_CLASSPATH",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-linux-aarch64.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "a3901230167c062be05c5b3fe350025f11bfd663",
        "timestamp" : 1678075921000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Region: Add perf counter (w/ API); Utilize put[34][sif](..); Fix indices growBufferSize(); Add GLRegion.create(..) w/ initial vertices/indices count; Up default[VI]Count;\u000a\u000aFollowing heuristcs were found, hence we might want to calculate these for each font (TODO):\u000a\u000a    /**\u000a     * Heuristics with TestTextRendererNEWT00 text_1 + text_2 = 1334 chars\u000a     * - FreeSans     ~ vertices  64/char, indices 33/char\u000a     * - Ubuntu Light ~ vertices 100/char, indices 50/char\u000a     * - FreeSerif    ~ vertices 115/char, indices 61/char\u000a     *\u000a     * Now let's assume a minimum of 10 chars will be rendered\u000a     */\u000a",
        "date" : "2023-03-06 05:12:01 +0100",
        "id" : "a3901230167c062be05c5b3fe350025f11bfd663",
        "msg" : "Graph: Region: Add perf counter (w/ API); Utilize put[34][sif](..); Fix indices growBufferSize(); Add GLRegion.create(..) w/ initial vertices/indices count; Up default[VI]Count;",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "64231ca5afb36846a09dc9ecab0655d8bc339cf9",
        "timestamp" : 1678075966000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Font: Add perf counter (w/ API)\u000a",
        "date" : "2023-03-06 05:12:46 +0100",
        "id" : "64231ca5afb36846a09dc9ecab0655d8bc339cf9",
        "msg" : "Graph: Font: Add perf counter (w/ API)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
        ],
        "commitId" : "88852f2518a44ea0253e0a4db67d6973bbe97834",
        "timestamp" : 1678076030000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TestTextRendererNEWT00: Add '-perf' mode using new perf counter, testing on PC and raspi-aarch64 ..\u000a",
        "date" : "2023-03-06 05:13:50 +0100",
        "id" : "88852f2518a44ea0253e0a4db67d6973bbe97834",
        "msg" : "TestTextRendererNEWT00: Add '-perf' mode using new perf counter, testing on PC and raspi-aarch64 ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/egl/gbm/WindowDriver.java"
        ],
        "commitId" : "8c441b4fc5a63967cfded3ec58cc0736a0aadb0f",
        "timestamp" : 1678076127000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT DRM EGL/GBM: WindowDriver: Don't issue glFinish() here, as eglSwapBuffers(..) already performs this task (TODO: More Tests!)\u000a",
        "date" : "2023-03-06 05:15:27 +0100",
        "id" : "8c441b4fc5a63967cfded3ec58cc0736a0aadb0f",
        "msg" : "NEWT DRM EGL/GBM: WindowDriver: Don't issue glFinish() here, as eglSwapBuffers(..) already performs this task (TODO: More Tests!)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/egl/gbm/WindowDriver.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
        ],
        "commitId" : "2920be3622adf2b14cfad7d0261c11dc7e8151db",
        "timestamp" : 1678098105000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Use PerfCounterCtrl interface and Instant/Duration & Clock.getMonotonicTime() ...\u000a",
        "date" : "2023-03-06 11:21:45 +0100",
        "id" : "2920be3622adf2b14cfad7d0261c11dc7e8151db",
        "msg" : "Graph: Use PerfCounterCtrl interface and Instant/Duration & Clock.getMonotonicTime() ...",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteAWT.java"
        ],
        "commitId" : "95250b79766f62d9e5a0f1f46f98ea1f5983a77f",
        "timestamp" : 1678098150000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Adapt to GlueGen dropping Platform.currentTimeMicros(), use Platform.currentTimeMillis()\u000a",
        "date" : "2023-03-06 11:22:30 +0100",
        "id" : "95250b79766f62d9e5a0f1f46f98ea1f5983a77f",
        "msg" : "Adapt to GlueGen dropping Platform.currentTimeMicros(), use Platform.currentTimeMillis()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/awt/GLCanvas.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java"
        ],
        "commitId" : "e5e7514d649cd7dd28bbb8e04b72338dc09c2c83",
        "timestamp" : 1678110376000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/gbburkhardt",
          "fullName" : "gbburkhardt"
        },
        "authorEmail" : "gbburkhardt@gmail.com",
        "comment" : "Fix for AWT GLCcanvas DPI scaling.  Forum thread https://forum.jogamp.org/DPI-scaling-not-working-td4042206.html\u000a",
        "date" : "2023-03-06 08:46:16 -0500",
        "id" : "e5e7514d649cd7dd28bbb8e04b72338dc09c2c83",
        "msg" : "Fix for AWT GLCcanvas DPI scaling.  Forum thread https://forum.jogamp.org/DPI-scaling-not-working-td4042206.html",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/awt/GLCanvas.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
        ],
        "commitId" : "607eb99b9cad227dd7be6d149c6b6cf57d060c35",
        "timestamp" : 1678144502000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Perf Counter: Use GlueGen's Clock.currentNanos() to ease on performance-hit measuring performance.\u000a\u000aThis was mostly notable on a Raspberry-Pi 4 arm64, where perfromance degragated around 3x using high-freq counter.\u000a\u000aUsing our well determined Clock.currentNanos() removes this overhead,\u000aback to 'easy measuring' and having a well defined 'currentNanos()' since module start.\u000a\u000aTestTextRendererNEWT00 can enable Region and Font perf-counter w/ '-perf',\u000aw/o it only uses its own counter and hence reduce the high-freq burden (64% perf win on raspi4).\u000a\u000a+++\u000a\u000aBelow numbers show that Region.addOutlineShape() perhaps needs a little performance work\u000ato allow long text to be processed in 'real time' on embedded platform.\u000a\u000aHower, usually we cache the Region for long text and can have at least one liner\u000ato be renderer within 60fps fast, i.e. Region produced in ~26ms for a 81 char line\u000ainstead of ~130ms for 664 chars.\u000a\u000a+++\u000a\u000aRaspberry Pi 4b, OpenJDK17, Debian 11:\u000a\u000aUsing current medium sized text_1 w/ 664 chars, w/o '-perf'\u000aand after having passed 40 frames, we have following durations:\u000a- process the OutlineShape -> Region: 129ms (text)\u000a- Render the Region: 53ms\u000a\u000aStartup Times:\u000a- loading GlueGen - loading test      0 [ms]\u000a- loading GlueGen - start test    1,910 [ms]\u000a- loading test    - start test    1,910 [ms]\u000a- loading test    - gl            2,631 [ms]\u000a- loading test    - graph         2,636 [ms]\u000a- loading test    - txt           2,844 [ms]\u000a- loading test    - draw          3,062 [ms]\u000a\u000aPerf ..\u000a 1 /   1: Perf Launch:   Total: graph  5, txt 207, draw 218, txt+draw 425 [ms]\u000a 1 /   1: Perf Launch: PerLoop: graph 5,505,740, txt 207,530,736, draw 218,393,680, txt+draw 425,924,416 [ns]\u000a\u000a 20 /  20: Perf Frame20:   Total: graph 16, txt 376, draw 281, txt+draw 657 [ms]\u000a 20 /  20: Perf Frame20: PerLoop: graph 807,055, txt 18,820,824, draw 14,075,146, txt+draw 32,895,970 [ns]\u000a\u000a 20 /  40: Perf Frame40:   Total: graph  3, txt 129, draw 53, txt+draw 182 [ms]\u000a 20 /  40: Perf Frame40: PerLoop: graph 176,670, txt 6,451,330, draw 2,658,217, txt+draw 9,109,547 [ns]\u000a\u000a+++\u000a\u000aOn a modern desktop (~2y old), GNU/Linux Debian 11, AMD GPU on Mesa3D:\u000a\u000aUsing current medium sized text_1 w/ 664 chars, w/o '-perf'\u000aand after having passed 40 frames, we have following durations:\u000a- process the OutlineShape -> Region: 42ms (text)\u000a- Render the Region: 5ms\u000a\u000aStartup Times:\u000a- loading GlueGen - loading test      0 [ms]\u000a- loading GlueGen - start test      310 [ms]\u000a- loading test    - start test      309 [ms]\u000a- loading test    - gl              459 [ms]\u000a- loading test    - graph           460 [ms]\u000a- loading test    - txt             490 [ms]\u000a- loading test    - draw            506 [ms]\u000a\u000aPerf ..\u000a  1 /   1: Perf Launch:   Total: graph  1, txt 29, draw 15, txt+draw 45 [ms]\u000a  1 /   1: Perf Launch: PerLoop: graph 1,191,096, txt 29,868,436, draw 15,519,445, txt+draw 45,387,881 [ns]\u000a\u000a 20 /  20: Perf Frame20:   Total: graph 240, txt 68, draw 21, txt+draw 89 [ms]\u000a 20 /  20: Perf Frame20: PerLoop: graph 12,045,651, txt 3,415,402, draw 1,069,348, txt+draw 4,484,750 [ns]\u000a\u000a 20 /  40: Perf Frame40:   Total: graph 283, txt 42, draw  5, txt+draw 47 [ms]\u000a 20 /  40: Perf Frame40: PerLoop: graph 14,152,395, txt 2,116,114, draw 265,292, txt+draw 2,381,406 [ns]\u000a",
        "date" : "2023-03-07 00:15:02 +0100",
        "id" : "607eb99b9cad227dd7be6d149c6b6cf57d060c35",
        "msg" : "Graph Perf Counter: Use GlueGen's Clock.currentNanos() to ease on performance-hit measuring performance.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java",
          "src/test/com/jogamp/opengl/test/bugs/Bug735Inv1AppletAWT.java",
          "src/newt/classes/jogamp/newt/WindowImpl.java",
          "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock02AWT.java",
          "src/test/com/jogamp/opengl/test/bugs/Bug735Inv2AppletAWT.java",
          "src/jogl/classes/jogamp/opengl/FPSCounterImpl.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/ElektronenMultiplizierer.java",
          "src/newt/classes/jogamp/newt/ScreenImpl.java",
          "make/scripts/tests-win.bat",
          "src/test/com/jogamp/opengl/test/bugs/Bug735Inv0AppletAWT.java"
        ],
        "commitId" : "fb03e913c0c55a9a96e93a00ef6590b9bea9a62a",
        "timestamp" : 1678149202000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Clock: Use Clock.currentNanos() instead of System.nanoTime(); Enhancing FPSCounterImpl accuracy by maintaining timestamps in [ns]\u000a\u000aIdea: Perhaps we want to use [ns] for FPSCounter's method types by now?\u000a",
        "date" : "2023-03-07 01:33:22 +0100",
        "id" : "fb03e913c0c55a9a96e93a00ef6590b9bea9a62a",
        "msg" : "Clock: Use Clock.currentNanos() instead of System.nanoTime(); Enhancing FPSCounterImpl accuracy by maintaining timestamps in [ns]",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/bugs/Bug735Inv1AppletAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/FPSCounterImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/bugs/Bug735Inv2AppletAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock02AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/ElektronenMultiplizierer.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-win.bat"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/ScreenImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/bugs/Bug735Inv0AppletAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests-x64.sh",
          "doc/curve/tests/perf01/pc_8.log",
          "doc/curve/tests/perf01/rpi4_8.log",
          "doc/curve/tests/perf01/pc_7.log",
          "make/scripts/tests-linux-aarch64.sh",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/util/MiscUtils.java",
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "doc/curve/tests/perf01/rpi4_7.log",
          "make/scripts/tests-win.bat",
          "make/scripts/tests.sh"
        ],
        "commitId" : "14a47f60d2dc7c4f6b2d910fcc8489726443db22",
        "timestamp" : 1678158310000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Perf Test: {Test->Perf}TextRendererNEWT00: Drop junit, ... (WIP)\u000a\u000aAlso tested w/ alternative JVM (Azul) .. works well, no big difference (but slower startup time, but might be OpenJDK 17->19 related as well).\u000a\u000aPrinting usual system infos to make the test record useful.\u000a\u000aCmdline is: com.jogamp.opengl.test.junit.graph.PerfTextRendererNEWT00 -es2 -Nperf -long_text -loop 40\u000a",
        "date" : "2023-03-07 04:05:10 +0100",
        "id" : "14a47f60d2dc7c4f6b2d910fcc8489726443db22",
        "msg" : "Graph Perf Test: {Test->Perf}TextRendererNEWT00: Drop junit, ... (WIP)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-win.bat"
          },
          {
            "editType" : "add",
            "file" : "doc/curve/tests/perf01/pc_8.log"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT00.java"
          },
          {
            "editType" : "add",
            "file" : "doc/curve/tests/perf01/rpi4_8.log"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/MiscUtils.java"
          },
          {
            "editType" : "add",
            "file" : "doc/curve/tests/perf01/pc_7.log"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-linux-aarch64.sh"
          },
          {
            "editType" : "add",
            "file" : "doc/curve/tests/perf01/rpi4_7.log"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RoundButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UIShapeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
        ],
        "commitId" : "8fbb5bb2f4312b52c24375db3055198a18d66319",
        "timestamp" : 1678163107000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Bring back passing through temp AffineTransform instances (optional, but recommended)\u000a",
        "date" : "2023-03-07 05:25:07 +0100",
        "id" : "8fbb5bb2f4312b52c24375db3055198a18d66319",
        "msg" : "Graph: Bring back passing through temp AffineTransform instances (optional, but recommended)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RoundButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/glsl/GLSLMiscHelper.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsObjectES1.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java",
          "src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandler.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java",
          "src/jogl/classes/com/jogamp/opengl/GLArrayData.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java",
          "src/demos/com/jogamp/opengl/demos/es2/GearsObjectES2.java"
        ],
        "commitId" : "90a95e6f689b479f3c3ae3caf4e30447030c7682",
        "timestamp" : 1678208168000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayData: Promote sealed() from GLArrayDataEditable, to correctly being used for getElemCount() instead of 0==position, ... (API change)\u000a\u000aAPI Change\u000a- sealed() moved up from GLArrayDataEditable -> GLArrayData\u000a- GLArrayDataWrapper is sealed by default\u000a- getSizeInBytes() -> getByteCount()\u000a- Semantics of getElemCount() and getByteCount()\u000a  - Correctly use sealed() to switch from position to limit - instead of 0==position\u000a\u000aAligned method names:\u000a- getElemCount()\u000a- elemPosition()\u000a- remainingElems()\u000a- getElemCapacity()\u000a\u000ato corresponding byte counts:\u000a- getByteCount()\u000a- bytePosition()\u000a- remainingBytes()\u000a- getByteCapacity()\u000a",
        "date" : "2023-03-07 17:56:08 +0100",
        "id" : "90a95e6f689b479f3c3ae3caf4e30447030c7682",
        "msg" : "GLArrayData: Promote sealed() from GLArrayDataEditable, to correctly being used for getElemCount() instead of 0==position, ... (API change)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/glsl/GLSLArrayHandler.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glsl/GLSLMiscHelper.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/GearsObjectES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es1/GearsObjectES1.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLArrayData.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "657df3d32a291a74e7eb31c8ccef0fde151afcc1",
        "timestamp" : 1678208715000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Perf: Region*: Rely on growBuffer(..) per addOutlineShape() and known buffer data-type to directly put[34][sif](..) skipping GLArrayDataClient/Buffers buffer-growth and validations\u000a",
        "date" : "2023-03-07 18:05:15 +0100",
        "id" : "657df3d32a291a74e7eb31c8ccef0fde151afcc1",
        "msg" : "Graph Perf: Region*: Rely on growBuffer(..) per addOutlineShape() and known buffer data-type to directly put[34][sif](..) skipping GLArrayDataClient/Buffers buffer-growth and validations",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "01aac34c2c08d01d728c7906cb1cc132e8e7fab1",
        "timestamp" : 1678209953000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Perf: Region: split addOutlineShape() -> addOutlineShape0() (fast) and addOutlineShape1() (slow perf+debug), rename growBufferSize() -> growBuffer()\u000a",
        "date" : "2023-03-07 18:25:53 +0100",
        "id" : "01aac34c2c08d01d728c7906cb1cc132e8e7fab1",
        "msg" : "Graph Perf: Region: split addOutlineShape() -> addOutlineShape0() (fast) and addOutlineShape1() (slow perf+debug), rename growBufferSize() -> growBuffer()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "b266c94103dae5ad7a117ab7e0fb6b401ca3c85b",
        "timestamp" : 1678210134000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Perf: Region*: Add setBufferCapacity(..) and cut-off growBuffer() early if not needed (track capacity); Align all VBORegion* buffer init/set/grow impl.\u000a",
        "date" : "2023-03-07 18:28:54 +0100",
        "id" : "b266c94103dae5ad7a117ab7e0fb6b401ca3c85b",
        "msg" : "Graph Perf: Region*: Add setBufferCapacity(..) and cut-off growBuffer() early if not needed (track capacity); Align all VBORegion* buffer init/set/grow impl.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
        ],
        "commitId" : "1231a2fd45b12ae936d803d0266fba941e8f46b6",
        "timestamp" : 1678210181000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Perf: OutlineShape: Uncomment all debug code to keep it smaller\u000a",
        "date" : "2023-03-07 18:29:41 +0100",
        "id" : "1231a2fd45b12ae936d803d0266fba941e8f46b6",
        "msg" : "Graph Perf: OutlineShape: Uncomment all debug code to keep it smaller",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "5e79fea8981a13d155e0b958aa3e20a546c533bb",
        "timestamp" : 1678210295000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Perf: Font*: Remove PerfCounterCtrl since the Region counter is more than enough\u000a",
        "date" : "2023-03-07 18:31:35 +0100",
        "id" : "5e79fea8981a13d155e0b958aa3e20a546c533bb",
        "msg" : "Graph Perf: Font*: Remove PerfCounterCtrl since the Region counter is more than enough",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
        ],
        "commitId" : "3bad09f6b7c7f9c93a6cf385abb51a6563e8aec0",
        "timestamp" : 1678212305000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Perf: Add Region.countOutlineShape(), Font.processString(Visitor2,..), TextRegionUtil.countStringRegion() allowing to use Region.setBufferCapacity()\u000a",
        "date" : "2023-03-07 19:05:05 +0100",
        "id" : "3bad09f6b7c7f9c93a6cf385abb51a6563e8aec0",
        "msg" : "Graph Perf: Add Region.countOutlineShape(), Font.processString(Visitor2,..), TextRegionUtil.countStringRegion() allowing to use Region.setBufferCapacity()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/Region.java"
        ],
        "commitId" : "a388c51f7730086f665fb64f02ee0bd51e79f8ff",
        "timestamp" : 1678212363000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Region: Enhance API doc, fix typo .. (brace close left open during selected commits)\u000a",
        "date" : "2023-03-07 19:06:03 +0100",
        "id" : "a388c51f7730086f665fb64f02ee0bd51e79f8ff",
        "msg" : "Graph: Region: Enhance API doc, fix typo .. (brace close left open during selected commits)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests.sh"
        ],
        "commitId" : "a615ae554ad00581ff722f89f151e7551f9473a4",
        "timestamp" : 1678212449000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "scripts/tests.sh: Refine uncommented section about 'Flight Recorder' setup\u000a",
        "date" : "2023-03-07 19:07:29 +0100",
        "id" : "a615ae554ad00581ff722f89f151e7551f9473a4",
        "msg" : "scripts/tests.sh: Refine uncommented section about 'Flight Recorder' setup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/GLArrayData.java"
        ],
        "commitId" : "8476bc8420eafaf741f37ddf3c2f2d4660b31109",
        "timestamp" : 1678213411000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayData: Fix API doc typo in sealed()\u000a",
        "date" : "2023-03-07 19:23:31 +0100",
        "id" : "8476bc8420eafaf741f37ddf3c2f2d4660b31109",
        "msg" : "GLArrayData: Fix API doc typo in sealed()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLArrayData.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/curve/tests/perf02/rpi4_10.log",
          "doc/curve/tests/perf00/rpi4_old.log",
          "doc/curve/tests/perf02/pc_10.log"
        ],
        "commitId" : "9a14dd8d40be4f4d88ba8424e908129ff628e259",
        "timestamp" : 1678215851000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Perf Update: 1296 chars to Region per Frame: RaspiPi4 10.25ms (Region) + 3.4ms (draw), PC 2.97ms (Region) + 0.36ms (draw) (GOOD)\u000a\u000aPerformance update from commit 607eb99b9cad227dd7be6d149c6b6cf57d060c35\u000a(Note: There I mentioned the total duration for 20 frames, not per frame)\u000a\u000aA Performance @ 2.4.0 with 119,787 vertices:\u000a- doc/curve/tests/perf00/rpi4_old.log\u000a- RaspiPi4 57.20ms (Region) + 23.4ms (draw)\u000a\u000aB Performance @ commit 607eb99b9cad227dd7be6d149c6b6cf57d060c35 with 81,092 vertices:\u000a- doc/curve/tests/perf01/rpi4_7.log + doc/curve/tests/perf01/pc_7.log\u000a- RaspiPi4 11.76ms (Region) + 3.5ms (draw), PC 3.4ms (Region) + 0.35ms (draw)\u000a\u000aC Now with 81,092 vertices (and a slight bigger buffer due to 'count' pre-size):\u000a- doc/curve/tests/perf02/rpi4_10.log + doc/curve/tests/perf02/pc_10.log\u000a- RaspiPi4 10.25ms (Region) + 3.4ms (draw), PC 2.97ms (Region) + 0.36ms (draw)\u000a\u000aHence we enhanced performance from A -> C reasonably.\u000a\u000aMost important is that neither 'Flight Recorder' not 'Visual VM' could identify\u000aRegion.addOutlineShape()'s triangulation nor vertices compounding to be\u000asignificant throttle.\u000aAfter further triangulation bugfixes (delauny tesselation),\u000awe might analyze performance of this method further.\u000a\u000aEnhancements of VBO GLArrayData data management\u000awhere Region.addOutlineShape() finally we pushes the data into the VBO\u000ahelped to remove certain overhead.\u000a\u000aMostly the buffer-size enhancements including API-hooks to count the required vertices & indices\u000ato issue Region.setBufferCapacity() helped to ease the GC.\u000a",
        "date" : "2023-03-07 20:04:11 +0100",
        "id" : "9a14dd8d40be4f4d88ba8424e908129ff628e259",
        "msg" : "Graph Perf Update: 1296 chars to Region per Frame: RaspiPi4 10.25ms (Region) + 3.4ms (draw), PC 2.97ms (Region) + 0.36ms (draw) (GOOD)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "doc/curve/tests/perf02/rpi4_10.log"
          },
          {
            "editType" : "add",
            "file" : "doc/curve/tests/perf00/rpi4_old.log"
          },
          {
            "editType" : "add",
            "file" : "doc/curve/tests/perf02/pc_10.log"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/curve/tests/perf02/rpi4_10.log",
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "doc/curve/tests/perf02/pc_10.log"
        ],
        "commitId" : "ad1511295afc0256fa02d6d434db4b119f96f056",
        "timestamp" : 1678222518000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Perf: PerfTextRendererNEWT00 Disable VSync per default (duh!)\u000a\u000aPC 'regioned' perf enhanced a little bit, for some reason the RPI performance went down a tiny bit (fluctuations?).\u000a",
        "date" : "2023-03-07 21:55:18 +0100",
        "id" : "ad1511295afc0256fa02d6d434db4b119f96f056",
        "msg" : "Graph Perf: PerfTextRendererNEWT00 Disable VSync per default (duh!)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "doc/curve/tests/perf02/pc_10.log"
          },
          {
            "editType" : "edit",
            "file" : "doc/curve/tests/perf02/rpi4_10.log"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
        ],
        "commitId" : "9e3070acf9c70a8b333435889ae77e581cd65b32",
        "timestamp" : 1678227043000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Demos: Add 'JOGL line' and tweak PerfTextRendererNEWT00 a little to fit on small displays\u000a",
        "date" : "2023-03-07 23:10:43 +0100",
        "id" : "9e3070acf9c70a8b333435889ae77e581cd65b32",
        "msg" : "Graph Demos: Add 'JOGL line' and tweak PerfTextRendererNEWT00 a little to fit on small displays",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
        ],
        "commitId" : "058ebd3072fd86550e147147bce784f14310abae",
        "timestamp" : 1678229132000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "PerfTextRendererNEWT00: Scale font to match screen witdh after producing the region, i.e. have a proper resolution independent layout.\u000a",
        "date" : "2023-03-07 23:45:32 +0100",
        "id" : "058ebd3072fd86550e147147bce784f14310abae",
        "msg" : "PerfTextRendererNEWT00: Scale font to match screen witdh after producing the region, i.e. have a proper resolution independent layout.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/nativewindow/classes/com/jogamp/nativewindow/Capabilities.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/caps/TestIdentOfCapabilitiesNEWT.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/DefaultGraphicsConfiguration.java",
          "src/jogl/classes/jogamp/opengl/x11/glx/X11GLCapabilities.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/VisualIDHolder.java",
          "make/scripts/tests.sh",
          "src/nativewindow/classes/com/jogamp/nativewindow/CapabilitiesImmutable.java",
          "src/nativewindow/classes/jogamp/nativewindow/x11/X11Capabilities.java"
        ],
        "commitId" : "b7ad260cd68b0cbbe1e61b95ed8c90aa97487186",
        "timestamp" : 1678249534000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "[GL]Capabilities*: Enhance identity-check in root Capabilities.equals(..), comparing the VisualID first; Added VisualIDHolder.isVisualIDSupported(VIDType)\u000a\u000aWe cannot accept 2 capabilities with different VisualID but same attributes otherwise accepted as equal,\u000asince the underlying windowing system uniquely identifies them via their VisualID.\u000a\u000aSuch comparison is used in certail GLAutoDrawable implementations like AWT GLCanvas\u000ato determine a configuration change etc.\u000a",
        "date" : "2023-03-08 05:25:34 +0100",
        "id" : "b7ad260cd68b0cbbe1e61b95ed8c90aa97487186",
        "msg" : "[GL]Capabilities*: Enhance identity-check in root Capabilities.equals(..), comparing the VisualID first; Added VisualIDHolder.isVisualIDSupported(VIDType)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/VisualIDHolder.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/Capabilities.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/x11/glx/X11GLCapabilities.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/caps/TestIdentOfCapabilitiesNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/CapabilitiesImmutable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/DefaultGraphicsConfiguration.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/x11/X11Capabilities.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java",
          "src/jogl/classes/com/jogamp/opengl/util/caps/NonFSAAGLCapabilitiesChooser.java",
          "make/build-jogl.xml"
        ],
        "commitId" : "adfe4abec47313d2c533096f6c3e9a94d2fc4571",
        "timestamp" : 1678250129000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph GPUUISceneNewtDemo: Filter out all FSAA (multisample) caps if undesired (Graph VBAA + MSAA); Add NonFSAAGLCapabilitiesChooser\u000a\u000aNotable: On RaspiPi4b w/ Mesa3D's Broadcom/VC driver,\u000athe chosen capabilities is a multisamnple one even though not requested.\u000a\u000aThis causes\u000a- extra performance overhead\u000a- doubled AA: 1st our VBAA, then the FSAA (multisample) -> loss of sharpness\u000a\u000aSimply dropping the undersired FSAA helps and ups performance\u000aon the Raspi board (22 -> 35 fps).\u000a",
        "date" : "2023-03-08 05:35:29 +0100",
        "id" : "adfe4abec47313d2c533096f6c3e9a94d2fc4571",
        "msg" : "Graph GPUUISceneNewtDemo: Filter out all FSAA (multisample) caps if undesired (Graph VBAA + MSAA); Add NonFSAAGLCapabilitiesChooser",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/caps/NonFSAAGLCapabilitiesChooser.java"
          },
          {
            "editType" : "edit",
            "file" : "make/build-jogl.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java"
        ],
        "commitId" : "d76fc6f518606def8ddc52e0cd4d8a29bd2536fc",
        "timestamp" : 1678250396000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Font: Add equals() + hash() API doc; GraphUI's Label*.setText(): Only modify values if text and/or font differs, skipping markShapeDirty() saves performance.\u000a",
        "date" : "2023-03-08 05:39:56 +0100",
        "id" : "d76fc6f518606def8ddc52e0cd4d8a29bd2536fc",
        "msg" : "Graph: Font: Add equals() + hash() API doc; GraphUI's Label*.setText(): Only modify values if text and/or font differs, skipping markShapeDirty() saves performance.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/util/NEWTGLContext.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java",
          "src/jogl/classes/com/jogamp/opengl/util/caps/NonFSAAGLCapabilitiesChooser.java"
        ],
        "commitId" : "6c7091317c5531691bcae7c18f8e07d5fcbece9f",
        "timestamp" : 1678252335000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Apply NonFSAAGLCapabilitiesChooser in NEWTGLContext (tests only). TODO: Consider applying it in default chooser?\u000a",
        "date" : "2023-03-08 06:12:15 +0100",
        "id" : "6c7091317c5531691bcae7c18f8e07d5fcbece9f",
        "msg" : "Apply NonFSAAGLCapabilitiesChooser in NEWTGLContext (tests only). TODO: Consider applying it in default chooser?",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/NEWTGLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/caps/NonFSAAGLCapabilitiesChooser.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests-rpi4b-aarch64.sh",
          "make/scripts/tests-linux-aarch64.sh"
        ],
        "commitId" : "bbaccf87a4f3ab10095017c1d375ed624979ec7b",
        "timestamp" : 1678253164000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Add raspi4b test script w/ set screen-size\u000a",
        "date" : "2023-03-08 06:26:04 +0100",
        "id" : "bbaccf87a4f3ab10095017c1d375ed624979ec7b",
        "msg" : "Add raspi4b test script w/ set screen-size",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-linux-aarch64.sh"
          },
          {
            "editType" : "add",
            "file" : "make/scripts/tests-rpi4b-aarch64.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "10e74469da647d377967477d30a67ca5e36ed148",
        "timestamp" : 1678256116000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TestTextRendererNEWT20: Cover Graph-VBAA, Graph-MSAA, FSAA, NONE .. (have proper filenames for screenshots)\u000a",
        "date" : "2023-03-08 07:15:16 +0100",
        "id" : "10e74469da647d377967477d30a67ca5e36ed148",
        "msg" : "TestTextRendererNEWT20: Cover Graph-VBAA, Graph-MSAA, FSAA, NONE .. (have proper filenames for screenshots)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/util/NEWTGLContext.java",
          "src/jogl/classes/com/jogamp/opengl/util/caps/NonFSAAGLCapsChooser.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java",
          "src/jogl/classes/com/jogamp/opengl/util/caps/NonFSAAGLCapabilitiesChooser.java"
        ],
        "commitId" : "cda90eeef4607511dd1f6432f770dd4fefe7dd1c",
        "timestamp" : 1678256544000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Rename NonFSAAGLCapabilitiesChooser -> NonFSAAGLCapsChooser (too long)\u000a",
        "date" : "2023-03-08 07:22:24 +0100",
        "id" : "cda90eeef4607511dd1f6432f770dd4fefe7dd1c",
        "msg" : "Rename NonFSAAGLCapabilitiesChooser -> NonFSAAGLCapsChooser (too long)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/caps/NonFSAAGLCapsChooser.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/caps/NonFSAAGLCapabilitiesChooser.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/NEWTGLContext.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java",
          "make/scripts/tests-rpi4b-aarch64.sh",
          "src/newt/classes/com/jogamp/newt/Window.java",
          "make/scripts/tests.sh",
          "make/scripts/tests-linux-aarch64.sh",
          "src/newt/classes/com/jogamp/newt/MonitorDevice.java"
        ],
        "commitId" : "4cc2787766d1d692c668d0cabd9f4619de396f72",
        "timestamp" : 1678336264000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Misc: Add MonitorDevice.perMMToPerInch(..); Drop unused RegionRenderer.init(..) renderModes argument\u000a",
        "date" : "2023-03-09 05:31:04 +0100",
        "id" : "4cc2787766d1d692c668d0cabd9f4619de396f72",
        "msg" : "Misc: Add MonitorDevice.perMMToPerInch(..); Drop unused RegionRenderer.init(..) renderModes argument",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/Window.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-linux-aarch64.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/MonitorDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-rpi4b-aarch64.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java"
        ],
        "commitId" : "dbaffae26675b70dc8a741943f116f2d17488eda",
        "timestamp" : 1678336338000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Adopt to RegionRenderer.init(..) dropped unused renderModes argument\u000a",
        "date" : "2023-03-09 05:32:18 +0100",
        "id" : "dbaffae26675b70dc8a741943f116f2d17488eda",
        "msg" : "Adopt to RegionRenderer.init(..) dropped unused renderModes argument",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtCanvasAWTDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneTextAnim01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UIShapeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java"
        ],
        "commitId" : "52e4bc6cd4ace3fdf7ccaf790566500670709a44",
        "timestamp" : 1678337331000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Revision: Simplify resource handling via SceneUIController, add general functionality in UIShape (drag, ..)\u000a",
        "date" : "2023-03-09 05:48:51 +0100",
        "id" : "52e4bc6cd4ace3fdf7ccaf790566500670709a44",
        "msg" : "GraphUI: Revision: Simplify resource handling via SceneUIController, add general functionality in UIShape (drag, ..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneTextAnim01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtCanvasAWTDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/UIShapeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivity.java",
          ".classpath",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TextureSeqButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/MediaPlayerButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/button-pressed-145x53.png",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/button-released-145x53.png",
          "make/scripts/tests.sh",
          "make/build-jogl.xml",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/CrossHair.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java",
          "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph04FreeSans_0.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java",
          "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RoundButton.java",
          "make/build-graphui.xml",
          "src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Rectangle.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "make/build-common.xml",
          "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph02UbuntuLight_ae.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneNewtCanvasAWTDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtCanvasAWTDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/button-pressed-145x53.png",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/GLEventListenerButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/ImageSeqButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph04FreeSans_0.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/UIShapeDemo01.java",
          "make/build.xml",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneTextAnim01.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/ImageButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneTextAnim01.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/graphui/classes/jogamp/graph/ui/shapes/Label0.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/button-released-145x53.png",
          "make/graphuiversion",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java",
          "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph01UbuntuLight_o.java"
        ],
        "commitId" : "3131eaaf5272ca3f0011e334eb08c6ba68702a6c",
        "timestamp" : 1678414284000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Promote API to JOGL via graphui.jar or within any jogl-all*.jar (WIP)\u000a\u000aRoot package is 'com.jogamp.graph.ui.gl', i.e. a sub-package of Graph denoting UI and OpenGL usage.\u000a\u000aImplementation will stay small, hence relative files size costs are minimal.\u000a\u000aSource and build is in parallel to nativewindow, jogl and newt\u000aand has a dependency to all of them.\u000aThe NEWT dependencies are merely the input listener ..\u000a",
        "date" : "2023-03-10 03:11:24 +0100",
        "id" : "3131eaaf5272ca3f0011e334eb08c6ba68702a6c",
        "msg" : "GraphUI: Promote API to JOGL via graphui.jar or within any jogl-all*.jar (WIP)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/ImageButton.java"
          },
          {
            "editType" : "add",
            "file" : "make/graphuiversion"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/CrossHair.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneNewtCanvasAWTDemo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/button-released-145x53.png"
          },
          {
            "editType" : "edit",
            "file" : "make/build-jogl.xml"
          },
          {
            "editType" : "add",
            "file" : "make/build-graphui.xml"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneTextAnim01.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "edit",
            "file" : ".classpath"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/UITypeDemo01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/MediaPlayerButton.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Rectangle.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "make/build-common.xml"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label0.java"
          },
          {
            "editType" : "edit",
            "file" : "make/build.xml"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/TextureSeqButton.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/button-pressed-145x53.png"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/jogamp/graph/ui/shapes/Label0.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/UIShapeDemo01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtCanvasAWTDemo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/ImageSeqButton.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RoundButton.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneTextAnim01.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneNewtDemo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/LabelButton.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/GLEventListenerButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivity.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/button-released-145x53.png"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/UIShapeDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/button-pressed-145x53.png"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/package.html"
        ],
        "commitId" : "32f245d0ad381828c2c731840e2d978e8cbc3df3",
        "timestamp" : 1678414808000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Add package.html (dummy)\u000a",
        "date" : "2023-03-10 03:20:08 +0100",
        "id" : "32f245d0ad381828c2c731840e2d978e8cbc3df3",
        "msg" : "GraphUI: Add package.html (dummy)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/package.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/UIShapeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/MSAATool.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivity.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/button-released-145x53.png",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI2pActivity.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieCube.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansBold.ttf",
          "src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher0a.java",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivity0.java",
          "src/demos/com/jogamp/opengl/demos/android/NEWTRedSquareES2Activity.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneGLListener0A.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java",
          "src/demos/com/jogamp/opengl/demos/graph/FontSetDemos.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2TransActivity.java",
          "make/joglversion-demo-android",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI2pActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java",
          "src/demos/com/jogamp/opengl/demos/util/QuitAdapter.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES1ActivityLauncher.java",
          "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceCubeES2.java",
          "src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher0b.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/button-pressed-145x53.png",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivity1.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher01a.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivityLauncher01a.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansOblique.ttf",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES1Activity.java",
          "make/resources/android/res-demo/values/strings.xml",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph04FreeSans_0.java",
          "src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher1b.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivityLauncher0b.java",
          "make/resources/android/res-demo/layout/main.xml",
          "make/resources/android/res-test/drawable-xhdpi/icon.png",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java",
          "src/test/com/jogamp/opengl/test/android/NEWTElektronActivity.java",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI1pActivity.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivityLauncher1b.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivityLauncher01b.java",
          "src/test/com/jogamp/opengl/test/junit/graph/MSAATool.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0a.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2RGB565ActivityLauncher.java",
          "make/build-test.xml",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/stereo/StereoDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "make/joglversion-test-android",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/UITypeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivityLauncher00b.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES2ActivityLauncher.java",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2TransActivity.java",
          "make/resources/android/res-test/drawable-mdpi/icon.png",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMono.ttf",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity0.java",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher00b.java",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher02.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/android/MovieCubeActivity0b.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansBoldOblique.ttf",
          "src/test/com/jogamp/opengl/test/android/MovieCubeActivity0a.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneNewtDemo.java",
          "src/demos/com/jogamp/opengl/demos/util/MiscUtils.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivityLauncher02.java",
          "make/resources/android/res-demo/drawable-xhdpi/icon.png",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2RGB565ActivityLauncher.java",
          "src/demos/com/jogamp/opengl/demos/av/StereoDemo01.java",
          "src/demos/com/jogamp/opengl/demos/MiscUtils.java",
          "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES1Activity.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java",
          "src/demos/com/jogamp/opengl/demos/android/LauncherUtil.java",
          "src/demos/com/jogamp/opengl/demos/es2/GearsES2.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java",
          "etc/profile.jogl",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ECTActivityLauncher.java",
          "src/demos/com/jogamp/opengl/demos/Launcher0.java",
          "src/test/com/jogamp/opengl/test/android/LauncherUtil.java",
          "make/resources/android/AndroidManifest-demo.xml",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity1.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneNewtDemo.java",
          "make/build-common.xml",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "make/resources/android/res-test/values/strings.xml",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneNewtCanvasAWTDemo.java",
          "make/resources/android/res-test/drawable-hdpi/icon.png",
          "make/resources/android/res-test/drawable-ldpi/icon.png",
          "src/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifItalic.ttf",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher00c.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener10.java",
          "src/demos/com/jogamp/opengl/demos/es2/GearsObjectES2.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMonoOblique.ttf",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivityLauncher00c.java",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2ActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/CrossFadePlayer.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifBoldItalic.ttf",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSans.ttf",
          "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0b.java",
          "src/demos/com/jogamp/opengl/demos/graph/MSAATool.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifBold.ttf",
          "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivityLauncher1a.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "make/resources/android/AndroidManifest-test.xml",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2TransActivityLauncher.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java",
          "src/demos/com/jogamp/opengl/demos/android/NEWTRedSquareES2ActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener00.java",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2ECTActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneTextAnim01.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSBSStereo.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "make/resources/android/res-demo/drawable-ldpi/icon.png",
          "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI1pActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/NEWTElektronActivityLauncher.java",
          "make/resources/android/res-demo/drawable-mdpi/icon.png",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/button-pressed-145x53.png",
          "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES2Activity.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerif.ttf",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo.java",
          "make/resources/android/res-test/layout/main.xml",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2TransActivityLauncher.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMonoBold.ttf",
          "src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher1a.java",
          "make/resources/android/res-demo/drawable-hdpi/icon.png",
          "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES1ActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher01b.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivityLauncher0a.java",
          "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/button-released-145x53.png",
          "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2Activity.java",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMonoBoldOblique.ttf"
        ],
        "commitId" : "d27baa9f6980d6e2b570999607b003a11393ea95",
        "timestamp" : 1678514936000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Cleanup Demos: Move demos to jogl-demos.jar (here Graph + AudioVideo), ready for easy deployment and test w/ junit/ant\u000a",
        "date" : "2023-03-11 07:08:56 +0100",
        "id" : "d27baa9f6980d6e2b570999607b003a11393ea95",
        "msg" : "Cleanup Demos: Move demos to jogl-demos.jar (here Graph + AudioVideo), ready for easy deployment and test w/ junit/ant",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivityLauncher0b.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneNewtDemo.java"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/android/res-test/layout/main.xml"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/button-pressed-145x53.png"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneNewtCanvasAWTDemo.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTRedSquareES2Activity.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneNewtDemo.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/MSAATool.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextGLListener0A.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/av/StereoDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/util/MiscUtils.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/util/QuitAdapter.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES1ActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "make/resources/android/res-demo/drawable-mdpi/icon.png"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivityLauncher01a.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI2pActivity.java"
          },
          {
            "editType" : "add",
            "file" : "make/resources/android/res-demo/layout/main.xml"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivityLauncher02.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher00c.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher02.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivityLauncher0a.java"
          },
          {
            "editType" : "edit",
            "file" : "make/build-common.xml"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/CrossFadePlayer.java"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/android/AndroidManifest-test.xml"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifBold.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher1b.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES1ActivityLauncher.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/button-released-145x53.png"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI1pActivity.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener10.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieCube.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieCubeActivity0a.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivity0.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivityLauncher00c.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextGLListener0A.java"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/android/res-test/drawable-xhdpi/icon.png"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2TransActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMonoBold.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/MiscUtils.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher1a.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivityLauncher1b.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSimple.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceCubeES2.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES1Activity.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/button-pressed-145x53.png"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansBoldOblique.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2RGB565ActivityLauncher.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0b.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2TransActivity.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/android/res-test/drawable-mdpi/icon.png"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivityLauncher1a.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2TransActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivityLauncher00b.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES1Activity.java"
          },
          {
            "editType" : "delete",
            "file" : "make/joglversion-test-android"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES2Activity.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMono.ttf"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "add",
            "file" : "make/joglversion-demo-android"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansOblique.ttf"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/android/res-test/drawable-hdpi/icon.png"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/stereo/StereoDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2ECTActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSans.ttf"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMonoOblique.ttf"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2ActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneTextAnim01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/MSAATool.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifItalic.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/LauncherUtil.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener00.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTRedSquareES2ActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java"
          },
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMonoBoldOblique.ttf"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/LauncherUtil.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES2ActivityLauncher.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity0.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher01b.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/GearsObjectES2.java"
          },
          {
            "editType" : "edit",
            "file" : "etc/profile.jogl"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/android/res-test/drawable-ldpi/icon.png"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2Activity.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/FontSetDemos.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivity1.java"
          },
          {
            "editType" : "add",
            "file" : "make/resources/android/res-demo/drawable-xhdpi/icon.png"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/android/res-test/values/strings.xml"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher0a.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieCube.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerif.ttf"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivity.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGearsES2RGB565ActivityLauncher.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI2pActivityLauncher.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieCubeActivity0b.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher01a.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher0b.java"
          },
          {
            "editType" : "add",
            "file" : "make/resources/android/res-demo/drawable-hdpi/icon.png"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionNewtDemo.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTElektronActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansBold.ttf"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0a.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity1.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/MSAATool.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2TransActivity.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/button-released-145x53.png"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifBoldItalic.ttf"
          },
          {
            "editType" : "add",
            "file" : "make/resources/android/res-demo/drawable-ldpi/icon.png"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/av/MovieSBSStereo.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/Launcher0.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher00b.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI1pActivityLauncher.java"
          },
          {
            "editType" : "add",
            "file" : "make/resources/android/res-demo/values/strings.xml"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ECTActivityLauncher.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTElektronActivity.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivityLauncher01b.java"
          },
          {
            "editType" : "add",
            "file" : "make/resources/android/AndroidManifest-demo.xml"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/ui/demos/UITypeDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "63372e2517bbd94a340808b0cf15fb556eae18b8",
        "timestamp" : 1678515755000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Shape: Add build-in resize w/ 1-pointer-click and drag in 1/4th bottom-left or bottom-right corner. Rename translate -> position.\u000a",
        "date" : "2023-03-11 07:22:35 +0100",
        "id" : "63372e2517bbd94a340808b0cf15fb556eae18b8",
        "msg" : "GraphUI: Shape: Add build-in resize w/ 1-pointer-click and drag in 1/4th bottom-left or bottom-right corner. Rename translate -> position.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansOblique.ttf",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifBoldItalic.ttf",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansBold.ttf",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansBoldOblique.ttf",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSans.ttf",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifBold.ttf",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifItalic.ttf",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMonoBoldOblique.ttf",
          "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMonoOblique.ttf"
        ],
        "commitId" : "5dd295c4947f0abc8463b0e4c1ef52bb99402563",
        "timestamp" : 1678516350000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Demos: Remove unused fonts\u000a",
        "date" : "2023-03-11 07:32:30 +0100",
        "id" : "5dd295c4947f0abc8463b0e4c1ef52bb99402563",
        "msg" : "Demos: Remove unused fonts",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansOblique.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSans.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansBold.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifBold.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMonoOblique.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeMonoBoldOblique.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSansBoldOblique.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifBoldItalic.ttf"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/fonts/freefont/FreeSerifItalic.ttf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/FontSetDemos.java"
        ],
        "commitId" : "4b6db72f86eef63196da0c13cd205314d5a109ee",
        "timestamp" : 1678516546000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Demos: FontSetDemos: Remove remove fonts\u000a",
        "date" : "2023-03-11 07:35:46 +0100",
        "id" : "4b6db72f86eef63196da0c13cd205314d5a109ee",
        "msg" : "Demos: FontSetDemos: Remove remove fonts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/FontSetDemos.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/resources/assets/newt/data/jogamp-32x32.png",
          "src/newt/classes/com/jogamp/newt/Window.java",
          "src/newt/classes/com/jogamp/newt/NewtFactory.java",
          "make/resources/assets/newt/data/pointer-grey-alpha-16x24.png",
          "make/resources/assets/newt/data/jogamp-16x16.png",
          "src/newt/classes/jogamp/newt/DisplayImpl.java",
          "make/build-jogl.xml",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2SimpleNEWT.java",
          "src/newt/classes/jogamp/newt/assets/pointer-grey-alpha-16x24.png",
          "src/newt/classes/com/jogamp/newt/opengl/util/NEWTDemoListener.java",
          "src/newt/classes/jogamp/newt/driver/bcm/vc/iv/DisplayDriver.java",
          "src/newt/classes/jogamp/newt/assets/jogamp-16x16.png",
          "src/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java",
          "make/resources/assets/jogl/util/data/av/test-ntsc01-28x16.png",
          "src/newt/classes/jogamp/newt/assets/cross-grey-alpha-16x16.png",
          "make/resources/assets/newt/data/cross-grey-alpha-16x16.png",
          "src/jogl/classes/jogamp/opengl/assets/test-ntsc01-28x16.png",
          "src/newt/classes/jogamp/newt/driver/egl/gbm/DisplayDriver.java",
          "make/build-newt.xml",
          "src/newt/classes/jogamp/newt/assets/jogamp-32x32.png"
        ],
        "commitId" : "35d07fa97404921bb8e9b5185d6f89a3c09d0e9f",
        "timestamp" : 1678683179000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Move png assets (NEWT icons + GLMediaPlayer dummy/test) to simple classpath, allowing access w/o jars. TODO: Test Android.\u000a",
        "date" : "2023-03-13 05:52:59 +0100",
        "id" : "35d07fa97404921bb8e9b5185d6f89a3c09d0e9f",
        "msg" : "Move png assets (NEWT icons + GLMediaPlayer dummy/test) to simple classpath, allowing access w/o jars. TODO: Test Android.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/assets/test-ntsc01-28x16.png"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/assets/newt/data/jogamp-16x16.png"
          },
          {
            "editType" : "edit",
            "file" : "make/build-jogl.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/egl/gbm/DisplayDriver.java"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/assets/newt/data/cross-grey-alpha-16x16.png"
          },
          {
            "editType" : "add",
            "file" : "src/newt/classes/jogamp/newt/assets/pointer-grey-alpha-16x24.png"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/assets/jogl/util/data/av/test-ntsc01-28x16.png"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2SimpleNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/Window.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/DisplayImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "make/build-newt.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/NewtFactory.java"
          },
          {
            "editType" : "add",
            "file" : "src/newt/classes/jogamp/newt/assets/cross-grey-alpha-16x16.png"
          },
          {
            "editType" : "add",
            "file" : "src/newt/classes/jogamp/newt/assets/jogamp-16x16.png"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/opengl/util/NEWTDemoListener.java"
          },
          {
            "editType" : "add",
            "file" : "src/newt/classes/jogamp/newt/assets/jogamp-32x32.png"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/bcm/vc/iv/DisplayDriver.java"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/assets/newt/data/jogamp-32x32.png"
          },
          {
            "editType" : "delete",
            "file" : "make/resources/assets/newt/data/pointer-grey-alpha-16x24.png"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/build-test.xml"
        ],
        "commitId" : "5efd3a6d9cf12d38ce6d7c91f9c5968927f3253a",
        "timestamp" : 1678683215000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "build-test.xml: Add src.demos to determine to skip build or not\u000a",
        "date" : "2023-03-13 05:53:35 +0100",
        "id" : "5efd3a6d9cf12d38ce6d7c91f9c5968927f3253a",
        "msg" : "build-test.xml: Add src.demos to determine to skip build or not",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java",
          "src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java",
          "src/jogl/native/libav/ffmpeg_impl_template.c",
          "src/jogl/native/libav/ffmpeg_tool.h",
          "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0b.java",
          "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java",
          "src/jogl/classes/jogamp/opengl/openal/av/ALAudioSink.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity1.java",
          "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceES2.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieCube.java",
          "src/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity0.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0a.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java",
          "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceCubeES2.java",
          "src/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java",
          "src/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java",
          "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java",
          "src/jogl/classes/jogamp/opengl/util/av/impl/OMXGLMediaPlayer.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
        ],
        "commitId" : "913b00f8b876e29af91677ef61b3eb35d6853e6e",
        "timestamp" : 1678683574000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLMediaPlayer: Overhaul and simplify states, allow usage before stream ready showing test-texture. Adding stop(); (API Change)\u000a\u000a- allow multiple initGL(..) @ uninitialized and initialized\u000a- allows usage before stream is ready\u000a- using a test-texture @ uninitialized\u000a- adding stop()\u000a\u000aAPI change\u000a- initStream() -> playStream()\u000a- play() -> resume()\u000a\u000aFFMPEG: Added 'ready' check for robustness\u000a",
        "date" : "2023-03-13 05:59:34 +0100",
        "id" : "913b00f8b876e29af91677ef61b3eb35d6853e6e",
        "msg" : "GLMediaPlayer: Overhaul and simplify states, allow usage before stream ready showing test-texture. Adding stop(); (API Change)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0b.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/CrossFadePlayer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/OMXGLMediaPlayer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/android/av/AndroidGLMediaPlayerAPI14.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/NullGLMediaPlayer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceCubeES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/av/GLMediaPlayer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/libav/ffmpeg_impl_template.c"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/libav/ffmpeg_tool.h"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieCube.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/openal/av/ALAudioSink.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieCubeActivity0a.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity1.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
        ],
        "commitId" : "e9a0f5cdc2bca9ca97175d2fa3c1b722a574b267",
        "timestamp" : 1678683753000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Add GLRegion creation w/ pre-calculating its buffer sizes; TextRegionUtil: Use pre-calc'ing buffer sizes for GLRegion;\u000a\u000aTextRendererGLELBase: Fix temp AffineTransform usage\u000a",
        "date" : "2023-03-13 06:02:33 +0100",
        "id" : "e9a0f5cdc2bca9ca97175d2fa3c1b722a574b267",
        "msg" : "Graph: Add GLRegion creation w/ pre-calculating its buffer sizes; TextRegionUtil: Use pre-calc'ing buffer sizes for GLRegion;",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
        ],
        "commitId" : "9fd84fa482aa354f0636fcd006edd7b71b27c02d",
        "timestamp" : 1678683808000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Use pre-calc'ing buffer sizes for Label shape\u000a",
        "date" : "2023-03-13 06:03:28 +0100",
        "id" : "9fd84fa482aa354f0636fcd006edd7b71b27c02d",
        "msg" : "GraphUI: Use pre-calc'ing buffer sizes for Label shape",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "6b39e7be037f13a72d7ba1ead24f01697823d779",
        "timestamp" : 1678683947000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Cleanup 1-pointer zoom, add generic PinchToZoom-Gesture for 2-pointer zoom; Scene: Align method names..\u000a",
        "date" : "2023-03-13 06:05:47 +0100",
        "id" : "6b39e7be037f13a72d7ba1ead24f01697823d779",
        "msg" : "GraphUI: Cleanup 1-pointer zoom, add generic PinchToZoom-Gesture for 2-pointer zoom; Scene: Align method names..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
        ],
        "commitId" : "357964eba18e73eb69e0ad68c85fca0a0e1ea192",
        "timestamp" : 1678686425000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLMediaPlayerImpl: isTextureAvailable() is always true after lastFrame init; Use private isPausedOrPlaying() to determine shaderCodeHash\u000a",
        "date" : "2023-03-13 06:47:05 +0100",
        "id" : "357964eba18e73eb69e0ad68c85fca0a0e1ea192",
        "msg" : "GLMediaPlayerImpl: isTextureAvailable() is always true after lastFrame init; Use private isPausedOrPlaying() to determine shaderCodeHash",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
        ],
        "commitId" : "6feb3738231210b03edefa7a60cf11e644fb7a5d",
        "timestamp" : 1678686571000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: MediaButton: Adapt GLMediaPlayer changes: Ready right away and reset on Init: GLMediaPlayer.initGL() + recreate GLRegion\u000a",
        "date" : "2023-03-13 06:49:31 +0100",
        "id" : "6feb3738231210b03edefa7a60cf11e644fb7a5d",
        "msg" : "GraphUI: MediaButton: Adapt GLMediaPlayer changes: Ready right away and reset on Init: GLMediaPlayer.initGL() + recreate GLRegion",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "67a723477ecd818fbc5859fe20ee536a3b4efae5",
        "timestamp" : 1678739909000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLRegion + RegionRenderer: Add clearShader(..) to delete all ShaderPrograms and is references.\u000a",
        "date" : "2023-03-13 21:38:29 +0100",
        "id" : "67a723477ecd818fbc5859fe20ee536a3b4efae5",
        "msg" : "GLRegion + RegionRenderer: Add clearShader(..) to delete all ShaderPrograms and is references.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java",
          "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceCubeES2.java",
          "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java",
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java",
          "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureSequenceCubeES2.java",
          "src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java",
          "src/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java"
        ],
        "commitId" : "6faab9ada2a7e2b99bb20ce828915a07fdcbea27",
        "timestamp" : 1678799873000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TextureSequence (API Change): Use setTextureLookupFunctionName(..) explicitly to set the name upfront, clarifying workflow. Impl: ImageSequence + GLMediaPlayerImpl\u000a",
        "date" : "2023-03-14 14:17:53 +0100",
        "id" : "6faab9ada2a7e2b99bb20ce828915a07fdcbea27",
        "msg" : "TextureSequence (API Change): Use setTextureLookupFunctionName(..) explicitly to set the name upfront, clarifying workflow. Impl: ImageSequence + GLMediaPlayerImpl",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureSequenceCubeES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/texture/TextureSequence.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceCubeES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/build-common.xml",
          "make/build.xml"
        ],
        "commitId" : "4b63ffc8c475604d9ea1cc588ee33dfe7980ba86",
        "timestamp" : 1678799929000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "build: Disable oculusvr by default, allow manual enable via property 'oculusvr.enabled'\u000a",
        "date" : "2023-03-14 14:18:49 +0100",
        "id" : "4b63ffc8c475604d9ea1cc588ee33dfe7980ba86",
        "msg" : "build: Disable oculusvr by default, allow manual enable via property 'oculusvr.enabled'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/build.xml"
          },
          {
            "editType" : "edit",
            "file" : "make/build-common.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/setenv-jogl.sh"
        ],
        "commitId" : "d1aea2def5aa526f0a78f3f034ceb9ab1b0d3905",
        "timestamp" : 1678799982000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "make/scripts/setenv.jogl.sh: Add JOAL_LIB_DIR to LD_LIBRARY_PATH (used if not testing using jars but classpath)\u000a",
        "date" : "2023-03-14 14:19:42 +0100",
        "id" : "d1aea2def5aa526f0a78f3f034ceb9ab1b0d3905",
        "msg" : "make/scripts/setenv.jogl.sh: Add JOAL_LIB_DIR to LD_LIBRARY_PATH (used if not testing using jars but classpath)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/setenv-jogl.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java"
        ],
        "commitId" : "e11d86828f3c5450d9f5443c6b0482b54b82cfdf",
        "timestamp" : 1678800028000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "FFMPEGMediaPlayer: More detailed DEBUG messages on audioSink\u000a",
        "date" : "2023-03-14 14:20:28 +0100",
        "id" : "e11d86828f3c5450d9f5443c6b0482b54b82cfdf",
        "msg" : "FFMPEGMediaPlayer: More detailed DEBUG messages on audioSink",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
        ],
        "commitId" : "3e17551fa1a61d1044d4e3d76c0f09293c4584d4",
        "timestamp" : 1678800121000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLMediaPlayerImpl: Zero textureFragmentShaderHashCode and default lookupFunction on Uninitialized state\u000a",
        "date" : "2023-03-14 14:22:01 +0100",
        "id" : "3e17551fa1a61d1044d4e3d76c0f09293c4584d4",
        "msg" : "GLMediaPlayerImpl: Zero textureFragmentShaderHashCode and default lookupFunction on Uninitialized state",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
        ],
        "commitId" : "5922ac12e89fd7b60e91b1b46dce93d0c35d2fd0",
        "timestamp" : 1678800151000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLMediaPlayerImpl: Only kick-off StreamWorker at initGL(..)\u000a",
        "date" : "2023-03-14 14:22:31 +0100",
        "id" : "5922ac12e89fd7b60e91b1b46dce93d0c35d2fd0",
        "msg" : "GLMediaPlayerImpl: Only kick-off StreamWorker at initGL(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/av/GLMediaPlayerImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
        ],
        "commitId" : "f7e8f8467ced9f494f8cafc51ca9e77038042905",
        "timestamp" : 1678800196000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "AABBox: Add API doc comment on reset() and hence default ctor regarding infinite dimension\u000a",
        "date" : "2023-03-14 14:23:16 +0100",
        "id" : "f7e8f8467ced9f494f8cafc51ca9e77038042905",
        "msg" : "AABBox: Add API doc comment on reset() and hence default ctor regarding infinite dimension",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/Region.java"
        ],
        "commitId" : "861125339541de2670950aa66a496643ca5cf029",
        "timestamp" : 1678800243000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Region: Add API doc on markStateDirty() and markShapeDirty()\u000a",
        "date" : "2023-03-14 14:24:03 +0100",
        "id" : "861125339541de2670950aa66a496643ca5cf029",
        "msg" : "Graph: Region: Add API doc on markStateDirty() and markShapeDirty()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
        ],
        "commitId" : "4089f4687c64668d8abe1fe998517ef005d5dc60",
        "timestamp" : 1678800312000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: RegionRenderer: Adopt to TextureSequence API Change: Use setTextureLookupFunctionName(..) before using hash and/or code.\u000a",
        "date" : "2023-03-14 14:25:12 +0100",
        "id" : "4089f4687c64668d8abe1fe998517ef005d5dc60",
        "msg" : "Graph: RegionRenderer: Adopt to TextureSequence API Change: Use setTextureLookupFunctionName(..) before using hash and/or code.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "d85f0417cc88610408853b2b22d0339e63e1a719",
        "timestamp" : 1678800585000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Scene: Add simplified ctor w/ user defined zNear, zFar and sceneDistance; Expose the scene-plane AABBox and add surfaceToObjSize() to compute surface-size in object coords.\u000a",
        "date" : "2023-03-14 14:29:45 +0100",
        "id" : "d85f0417cc88610408853b2b22d0339e63e1a719",
        "msg" : "GraphUI: Scene: Add simplified ctor w/ user defined zNear, zFar and sceneDistance; Expose the scene-plane AABBox and add surfaceToObjSize() to compute surface-size in object coords.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
        ],
        "commitId" : "9c471fe3efe7413b76eeb70b480de9e9c8f19b86",
        "timestamp" : 1678802467000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: GLButton: Don't pass FBO size @ ctor, calculate true view-size @ 1st draw\u000a",
        "date" : "2023-03-14 15:01:07 +0100",
        "id" : "9c471fe3efe7413b76eeb70b480de9e9c8f19b86",
        "msg" : "GraphUI: GLButton: Don't pass FBO size @ ctor, calculate true view-size @ 1st draw",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
        ],
        "commitId" : "e41f65f34afade96ba211bae0ce9dc8146435c00",
        "timestamp" : 1678802516000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Button: Allow user to configure 2-pass label z-offset\u000a",
        "date" : "2023-03-14 15:01:56 +0100",
        "id" : "e41f65f34afade96ba211bae0ce9dc8146435c00",
        "msg" : "GraphUI: Button: Allow user to configure 2-pass label z-offset",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
        ],
        "commitId" : "8f7f3f2c693b033e80b5b494c841a36dc5d2c2a8",
        "timestamp" : 1678802592000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: UIShapeDemo01.reshape(): Drop redundant glViewport(..) call\u000a",
        "date" : "2023-03-14 15:03:12 +0100",
        "id" : "8f7f3f2c693b033e80b5b494c841a36dc5d2c2a8",
        "msg" : "GraphUI: UIShapeDemo01.reshape(): Drop redundant glViewport(..) call",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
        ],
        "commitId" : "e219ce85b450f760671f07fde72c8d119616bb8f",
        "timestamp" : 1678802673000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: MediaButton: No need to re-create GLRegion (anymore), just markShapeDirty() to force reupload of texture-coordinates; Also don't mute audio, user shall configure the GLMediaPlayer...\u000a",
        "date" : "2023-03-14 15:04:33 +0100",
        "id" : "e219ce85b450f760671f07fde72c8d119616bb8f",
        "msg" : "GraphUI: MediaButton: No need to re-create GLRegion (anymore), just markShapeDirty() to force reupload of texture-coordinates; Also don't mute audio, user shall configure the GLMediaPlayer...",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
        ],
        "commitId" : "40286313e716c476308b7621b6031c485aaff7be",
        "timestamp" : 1678803214000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Label: Rename pixelSize -> pixelScale, since we are view-based or in model-space.\u000a",
        "date" : "2023-03-14 15:13:34 +0100",
        "id" : "40286313e716c476308b7621b6031c485aaff7be",
        "msg" : "GraphUI: Label: Rename pixelSize -> pixelScale, since we are view-based or in model-space.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneNewtDemo.java"
        ],
        "commitId" : "0d5409586b4467525447e3da72077b999372e79c",
        "timestamp" : 1678803357000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GPUUISceneGLListener0A: Simplify according to Scene class changes (view-based in model-space), have Scene manage resources in full.\u000a",
        "date" : "2023-03-14 15:15:57 +0100",
        "id" : "0d5409586b4467525447e3da72077b999372e79c",
        "msg" : "GPUUISceneGLListener0A: Simplify according to Scene class changes (view-based in model-space), have Scene manage resources in full.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneNewtDemo.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "4d1d546aee01fe27e6b331b23be9be7cc3a5f883",
        "timestamp" : 1678803484000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Add a most simple Scene demo with one Shape.\u000a",
        "date" : "2023-03-14 15:18:04 +0100",
        "id" : "4d1d546aee01fe27e6b331b23be9be7cc3a5f883",
        "msg" : "GraphUI: Add a most simple Scene demo with one Shape.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java",
          "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
        ],
        "commitId" : "94c01e08a59929220686e131d1ce706e5cec6e16",
        "timestamp" : 1678808497000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Have RegionRenderer.reshapeNotify(..) track x/y as well (vieport); GraphUI.Scene using RegionRenderer's viewport (no duplicate)\u000a",
        "date" : "2023-03-14 16:41:37 +0100",
        "id" : "94c01e08a59929220686e131d1ce706e5cec6e16",
        "msg" : "Graph: Have RegionRenderer.reshapeNotify(..) track x/y as well (vieport); GraphUI.Scene using RegionRenderer's viewport (no duplicate)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "make/scripts/tests.sh",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "7981d94481c82570d944162ca5950d314bfed0c1",
        "timestamp" : 1678844513000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Rename UISceneDemo00 -> UISceneDemo01\u000a",
        "date" : "2023-03-15 02:41:53 +0100",
        "id" : "7981d94481c82570d944162ca5950d314bfed0c1",
        "msg" : "GraphUI: Rename UISceneDemo00 -> UISceneDemo01",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
        ],
        "commitId" : "c5e0818072730985f8d2d4c4b227aa937ba53595",
        "timestamp" : 1678844603000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLMediaPlayer usage: Fix verbose strings, disable verbose in GraphUI demos\u000a",
        "date" : "2023-03-15 02:43:23 +0100",
        "id" : "c5e0818072730985f8d2d4c4b227aa937ba53595",
        "msg" : "GLMediaPlayer usage: Fix verbose strings, disable verbose in GraphUI demos",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "8300903aac92a468f0c1bf979017869be19f7a99",
        "timestamp" : 1678844679000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Complete rename of UISceneDemo01\u000a",
        "date" : "2023-03-15 02:44:39 +0100",
        "id" : "8300903aac92a468f0c1bf979017869be19f7a99",
        "msg" : "GraphUI: Complete rename of UISceneDemo01",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
        ],
        "commitId" : "8d33d4c33d436f634bcb918977dd0a058d7edbda",
        "timestamp" : 1678846343000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Scene/Shape: Decouple PMVMatrix operations (picking, obj<->win) by using a local instance, enable performing on any thread (not using a blocking GL renderer thread)\u000a\u000aShape got 2 win<->obj and size-retrieval variants:\u000a(a) using given PMVMatrix and viewport\u000a(b) using a local PMVMatrix w/ Scene's viewport and using Scene's setupMatrix()\u000a",
        "date" : "2023-03-15 03:12:23 +0100",
        "id" : "8d33d4c33d436f634bcb918977dd0a058d7edbda",
        "msg" : "GraphUI: Scene/Shape: Decouple PMVMatrix operations (picking, obj<->win) by using a local instance, enable performing on any thread (not using a blocking GL renderer thread)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/av/MovieCube.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
        ],
        "commitId" : "00dbacc5af3531af50e77a02d534dc11e08de10f",
        "timestamp" : 1678846651000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Demos: Minor cleanups; MovieSimple: Remove unused variables etc .. left over from transition to use TextureSequenceES2\u000a",
        "date" : "2023-03-15 03:17:31 +0100",
        "id" : "00dbacc5af3531af50e77a02d534dc11e08de10f",
        "msg" : "Demos: Minor cleanups; MovieSimple: Remove unused variables etc .. left over from transition to use TextureSequenceES2",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieCube.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "c01a4ad712cfa2d1f8746daf161d9052c8acfccd",
        "timestamp" : 1678847190000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix ShaderProgram ownership bug, introduced in commit 67a723477ecd818fbc5859fe20ee536a3b4efae5 (reverting and clarifying)\u000a\u000aAll Graph ShaderPrograms used are owned by RegionRenderer, not RenderState nor [GL]Region*,\u000ahence [GL]Region* shall only nullify the resources but not destroy the shader currently in use.\u000a\u000aOne RegionRenderer maybe used for multuple Regions.\u000a",
        "date" : "2023-03-15 03:26:30 +0100",
        "id" : "c01a4ad712cfa2d1f8746daf161d9052c8acfccd",
        "msg" : "Fix ShaderProgram ownership bug, introduced in commit 67a723477ecd818fbc5859fe20ee536a3b4efae5 (reverting and clarifying)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java",
          "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderUtil.java",
          "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java",
          "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderState.java"
        ],
        "commitId" : "6ab750aa0b3b3d5be8c8f3a6388faea9149c5765",
        "timestamp" : 1678847509000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "opengl/util/glsl/Shader*: Mark classes and fields final, rename dump{Shader->}Source(), refine string output.\u000a",
        "date" : "2023-03-15 03:31:49 +0100",
        "id" : "6ab750aa0b3b3d5be8c8f3a6388faea9149c5765",
        "msg" : "opengl/util/glsl/Shader*: Mark classes and fields final, rename dump{Shader->}Source(), refine string output.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java"
        ],
        "commitId" : "b3fe96b2916eb0359412aa8e57a9b1a9577f247d",
        "timestamp" : 1678847641000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "ShaderProgram field programLinked: Set to false @ release()/destroy(), On useProgram() only throw exception if 'on==true' is requested (disabling after delettion is OK)\u000a",
        "date" : "2023-03-15 03:34:01 +0100",
        "id" : "b3fe96b2916eb0359412aa8e57a9b1a9577f247d",
        "msg" : "ShaderProgram field programLinked: Set to false @ release()/destroy(), On useProgram() only throw exception if 'on==true' is requested (disabling after delettion is OK)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderProgram.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionNewtDemo.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java",
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextGLListener0A.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java",
          "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java"
        ],
        "commitId" : "f8584748e33aab56780eca5cf7009a5a0d11991d",
        "timestamp" : 1678847864000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Make RenderState a composition of RegionRenderer, which also creates and destroys it. Dropping this also from user (complexity).\u000a",
        "date" : "2023-03-15 03:37:44 +0100",
        "id" : "f8584748e33aab56780eca5cf7009a5a0d11991d",
        "msg" : "Graph: Make RenderState a composition of RegionRenderer, which also creates and destroys it. Dropping this also from user (complexity).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWTBugXXXX.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject01NOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil02MatrixMatrixMultNOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil01NOUI.java",
          "src/jogl/classes/com/jogamp/opengl/GLRunnable.java",
          "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java",
          "src/jogl/classes/jogamp/opengl/GLDrawableHelper.java",
          "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix03NOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestQuaternion01NOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestGluUnprojectDoubleNOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject02NOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil03InversionNOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix02NOUI.java",
          "src/jogl/classes/com/jogamp/opengl/GLEventListener.java",
          "src/jogl/classes/com/jogamp/opengl/GLAutoDrawable.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVTransform01NOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary32NOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary64NOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestGluUnprojectFloatNOUI.java",
          "src/jogl/classes/com/jogamp/opengl/math/Ray.java",
          "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
        ],
        "commitId" : "603068a4e6af5293db10db73ead3a83b7a74af34",
        "timestamp" : 1679202695000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "API doc cleanup, add + refine math tests\u000a\u000aAPI doc\u000a",
        "date" : "2023-03-19 06:11:35 +0100",
        "id" : "603068a4e6af5293db10db73ead3a83b7a74af34",
        "msg" : "API doc cleanup, add + refine math tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableHelper.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix02NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary32NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestBinary64NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil02MatrixMatrixMultNOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Ray.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestGluUnprojectFloatNOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil03InversionNOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLAutoDrawable.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject02NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestQuaternion01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLRunnable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix03NOUI.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVTransform01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestGluUnprojectDoubleNOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLEventListener.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/com/jogamp/newt/event/MouseEvent.java"
        ],
        "commitId" : "a39c72b5a928a57c074d379f7c426c18eb076f73",
        "timestamp" : 1679202729000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT MouseEvent.getEventTypeString(): Shorten by removing leading 'EVENT_MOUSE_'\u000a",
        "date" : "2023-03-19 06:12:09 +0100",
        "id" : "a39c72b5a928a57c074d379f7c426c18eb076f73",
        "msg" : "NEWT MouseEvent.getEventTypeString(): Shorten by removing leading 'EVENT_MOUSE_'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/MouseEvent.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceES2.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity0.java",
          "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity1.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
        ],
        "commitId" : "5f5bad23d9d84f76855749d4efcda85792f312c9",
        "timestamp" : 1679203106000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix MovieSimple regression of commit 00dbacc5af3531af50e77a02d534dc11e08de10f, 913b00f8b876e29af91677ef61b3eb35d6853e6e\u000a",
        "date" : "2023-03-19 06:18:26 +0100",
        "id" : "5f5bad23d9d84f76855749d4efcda85792f312c9",
        "msg" : "Fix MovieSimple regression of commit 00dbacc5af3531af50e77a02d534dc11e08de10f, 913b00f8b876e29af91677ef61b3eb35d6853e6e",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/android/MovieSimpleActivity1.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
        ],
        "commitId" : "b481b66e45579b3365a06d54912c15d6544b697f",
        "timestamp" : 1679203434000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Add RenderState API doc; RegionRenderer: Remove unused shell method, left over from f8584748e33aab56780eca5cf7009a5a0d11991d\u000a",
        "date" : "2023-03-19 06:23:54 +0100",
        "id" : "b481b66e45579b3365a06d54912c15d6544b697f",
        "msg" : "Graph: Add RenderState API doc; RegionRenderer: Remove unused shell method, left over from f8584748e33aab56780eca5cf7009a5a0d11991d",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
        ],
        "commitId" : "c0fcaf04b042f8337c90116c98c833ff4a356e1c",
        "timestamp" : 1679203539000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph : Misc API doc\u000a",
        "date" : "2023-03-19 06:25:39 +0100",
        "id" : "c0fcaf04b042f8337c90116c98c833ff4a356e1c",
        "msg" : "Graph : Misc API doc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "535680eadef89078e6fc62adff21ec9923c968a3",
        "timestamp" : 1679206131000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: GLRegion: Pass curRenderModes to updateImpl() + drawImpl(), prepare switch by sampleCount; Don't use any resource not requested by curRenderModes\u000a",
        "date" : "2023-03-19 07:08:51 +0100",
        "id" : "535680eadef89078e6fc62adff21ec9923c968a3",
        "msg" : "Graph: GLRegion: Pass curRenderModes to updateImpl() + drawImpl(), prepare switch by sampleCount; Don't use any resource not requested by curRenderModes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
        ],
        "commitId" : "a6b57c0a3751f37b425e0bd69155d3dbab7e147c",
        "timestamp" : 1679206441000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: GLRegion.draw(): Mod curRenderModes by sampleCount { 0 = no-sampling, -1 = glSelect } (Experimental not working fully)\u000a",
        "date" : "2023-03-19 07:14:01 +0100",
        "id" : "a6b57c0a3751f37b425e0bd69155d3dbab7e147c",
        "msg" : "Graph: GLRegion.draw(): Mod curRenderModes by sampleCount { 0 = no-sampling, -1 = glSelect } (Experimental not working fully)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
        ],
        "commitId" : "c37c96ce30b7fcdbaf9d6b682729edb43a139d0d",
        "timestamp" : 1679206497000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Add RegionRenderer.enable(..) variant w/ passing enable + disable GLCallback\u000a",
        "date" : "2023-03-19 07:14:57 +0100",
        "id" : "c37c96ce30b7fcdbaf9d6b682729edb43a139d0d",
        "msg" : "Graph: Add RegionRenderer.enable(..) variant w/ passing enable + disable GLCallback",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "ed33aa9957358a30f7a45f92a2efbb6d06650c39",
        "timestamp" : 1679207423000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Scene: Add experimental pickShapeGL(..), i.e. glSelect (Not working correctly with all renderModes yet, inactive; Not good on text)\u000a",
        "date" : "2023-03-19 07:30:23 +0100",
        "id" : "ed33aa9957358a30f7a45f92a2efbb6d06650c39",
        "msg" : "Graph: Scene: Add experimental pickShapeGL(..), i.e. glSelect (Not working correctly with all renderModes yet, inactive; Not good on text)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "e3202d1bd0df1f182fbd864de0b4825f962a57d4",
        "timestamp" : 1679207713000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Scene: Customize clearColor + clearMask used @ display(..), i.e. either use custom setting or avoid it at all for seamless client renderer integration\u000a",
        "date" : "2023-03-19 07:35:13 +0100",
        "id" : "e3202d1bd0df1f182fbd864de0b4825f962a57d4",
        "msg" : "Graph Scene: Customize clearColor + clearMask used @ display(..), i.e. either use custom setting or avoid it at all for seamless client renderer integration",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "25e9a5ea1fc95fc58117c67df7928755166d7748",
        "timestamp" : 1679208128000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Shape: Mark methods final and enhance API doc\u000a",
        "date" : "2023-03-19 07:42:08 +0100",
        "id" : "25e9a5ea1fc95fc58117c67df7928755166d7748",
        "msg" : "Graph Shape: Mark methods final and enhance API doc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "ea4938a5e82332382c493044cbbd691e17743fb2",
        "timestamp" : 1679208163000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Shape: Add missing drawGLSelect(..)\u000a",
        "date" : "2023-03-19 07:42:43 +0100",
        "id" : "ea4938a5e82332382c493044cbbd691e17743fb2",
        "msg" : "Graph Shape: Add missing drawGLSelect(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "c04c8947c7cd0788ea8a4e615887d236eb2fbbb8",
        "timestamp" : 1679208438000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Scene: RegionRenderer is owned and never null\u000a",
        "date" : "2023-03-19 07:47:18 +0100",
        "id" : "c04c8947c7cd0788ea8a4e615887d236eb2fbbb8",
        "msg" : "Graph Scene: RegionRenderer is owned and never null",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "a81fff28e9380ebce877d974d402ef613b5ea850",
        "timestamp" : 1679209488000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Add Scene.PMVMatrixSetup for programmable PMVMatrix setup in Scene replacing fixed projection params; Simplify API requirements ..\u000a\u000aScene:\u000a- Add Scene.PMVMatrixSetup and use it throughout Scene/Shape for reshape(), setupMatrix()\u000a  and Shape's  win<->obj coordinate mappings.\u000a\u000a- Default Scene.PMVMatrixSetup is no more moving origin to bottom-left, kept at screen-center.\u000a\u000a- Add waitUntilDisplayer(), allowing to wait until 1st display is completed,\u000a  ensuring certain states are well set (init, reshape and 1st display on Shapes, plane-box, ..)\u000a\u000aShape:\u000a- Rename setPosition() -> moveTo()\u000a\u000a- Add getBounds(GLProfile) to retrieve AABBox before rendering,\u000a  - Enhance validateImpl(..) to allow this mode @ initial validation (only)\u000a",
        "date" : "2023-03-19 08:04:48 +0100",
        "id" : "a81fff28e9380ebce877d974d402ef613b5ea850",
        "msg" : "Add Scene.PMVMatrixSetup for programmable PMVMatrix setup in Scene replacing fixed projection params; Simplify API requirements ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "32f7a476770d0a4ef853eab8f3c78a7ea801a180",
        "timestamp" : 1679209561000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Shape: Add onMove(Shape.Listener), allowing user to track Shape movement\u000a",
        "date" : "2023-03-19 08:06:01 +0100",
        "id" : "32f7a476770d0a4ef853eab8f3c78a7ea801a180",
        "msg" : "Graph Shape: Add onMove(Shape.Listener), allowing user to track Shape movement",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "a9910af82c46b0ea918f65444c87d130a684a103",
        "timestamp" : 1679209665000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph UI Shape: Fix setTransform(): Take back unscaled-center 1st, then add back later (scaled); TODO: Add alignment features\u000a",
        "date" : "2023-03-19 08:07:45 +0100",
        "id" : "a9910af82c46b0ea918f65444c87d130a684a103",
        "msg" : "Graph UI Shape: Fix setTransform(): Take back unscaled-center 1st, then add back later (scaled); TODO: Add alignment features",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "6c13d824a00eff448cef6bec7010e9c682df7d62",
        "timestamp" : 1679209861000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph UI Shape: Fix move and resize via 1-pointer mouse drag: Need to apply scale on drag-delta, operating on scaled-model-viewpoint\u000a\u000aFurther, on resize, we have different sticky edges for either bottom-right or bottom-left drag resize.\u000a",
        "date" : "2023-03-19 08:11:01 +0100",
        "id" : "6c13d824a00eff448cef6bec7010e9c682df7d62",
        "msg" : "Graph UI Shape: Fix move and resize via 1-pointer mouse drag: Need to apply scale on drag-delta, operating on scaled-model-viewpoint",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/ImageButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java"
        ],
        "commitId" : "37224b6c84a66788813856f806a727d73991f546",
        "timestamp" : 1679209991000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph UI: Adopt Shape implementations to Shape API changes (simplification)\u000a",
        "date" : "2023-03-19 08:13:11 +0100",
        "id" : "37224b6c84a66788813856f806a727d73991f546",
        "msg" : "Graph UI: Adopt Shape implementations to Shape API changes (simplification)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/ImageButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneNewtDemo.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "d8339b73322e31f9f6624137da30d53a626001c3",
        "timestamp" : 1679210065000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph UI: Apply API changes to demos *WIP* (not all working yet, but compile clean)\u000a",
        "date" : "2023-03-19 08:14:25 +0100",
        "id" : "d8339b73322e31f9f6624137da30d53a626001c3",
        "msg" : "Graph UI: Apply API changes to demos *WIP* (not all working yet, but compile clean)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "2ece7d9a2c9c176b5834f31e157548bca733bdb9",
        "timestamp" : 1679210936000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph UI Shape: Remove debug println @ mouse drag release\u000a",
        "date" : "2023-03-19 08:28:56 +0100",
        "id" : "2ece7d9a2c9c176b5834f31e157548bca733bdb9",
        "msg" : "Graph UI Shape: Remove debug println @ mouse drag release",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "860c550033c46299460ae751e91ecc491abfe549",
        "timestamp" : 1679211955000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI UISceneDemo01: Res independent Shape, in Scene attached to GLWindow showing simple linear Shape movement w/ listener attached\u000a",
        "date" : "2023-03-19 08:45:55 +0100",
        "id" : "860c550033c46299460ae751e91ecc491abfe549",
        "msg" : "GraphUI UISceneDemo01: Res independent Shape, in Scene attached to GLWindow showing simple linear Shape movement w/ listener attached",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "8eb70fb10a4f81c93dbc4ed12571a67ffbc1649a",
        "timestamp" : 1679212547000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI UISceneDemo01: Fix disposal, use windowDestroyed() WindowListener to stop animator\u000a",
        "date" : "2023-03-19 08:55:47 +0100",
        "id" : "8eb70fb10a4f81c93dbc4ed12571a67ffbc1649a",
        "msg" : "GraphUI UISceneDemo01: Fix disposal, use windowDestroyed() WindowListener to stop animator",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
        ],
        "commitId" : "01d35625f848ed3a97fae750ff2e8928f9d6538a",
        "timestamp" : 1679236464000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape win<->obj/shape mapping: Return actual int[] or float[] result or null on error instead of boolean to easy API usage\u000a",
        "date" : "2023-03-19 15:34:24 +0100",
        "id" : "01d35625f848ed3a97fae750ff2e8928f9d6538a",
        "msg" : "GraphUI Shape win<->obj/shape mapping: Return actual int[] or float[] result or null on error instead of boolean to easy API usage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "a43869543093d0bbd154df7ea6908a5b53a8302e",
        "timestamp" : 1679238592000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Add UISceneDemo00 for linear animation in one main function; UISceneDemo01 simply provides shape drag-move and -resize\u000a",
        "date" : "2023-03-19 16:09:52 +0100",
        "id" : "a43869543093d0bbd154df7ea6908a5b53a8302e",
        "msg" : "GraphUI: Add UISceneDemo00 for linear animation in one main function; UISceneDemo01 simply provides shape drag-move and -resize",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
        ],
        "commitId" : "94c895bcf8a98218cf5dc7832f00212ce32945ec",
        "timestamp" : 1679239638000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Demo MovieSimple: Default to useOrigScale=false, enable @ main w/ -orig_scale\u000a",
        "date" : "2023-03-19 16:27:18 +0100",
        "id" : "94c895bcf8a98218cf5dc7832f00212ce32945ec",
        "msg" : "Demo MovieSimple: Default to useOrigScale=false, enable @ main w/ -orig_scale",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java"
        ],
        "commitId" : "5b901e32c3c9dc2e40c694add6c3c2b31c8d8a95",
        "timestamp" : 1679289271000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Add FloatUtil.isZero(float) using FloatUtil.EPSILON\u000a",
        "date" : "2023-03-20 06:14:31 +0100",
        "id" : "5b901e32c3c9dc2e40c694add6c3c2b31c8d8a95",
        "msg" : "Add FloatUtil.isZero(float) using FloatUtil.EPSILON",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/GLOffscreenAutoDrawable.java"
        ],
        "commitId" : "8f9aedd75946fabfa56f3b58a097ab434a83f1d2",
        "timestamp" : 1679289304000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLOffscreenAutoDrawable: Remove unused import\u000a",
        "date" : "2023-03-20 06:15:04 +0100",
        "id" : "8f9aedd75946fabfa56f3b58a097ab434a83f1d2",
        "msg" : "GLOffscreenAutoDrawable: Remove unused import",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLOffscreenAutoDrawable.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/es2/GearsES2.java"
        ],
        "commitId" : "ac53d2e06c14e808529d8e653a9ec6a1438acfc0",
        "timestamp" : 1679289338000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Demos GearsES2: Expose view rotation vars and listener\u000a",
        "date" : "2023-03-20 06:15:38 +0100",
        "id" : "ac53d2e06c14e808529d8e653a9ec6a1438acfc0",
        "msg" : "Demos GearsES2: Expose view rotation vars and listener",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/GearsES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
        ],
        "commitId" : "253a91c252eed70edaee25cca3288cafa6de8071",
        "timestamp" : 1679289376000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI GLButton: Add missing destroyImpl(..) to destroy the ImageSequence and FBO-GLAD\u000a",
        "date" : "2023-03-20 06:16:16 +0100",
        "id" : "253a91c252eed70edaee25cca3288cafa6de8071",
        "msg" : "GraphUI GLButton: Add missing destroyImpl(..) to destroy the ImageSequence and FBO-GLAD",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "89d43b49537b021bbfe52ef8563ac9d9d7661534",
        "timestamp" : 1679289400000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: Be quiet\u000a",
        "date" : "2023-03-20 06:16:40 +0100",
        "id" : "89d43b49537b021bbfe52ef8563ac9d9d7661534",
        "msg" : "GraphUI Scene: Be quiet",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
        ],
        "commitId" : "0b476231be5cf4a42e7030d7e0f88589811c1c88",
        "timestamp" : 1679289511000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Default Scene.PMVMatrixSetup: Scale (back) projection to have normalized plane dimensions, 1 for the greater of width and height\u000a",
        "date" : "2023-03-20 06:18:31 +0100",
        "id" : "0b476231be5cf4a42e7030d7e0f88589811c1c88",
        "msg" : "GraphUI Default Scene.PMVMatrixSetup: Scale (back) projection to have normalized plane dimensions, 1 for the greater of width and height",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "89ccd3bec5eab5323f14b8b62a9f722ec65f702e",
        "timestamp" : 1679289582000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "UISceneDemo01: Use GLButton shape w/ animating and rotating gears and set up an own Scene.PMVMatrixSetup with a plane dimension of 100\u000a",
        "date" : "2023-03-20 06:19:42 +0100",
        "id" : "89ccd3bec5eab5323f14b8b62a9f722ec65f702e",
        "msg" : "UISceneDemo01: Use GLButton shape w/ animating and rotating gears and set up an own Scene.PMVMatrixSetup with a plane dimension of 100",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
        ],
        "commitId" : "b2a271e289047a7e5bba6c09540061c43527db3c",
        "timestamp" : 1679289623000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "UISceneDemo02: The 'dirty' variant w/ listener (printf) attached\u000a",
        "date" : "2023-03-20 06:20:23 +0100",
        "id" : "b2a271e289047a7e5bba6c09540061c43527db3c",
        "msg" : "UISceneDemo02: The 'dirty' variant w/ listener (printf) attached",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
        ],
        "commitId" : "1cb97973a7403fe1b47665e8250bc568444301da",
        "timestamp" : 1679290830000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI MediaButton: Only mark region dirty if already exists\u000a",
        "date" : "2023-03-20 06:40:30 +0100",
        "id" : "1cb97973a7403fe1b47665e8250bc568444301da",
        "msg" : "GraphUI MediaButton: Only mark region dirty if already exists",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "0d7aa5218c36b291b2d24c8c9bb118b2a8d2e71a",
        "timestamp" : 1679292294000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: Move GLEventListener implementations reshape() and dispose() to the others, init(), display(). Ease review.\u000a",
        "date" : "2023-03-20 07:04:54 +0100",
        "id" : "0d7aa5218c36b291b2d24c8c9bb118b2a8d2e71a",
        "msg" : "GraphUI Scene: Move GLEventListener implementations reshape() and dispose() to the others, init(), display(). Ease review.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "613253b9416b231eece0adbdebc50342cf578597",
        "timestamp" : 1679309566000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape.setTransform(): Fix center semantics (half size) and consider origin (resolves multi-line text resize issues)\u000a",
        "date" : "2023-03-20 11:52:46 +0100",
        "id" : "613253b9416b231eece0adbdebc50342cf578597",
        "msg" : "GraphUI Shape.setTransform(): Fix center semantics (half size) and consider origin (resolves multi-line text resize issues)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "d73542248c51dfcfa6a23366a6797076cde48191",
        "timestamp" : 1679309602000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: Add [add|remove]Shapes(Collection) .. for convenience\u000a",
        "date" : "2023-03-20 11:53:22 +0100",
        "id" : "d73542248c51dfcfa6a23366a6797076cde48191",
        "msg" : "GraphUI Scene: Add [add|remove]Shapes(Collection) .. for convenience",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "5bb9fa1ee0ec1acc6097b81f93f11a5dd263c870",
        "timestamp" : 1679309654000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI UISceneDemo01: Stop rotating animation if GLButton animation is toggled off\u000a",
        "date" : "2023-03-20 11:54:14 +0100",
        "id" : "5bb9fa1ee0ec1acc6097b81f93f11a5dd263c870",
        "msg" : "GraphUI UISceneDemo01: Stop rotating animation if GLButton animation is toggled off",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "0c22ce0ac52573195920e5aa957babe4b3a22296",
        "timestamp" : 1679310144000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: Bring back GPUUISceneGLListener0A ..\u000a\u000a- Contrary to UISceneDemo0[01], here we\u000a  - Call the Scene GLEventListener methods manually\u000a  - Issue glClear* ourselves\u000a\u000a- Using own PMVMatrixSetup\u000a  - gluPerspective like Scene's default\u000a  - no normal scale to 1, keep distance to near plane for rotation effects. We scale Shapes\u000a  - translate origin to bottom-left\u000a\u000a- Scale Button not by screen-size but Scene.getBounds() dimension,\u000a  hence issue setupUI() from reshape() and not from init()\u000a\u000a- GLButton: Using additional view-rotation like UISceneDemo01\u000a\u000a- Multi-line text labels resize issues are\u000a  - Supposed sticky-edge is moving\u000a    (Sticky-edge are the opposites of the picked drag point)\u000a",
        "date" : "2023-03-20 12:02:24 +0100",
        "id" : "0c22ce0ac52573195920e5aa957babe4b3a22296",
        "msg" : "GraphUI Demos: Bring back GPUUISceneGLListener0A ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
        ],
        "commitId" : "28656f9822ed0028095b1d60490c3ee56a1a9dce",
        "timestamp" : 1679310711000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Label: Fix naming semantics: 'pixelScale' -> 'fontScale', i.e. font-scale factor, by which the em-sized type glyphs shall be scaled\u000a",
        "date" : "2023-03-20 12:11:51 +0100",
        "id" : "28656f9822ed0028095b1d60490c3ee56a1a9dce",
        "msg" : "GraphUI Label: Fix naming semantics: 'pixelScale' -> 'fontScale', i.e. font-scale factor, by which the em-sized type glyphs shall be scaled",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java"
        ],
        "commitId" : "16139461033dff906ab4dfcecb7b6da06174f222",
        "timestamp" : 1679318484000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Rename UISceneDemo{02->10}\u000a",
        "date" : "2023-03-20 14:21:24 +0100",
        "id" : "16139461033dff906ab4dfcecb7b6da06174f222",
        "msg" : "Rename UISceneDemo{02->10}",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
        ],
        "commitId" : "af201b19064d2526743c89c218a51b0a3ee837c2",
        "timestamp" : 1679318535000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayDataClient: Allow null buffer @ growIfNeeded(), removed from commit 90a95e6f689b479f3c3ae3caf4e30447030c7682\u000a\u000aA null buffer is possible in case initialElementCount at ctor is <= 0\u000a",
        "date" : "2023-03-20 14:22:15 +0100",
        "id" : "af201b19064d2526743c89c218a51b0a3ee837c2",
        "msg" : "GLArrayDataClient: Allow null buffer @ growIfNeeded(), removed from commit 90a95e6f689b479f3c3ae3caf4e30447030c7682",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "9a9309c7bf2b5edc27b5f84bee547c5bf0539010",
        "timestamp" : 1679318581000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: Add getDefaultVertexFactory(), fix getRenderState() API doc (can't be null)\u000a",
        "date" : "2023-03-20 14:23:01 +0100",
        "id" : "9a9309c7bf2b5edc27b5f84bee547c5bf0539010",
        "msg" : "GraphUI Scene: Add getDefaultVertexFactory(), fix getRenderState() API doc (can't be null)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
        ],
        "commitId" : "118d754af34d6d475600e6747e01e950a6cf77cf",
        "timestamp" : 1679341724000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape: Provide empty default implementation for clearImpl() and destroyImpl()\u000a",
        "date" : "2023-03-20 20:48:44 +0100",
        "id" : "118d754af34d6d475600e6747e01e950a6cf77cf",
        "msg" : "GraphUI Shape: Provide empty default implementation for clearImpl() and destroyImpl()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "8abe939c5132e4a58c4b9a6b31f0b1fd10734516",
        "timestamp" : 1679344374000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape/Label: Allow validate(..) w/o current GL context, used by e.g. Label.setText(..) and getBounds(), preparations for more animation.\u000a\u000aHence Shape.validate(..) is now synchronized, avoiding parallel resource modding from render- and other animating thread.\u000a",
        "date" : "2023-03-20 21:32:54 +0100",
        "id" : "8abe939c5132e4a58c4b9a6b31f0b1fd10734516",
        "msg" : "GraphUI Shape/Label: Allow validate(..) w/o current GL context, used by e.g. Label.setText(..) and getBounds(), preparations for more animation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/ImageButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java",
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
        ],
        "commitId" : "59a7fdeb4ed36f0014ba1fdcc0ec144c04aaa2d5",
        "timestamp" : 1679387586000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Cleanup Vertex.Factory referencing: Only bind to OutlineShape and use its default. GraphUI: Always use default.\u000a\u000aGraph RegionRenderer, its RenderState as well as GraphUI's Scene don't need to have knowledge of Vertex.Factory,\u000awhich is only used within OutlineShape and its 'inner geom workings'.\u000a",
        "date" : "2023-03-21 09:33:06 +0100",
        "id" : "59a7fdeb4ed36f0014ba1fdcc0ec144c04aaa2d5",
        "msg" : "Graph: Cleanup Vertex.Factory referencing: Only bind to OutlineShape and use its default. GraphUI: Always use default.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/ImageButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/jogl/classes/com/jogamp/opengl/GLAutoDrawable.java"
        ],
        "commitId" : "989a20559ebaa387f8f253c8415e41f6da925d82",
        "timestamp" : 1679388169000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI UISceneDemo*: Use lambdas for GLAutoDrawable.invoke(..) to reduce LOC\u000a\u000aGLAutoDrawable.invoke(..) API doc: Add semantics about GLRunnable return value.\u000a",
        "date" : "2023-03-21 09:42:49 +0100",
        "id" : "989a20559ebaa387f8f253c8415e41f6da925d82",
        "msg" : "GraphUI UISceneDemo*: Use lambdas for GLAutoDrawable.invoke(..) to reduce LOC",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLAutoDrawable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".project"
        ],
        "commitId" : "ed6b881ed3e1ac3c30f0d5329be08b77b82a70cb",
        "timestamp" : 1679388209000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Eclipse: Remove the CDT C/C++ Nature, since it breaks the Java type hierarchy lookup besides other things\u000a",
        "date" : "2023-03-21 09:43:29 +0100",
        "id" : "ed6b881ed3e1ac3c30f0d5329be08b77b82a70cb",
        "msg" : "Eclipse: Remove the CDT C/C++ Nature, since it breaks the Java type hierarchy lookup besides other things",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".project"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "701b19241319079552ffc0d77b8913fb2f28dcd7",
        "timestamp" : 1679388614000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI UISceneDemo*: Add windowResized() callback to update window title showing current surfaceSize\u000a",
        "date" : "2023-03-21 09:50:14 +0100",
        "id" : "701b19241319079552ffc0d77b8913fb2f28dcd7",
        "msg" : "GraphUI UISceneDemo*: Add windowResized() callback to update window title showing current surfaceSize",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/com/jogamp/newt/event/WindowEvent.java",
          "src/newt/classes/com/jogamp/newt/event/KeyEvent.java",
          "src/newt/classes/com/jogamp/newt/event/MonitorEvent.java"
        ],
        "commitId" : "7ae5fc44a1661f4bd800018ea8882fe62c884094",
        "timestamp" : 1679389520000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWTEvent*.getEventTypeString(): Like MouseEvent, drop redundant leading type in returned string\u000a",
        "date" : "2023-03-21 10:05:20 +0100",
        "id" : "7ae5fc44a1661f4bd800018ea8882fe62c884094",
        "msg" : "NEWTEvent*.getEventTypeString(): Like MouseEvent, drop redundant leading type in returned string",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/MonitorEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/WindowEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/KeyEvent.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "d4bab2edea41a67438a62c04074c2aad855bedcd",
        "timestamp" : 1679391494000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI UISceneDemo*: Stop animation loop if window got destroyed\u000a",
        "date" : "2023-03-21 10:38:14 +0100",
        "id" : "d4bab2edea41a67438a62c04074c2aad855bedcd",
        "msg" : "GraphUI UISceneDemo*: Stop animation loop if window got destroyed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI2pActivity.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneNewtDemo.java",
          "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI1pActivity.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "033c96fc22912c48539c5473283455c0179543ef",
        "timestamp" : 1679392842000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI UISceneDemo20: Consolidate the actual implementation and main launcher to our new UISceneDemo naming series\u000a",
        "date" : "2023-03-21 11:00:42 +0100",
        "id" : "033c96fc22912c48539c5473283455c0179543ef",
        "msg" : "GraphUI UISceneDemo20: Consolidate the actual implementation and main launcher to our new UISceneDemo naming series",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI1pActivity.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/android/NEWTGraphUI2pActivity.java"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneGLListener0A.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "1cbe45b9d7f21a751332d6f8dd948992e75dfe99",
        "timestamp" : 1679404368000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: Move reshape() below init from in-between display() impls\u000a",
        "date" : "2023-03-21 14:12:48 +0100",
        "id" : "1cbe45b9d7f21a751332d6f8dd948992e75dfe99",
        "msg" : "GraphUI Scene: Move reshape() below init from in-between display() impls",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "74e11bd9a49f61e49d3c73c4f9b87b4fb7fbaaf3",
        "timestamp" : 1679404560000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Fix Scene.PMVMatrixSetup impl: Setup modelview before using setPlanBox(..)'s gluUnProject(..)\u000a",
        "date" : "2023-03-21 14:16:00 +0100",
        "id" : "74e11bd9a49f61e49d3c73c4f9b87b4fb7fbaaf3",
        "msg" : "GraphUI: Fix Scene.PMVMatrixSetup impl: Setup modelview before using setPlanBox(..)'s gluUnProject(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "d025006b8d24382bad810070f4fa5368f66ff223",
        "timestamp" : 1679405090000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape.setTransform(): Remove 'wiggling' w/ origin, text issue came from Scene.PMVMatrixSetup bug, all shapes resize fine now.\u000a\u000aScene.PMVMatrixSetup bug missed modelview initialition before gluUnProject(), fixed in commit 74e11bd9a49f61e49d3c73c4f9b87b4fb7fbaaf3.\u000a",
        "date" : "2023-03-21 14:24:50 +0100",
        "id" : "d025006b8d24382bad810070f4fa5368f66ff223",
        "msg" : "GraphUI Shape.setTransform(): Remove 'wiggling' w/ origin, text issue came from Scene.PMVMatrixSetup bug, all shapes resize fine now.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "fbbdf8b82e159078274475c5013f2f1147b0a4d8",
        "timestamp" : 1679479519000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: Add optional frustum culling (default: disabled)\u000a",
        "date" : "2023-03-22 11:05:19 +0100",
        "id" : "fbbdf8b82e159078274475c5013f2f1147b0a4d8",
        "msg" : "GraphUI Scene: Add optional frustum culling (default: disabled)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "5bdc5f947353d59930609daad5e223764a1e12e4",
        "timestamp" : 1679479583000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: Add removeShape*(GL2ES2..) variant w/ their destruction for convenience\u000a",
        "date" : "2023-03-22 11:06:23 +0100",
        "id" : "5bdc5f947353d59930609daad5e223764a1e12e4",
        "msg" : "GraphUI Scene: Add removeShape*(GL2ES2..) variant w/ their destruction for convenience",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "f283aa2c7b64100de62a10c0e0aa48911956f222",
        "timestamp" : 1679479658000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: getStatusText(..) drop unset values, be more semantic sensitive (msaa -> smsaa)\u000a",
        "date" : "2023-03-22 11:07:38 +0100",
        "id" : "f283aa2c7b64100de62a10c0e0aa48911956f222",
        "msg" : "GraphUI Scene: getStatusText(..) drop unset values, be more semantic sensitive (msaa -> smsaa)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java"
        ],
        "commitId" : "7d436c60c0eca056e1ee3aca57a022968888cbd7",
        "timestamp" : 1679479815000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape: Make access private where possible & reasonable, synchronize dirty and in draw(..) the whole dirty-validate() region.draw()\u000a",
        "date" : "2023-03-22 11:10:15 +0100",
        "id" : "7d436c60c0eca056e1ee3aca57a022968888cbd7",
        "msg" : "GraphUI Shape: Make access private where possible & reasonable, synchronize dirty and in draw(..) the whole dirty-validate() region.draw()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
        ],
        "commitId" : "f1784eda1866181a1e008c2f935705bf7b0baeb6",
        "timestamp" : 1679479874000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: Adopt to shapesSharpness -> oshapesSharpness rename\u000a",
        "date" : "2023-03-22 11:11:14 +0100",
        "id" : "f1784eda1866181a1e008c2f935705bf7b0baeb6",
        "msg" : "GraphUI Demos: Adopt to shapesSharpness -> oshapesSharpness rename",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "960af62429aef3ec573a7f6fa3ed6b0f5552376f",
        "timestamp" : 1679500385000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font Processing: Produce a 'whitespace' Glyph w/ an OutlineShape (box) to allow better handling of such non-contour symbols.\u000a",
        "date" : "2023-03-22 16:53:05 +0100",
        "id" : "960af62429aef3ec573a7f6fa3ed6b0f5552376f",
        "msg" : "Graph Font Processing: Produce a 'whitespace' Glyph w/ an OutlineShape (box) to allow better handling of such non-contour symbols.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
        ],
        "commitId" : "a5d593478afa2298282a0624b2490fde84c3a292",
        "timestamp" : 1679500504000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font Processing: Use Font.GlyphVisitor instead of OutlineShape.Visitor, allowing to use the Glyph (information).\u000a",
        "date" : "2023-03-22 16:55:04 +0100",
        "id" : "a5d593478afa2298282a0624b2490fde84c3a292",
        "msg" : "Graph Font Processing: Use Font.GlyphVisitor instead of OutlineShape.Visitor, allowing to use the Glyph (information).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
        ],
        "commitId" : "9e4d575d7f7a9817cf11fa4e33504a379d271a21",
        "timestamp" : 1679500755000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Remove OutlineShape.Visitor* as being replaced by Font.GlyphVisitor\u000a\u000a(We may ressurect them if needed for a future use case)\u000a",
        "date" : "2023-03-22 16:59:15 +0100",
        "id" : "9e4d575d7f7a9817cf11fa4e33504a379d271a21",
        "msg" : "Graph: Remove OutlineShape.Visitor* as being replaced by Font.GlyphVisitor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java"
        ],
        "commitId" : "089025825be32ba733313b8c2390223f14edb017",
        "timestamp" : 1679500903000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Add Vec2f and Vec3f, to support a more simple OO vector-math usage, e.g. for animation etc\u000a\u000aImplementation borrowed my 'gfxbox2' C++ project\u000a<https://jausoft.com/cgit/cs_class/gfxbox2.git/tree/include/pixel/pixel3f.hpp#n29>\u000aand its layout from OpenAL's Vec3f.\u000a",
        "date" : "2023-03-22 17:01:43 +0100",
        "id" : "089025825be32ba733313b8c2390223f14edb017",
        "msg" : "Add Vec2f and Vec3f, to support a more simple OO vector-math usage, e.g. for animation etc",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "95ea4470e7a9dd79dd502db800333e350f311d3d",
        "timestamp" : 1679500952000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "UISceneDemo0[01]: Useless minor editing (can't move animator lower as sadly used in our window dtor event handler)\u000a",
        "date" : "2023-03-22 17:02:32 +0100",
        "id" : "95ea4470e7a9dd79dd502db800333e350f311d3d",
        "msg" : "UISceneDemo0[01]: Useless minor editing (can't move animator lower as sadly used in our window dtor event handler)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java",
          "make/scripts/tests.sh",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
        ],
        "commitId" : "ab95624f85cf2ee5fa8d2753ed68597b221fc9c9",
        "timestamp" : 1679501033000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: (Text) Type Animation ...\u000a",
        "date" : "2023-03-22 17:03:53 +0100",
        "id" : "ab95624f85cf2ee5fa8d2753ed68597b221fc9c9",
        "msg" : "GraphUI Demos: (Text) Type Animation ...",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "www/media/archipelago01.160x118.jpg",
          "www/media/wakfu01.160x128.png",
          "www/index.html"
        ],
        "commitId" : "622b32d0ffd263bbd3ae0bd7e9fe57aefce728f1",
        "timestamp" : 1679917186000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "WWW: Add Games: Wakfu + Archipelago\u000a",
        "date" : "2023-03-27 13:39:46 +0200",
        "id" : "622b32d0ffd263bbd3ae0bd7e9fe57aefce728f1",
        "msg" : "WWW: Add Games: Wakfu + Archipelago",
        "paths" : [
          {
            "editType" : "add",
            "file" : "www/media/wakfu01.160x128.png"
          },
          {
            "editType" : "add",
            "file" : "www/media/archipelago01.160x118.jpg"
          },
          {
            "editType" : "edit",
            "file" : "www/index.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "www/index.html"
        ],
        "commitId" : "b01bfd38a4e3cea81aa6ea70ab7d5a59f827cee9",
        "timestamp" : 1679917518000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "WWW: Cleanup Featured Projects intro and have section links bold.\u000a",
        "date" : "2023-03-27 13:45:18 +0200",
        "id" : "b01bfd38a4e3cea81aa6ea70ab7d5a59f827cee9",
        "msg" : "WWW: Cleanup Featured Projects intro and have section links bold.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "www/index.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/Quaternion.java"
        ],
        "commitId" : "e0b096195bd5dd2670b026c972c44ea0b684b757",
        "timestamp" : 1679918236000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Quaternion: Shorten toString() type name\u000a",
        "date" : "2023-03-27 13:57:16 +0200",
        "id" : "e0b096195bd5dd2670b026c972c44ea0b684b757",
        "msg" : "Quaternion: Shorten toString() type name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Quaternion.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "0cea1ffbf415d40b9cff582b15fb5b736ae42580",
        "timestamp" : 1679918387000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Fix Font.getGlyphBoundsFU(): FU of advance is requested here.\u000a\u000aRegression from commit a5d593478afa2298282a0624b2490fde84c3a292\u000a",
        "date" : "2023-03-27 13:59:47 +0200",
        "id" : "0cea1ffbf415d40b9cff582b15fb5b736ae42580",
        "msg" : "Graph: Fix Font.getGlyphBoundsFU(): FU of advance is requested here.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java"
        ],
        "commitId" : "9b91a24ee6f383ca53556c466d84baf56f16940b",
        "timestamp" : 1679919121000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font: Rename getBBox*() -> getBounds*() to preserve a common semantic name\u000a",
        "date" : "2023-03-27 14:12:01 +0200",
        "id" : "9b91a24ee6f383ca53556c466d84baf56f16940b",
        "msg" : "Graph Font: Rename getBBox*() -> getBounds*() to preserve a common semantic name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java",
          "src/newt/classes/com/jogamp/newt/opengl/util/NEWTDemoListener.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/NewtReparentingKeyAdapter.java",
          "src/jogl/classes/com/jogamp/graph/font/FontScale.java",
          "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestFontScale01NOUI.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java"
        ],
        "commitId" : "c9f1d8bb7a564100c8a1084bc8d914f2f4e5e3d2",
        "timestamp" : 1679963867000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph FontScale: Simplify names, fix API doc and add unit test\u000a",
        "date" : "2023-03-28 02:37:47 +0200",
        "id" : "c9f1d8bb7a564100c8a1084bc8d914f2f4e5e3d2",
        "msg" : "Graph FontScale: Simplify names, fix API doc and add unit test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/NewtReparentingKeyAdapter.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestFontScale01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/FontScale.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/TextRendererGLELBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/opengl/util/NEWTDemoListener.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java"
        ],
        "commitId" : "143b67f063d4a3a0f51806355bca23ef4dc0dc3b",
        "timestamp" : 1679963889000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: Remove unused GPUUISceneTextAnim01\u000a",
        "date" : "2023-03-28 02:38:09 +0200",
        "id" : "143b67f063d4a3a0f51806355bca23ef4dc0dc3b",
        "msg" : "GraphUI Demos: Remove unused GPUUISceneTextAnim01",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GPUUISceneTextAnim01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
        ],
        "commitId" : "f7125f6bb2db418064a170ae42466e13b8f51f70",
        "timestamp" : 1679963989000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font.Glyph: Add getFont() (the owner)\u000a",
        "date" : "2023-03-28 02:39:49 +0200",
        "id" : "f7125f6bb2db418064a170ae42466e13b8f51f70",
        "msg" : "Graph Font.Glyph: Add getFont() (the owner)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java"
        ],
        "commitId" : "114cc7be0f43a6cf2540caa0ed47948d7cade54f",
        "timestamp" : 1679964090000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font.GlyphVisitor*: Pass 'char symbol' to visitor, passing full text-processing information\u000a",
        "date" : "2023-03-28 02:41:30 +0200",
        "id" : "114cc7be0f43a6cf2540caa0ed47948d7cade54f",
        "msg" : "Graph Font.GlyphVisitor*: Pass 'char symbol' to visitor, passing full text-processing information",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java"
        ],
        "commitId" : "9bb1c269bc64d385e2b584c34f842990f72ad31d",
        "timestamp" : 1679964108000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph RenderState: Add setColorStatic(float[]) variant\u000a",
        "date" : "2023-03-28 02:41:48 +0200",
        "id" : "9bb1c269bc64d385e2b584c34f842990f72ad31d",
        "msg" : "Graph RenderState: Add setColorStatic(float[]) variant",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "a88a261a6cc78977224c9311d8383ead881d98bc",
        "timestamp" : 1679964191000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Shape.dispatchMouseEvent(): Rename dsx/dsxy -> sx/sy as they denominate whole scale-factor, not their delta\u000a",
        "date" : "2023-03-28 02:43:11 +0200",
        "id" : "a88a261a6cc78977224c9311d8383ead881d98bc",
        "msg" : "GraphUI: Shape.dispatchMouseEvent(): Rename dsx/dsxy -> sx/sy as they denominate whole scale-factor, not their delta",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "5b86483177ec97b30cb82c337483be376e0a1a8e",
        "timestamp" : 1679964554000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Shape: Fix setTransform(): Scale around center and rotate around pivot-point or center; Assume Shape origin to be bottom-left for drag-zoom. Removes questionable scale-hack.\u000a",
        "date" : "2023-03-28 02:49:14 +0200",
        "id" : "5b86483177ec97b30cb82c337483be376e0a1a8e",
        "msg" : "GraphUI: Shape: Fix setTransform(): Scale around center and rotate around pivot-point or center; Assume Shape origin to be bottom-left for drag-zoom. Removes questionable scale-hack.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
        ],
        "commitId" : "d6fbb827781a349892d215c6854202f6f24f78e5",
        "timestamp" : 1679964646000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Label: Enforce bottom-left origin @ 0/0 for good drag-zoom experience (working sticky edge)\u000a",
        "date" : "2023-03-28 02:50:46 +0200",
        "id" : "d6fbb827781a349892d215c6854202f6f24f78e5",
        "msg" : "GraphUI: Label: Enforce bottom-left origin @ 0/0 for good drag-zoom experience (working sticky edge)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
        ],
        "commitId" : "6104bbdce6029d1e3c39aaa5b0f86d9f5ac5965d",
        "timestamp" : 1679964780000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Label: Remove glyphVisitor's debug code (exception handling)\u000a",
        "date" : "2023-03-28 02:53:00 +0200",
        "id" : "6104bbdce6029d1e3c39aaa5b0f86d9f5ac5965d",
        "msg" : "GraphUI Label: Remove glyphVisitor's debug code (exception handling)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
        ],
        "commitId" : "fd66215f7e1e766d906234b978b0ad50cafc4716",
        "timestamp" : 1679964876000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Label: Add getScaledLineHeight() and refine setFontScale(), i.e. only act and markDirty() on change\u000a",
        "date" : "2023-03-28 02:54:36 +0200",
        "id" : "fd66215f7e1e766d906234b978b0ad50cafc4716",
        "msg" : "GraphUI Label: Add getScaledLineHeight() and refine setFontScale(), i.e. only act and markDirty() on change",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/jogamp/graph/ui/shapes/Label0.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
        ],
        "commitId" : "34632c59b5f664c41ef52a4abb9e3e1b484657d4",
        "timestamp" : 1679965068000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Button: Simplify addShapeToRegion()\u000a",
        "date" : "2023-03-28 02:57:48 +0200",
        "id" : "34632c59b5f664c41ef52a4abb9e3e1b484657d4",
        "msg" : "GraphUI Button: Simplify addShapeToRegion()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/jogamp/graph/ui/shapes/Label0.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java",
          "make/scripts/tests.sh",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/ImageButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/GraphShape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
        ],
        "commitId" : "55b552bb87fb1fefcf53dd7784a53d605969de96",
        "timestamp" : 1679971270000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Decouple GraphShape from Shape, i.e. allow future Shape w/o Graph/GLRegion\u000a",
        "date" : "2023-03-28 04:41:10 +0200",
        "id" : "55b552bb87fb1fefcf53dd7784a53d605969de96",
        "msg" : "GraphUI: Decouple GraphShape from Shape, i.e. allow future Shape w/o Graph/GLRegion",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/GraphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/ImageButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
        ],
        "commitId" : "1fbace65be988e28c463b3c85d8646aa512b0480",
        "timestamp" : 1679971334000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demo UISceneDemo02: Use em-sized label w/ scale.\u000a",
        "date" : "2023-03-28 04:42:14 +0200",
        "id" : "1fbace65be988e28c463b3c85d8646aa512b0480",
        "msg" : "GraphUI Demo UISceneDemo02: Use em-sized label w/ scale.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
        ],
        "commitId" : "e7e49f80af493b5bed7ea29fbc7fb2c7155e1d93",
        "timestamp" : 1679971429000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demo UISceneDemo03: Add kerning and compensate on label 0/0 origin using Glyph bounds minY()\u000a",
        "date" : "2023-03-28 04:43:49 +0200",
        "id" : "e7e49f80af493b5bed7ea29fbc7fb2c7155e1d93",
        "msg" : "GraphUI Demo UISceneDemo03: Add kerning and compensate on label 0/0 origin using Glyph bounds minY()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "ad6349be75698cc2aba19e3cade426e093f58f9c",
        "timestamp" : 1679971629000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font: TypecastFont: getGlyphBoundsFU() + processString(): If isWhitespace() continue w/ AABBox resize, but don't earmark this (whitespace) glyph for next left_glyph (kerning).\u000a",
        "date" : "2023-03-28 04:47:09 +0200",
        "id" : "ad6349be75698cc2aba19e3cade426e093f58f9c",
        "msg" : "Graph Font: TypecastFont: getGlyphBoundsFU() + processString(): If isWhitespace() continue w/ AABBox resize, but don't earmark this (whitespace) glyph for next left_glyph (kerning).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "c315d5be3468514322a619cdb20723bb0bc574f7",
        "timestamp" : 1679971651000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: Added API doc args\u000a",
        "date" : "2023-03-28 04:47:31 +0200",
        "id" : "c315d5be3468514322a619cdb20723bb0bc574f7",
        "msg" : "GraphUI Scene: Added API doc args",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "00e38d20592859100353f99407ba44fa5659603b",
        "timestamp" : 1679972689000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape.setTransform(): Fix !sameScaleRotatePivot && hasRotate && !hasRotPivot: Don't scale pivot back from center-pivot, same as w/ hasRotPivot\u000a\u000aA copy & paste bug ..\u000a",
        "date" : "2023-03-28 05:04:49 +0200",
        "id" : "00e38d20592859100353f99407ba44fa5659603b",
        "msg" : "GraphUI Shape.setTransform(): Fix !sameScaleRotatePivot && hasRotate && !hasRotPivot: Don't scale pivot back from center-pivot, same as w/ hasRotPivot",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "943a656c155bcba21e63059ef5d59be7198053c8",
        "timestamp" : 1679972723000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape: Rename rotOrigin -> rotPivot\u000a",
        "date" : "2023-03-28 05:05:23 +0200",
        "id" : "943a656c155bcba21e63059ef5d59be7198053c8",
        "msg" : "GraphUI Shape: Rename rotOrigin -> rotPivot",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "www/index.html"
        ],
        "commitId" : "552ae194c5766242e1f00cfa221d24c1412c0bd4",
        "timestamp" : 1680001261000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "WWW: Remove 'Sponsor' button, annoying and no feedback\u000a",
        "date" : "2023-03-28 13:01:01 +0200",
        "id" : "552ae194c5766242e1f00cfa221d24c1412c0bd4",
        "msg" : "WWW: Remove 'Sponsor' button, annoying and no feedback",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "www/index.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md"
        ],
        "commitId" : "6e6ddc8bf13f52c1aa99232b89b614ada48966d7",
        "timestamp" : 1680001320000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "README: Shorten sponsor text\u000a",
        "date" : "2023-03-28 13:02:00 +0200",
        "id" : "6e6ddc8bf13f52c1aa99232b89b614ada48966d7",
        "msg" : "README: Shorten sponsor text",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java"
        ],
        "commitId" : "67cfcbab5497401e15c92746858974c444a0c155",
        "timestamp" : 1680141689000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Vec2f, Vec3f: Return this @ set(..), add set(float[]) and add(float, ..)\u000a",
        "date" : "2023-03-30 04:01:29 +0200",
        "id" : "67cfcbab5497401e15c92746858974c444a0c155",
        "msg" : "Vec2f, Vec3f: Return this @ set(..), add set(float[]) and add(float, ..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/GraphShape.java"
        ],
        "commitId" : "c3ae7d6b6ecc98146c2c011aac2edb75af5f928f",
        "timestamp" : 1680141744000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph*: API doc refinement\u000a",
        "date" : "2023-03-30 04:02:24 +0200",
        "id" : "c3ae7d6b6ecc98146c2c011aac2edb75af5f928f",
        "msg" : "Graph*: API doc refinement",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/GraphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "f569ac9222125372b97bd73aa5cb5ad05a4f7da9",
        "timestamp" : 1680142140000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape: Refine API doc\u000a",
        "date" : "2023-03-30 04:09:00 +0200",
        "id" : "f569ac9222125372b97bd73aa5cb5ad05a4f7da9",
        "msg" : "GraphUI Shape: Refine API doc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "901df212f75db8cf51349f53abeaed6ef62b61d3",
        "timestamp" : 1680142736000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape.setTransform(..): Scale before rotate to preserve target-size in rotation\u000a",
        "date" : "2023-03-30 04:18:56 +0200",
        "id" : "901df212f75db8cf51349f53abeaed6ef62b61d3",
        "msg" : "GraphUI Shape.setTransform(..): Scale before rotate to preserve target-size in rotation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "make/scripts/tests.sh",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GlyphShape.java"
        ],
        "commitId" : "d959e28119a5a973968d47a988d3dd4b6320db87",
        "timestamp" : 1680144111000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Add GlyphShape representing a single Font.Glyph as a GraphShape; Use w/ UISceneDemo03 Type Animation...\u000a\u000aA list of GlyphShape can be created via GlyphShape.processString(..),\u000awhich preserves all details incl. intended original unscaled position and its kerning.\u000aWhitespace or contourless Glyphs are dropped.\u000a\u000aA GlyphShape is represented in font em-size [0..1] unscaled.\u000a\u000a+++\u000a\u000aUISceneDemo03 Type Animation\u000a- Using GlyphShape and apply scaling via its Shape.setScale()\u000a- Recalc fontScale per used text\u000a- Refined 'arrival' criteria and smoothing out near target w/ speed-up rotation\u000a- Using GraphUIDemoArgs to parse common commandline demo options\u000a",
        "date" : "2023-03-30 04:41:51 +0200",
        "id" : "d959e28119a5a973968d47a988d3dd4b6320db87",
        "msg" : "GraphUI: Add GlyphShape representing a single Font.Glyph as a GraphShape; Use w/ UISceneDemo03 Type Animation...",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GlyphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
        ],
        "commitId" : "655993caf745fc31e1d389b660b650b8f8c7d4f5",
        "timestamp" : 1680146755000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: Add screenshot(..) method for convenience\u000a",
        "date" : "2023-03-30 05:25:55 +0200",
        "id" : "655993caf745fc31e1d389b660b650b8f8c7d4f5",
        "msg" : "GraphUI Scene: Add screenshot(..) method for convenience",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
        ],
        "commitId" : "783e052fc82c188342873c64652dec3a3d505a6e",
        "timestamp" : 1680146895000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demo UISceneDemo03: Add 1 space padding to demo-text, make screenshots, add launch screen (visible @ '-wait')\u000a",
        "date" : "2023-03-30 05:28:15 +0200",
        "id" : "783e052fc82c188342873c64652dec3a3d505a6e",
        "msg" : "GraphUI Demo UISceneDemo03: Add 1 space padding to demo-text, make screenshots, add launch screen (visible @ '-wait')",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
        ],
        "commitId" : "adb1373821d60394343b6716a6d0ee179f875a36",
        "timestamp" : 1680147175000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demo: UISceneDemo20 use Scene.screenshot(..), drop own code\u000a",
        "date" : "2023-03-30 05:32:55 +0200",
        "id" : "adb1373821d60394343b6716a6d0ee179f875a36",
        "msg" : "GraphUI Demo: UISceneDemo20 use Scene.screenshot(..), drop own code",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_allprop01.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_rgss.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_even.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_polesequal.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_poles_bilin1.glsl",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad3.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_polesprop01.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad2.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1-curve_simple.orig.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-msaa.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_odd.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_quincunx.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad.glsl"
        ],
        "commitId" : "7eb31a920506f7c25ed3ce79ac44dcf06d3fca82",
        "timestamp" : 1680202100000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph GLSL: Enable 'discard' in fragment shader w/o GLRendererQuirks.GLSLBuggyDiscard to avoid overdraw of such regions.\u000a\u000aHistorically we disabled `discard` due to an old NV tegra2 compiler bug,\u000awhich caused the compiler to freeze.\u000a\u000aToday we no more seem to have this GLSL compiler issue, i.e. GLRendererQuirks.GLSLBuggyDiscard never gets set.\u000a",
        "date" : "2023-03-30 20:48:20 +0200",
        "id" : "7eb31a920506f7c25ed3ce79ac44dcf06d3fca82",
        "msg" : "Graph GLSL: Enable 'discard' in fragment shader w/o GLRendererQuirks.GLSLBuggyDiscard to avoid overdraw of such regions.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad2.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_rgss.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_quincunx.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass1-curve_simple.orig.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-msaa.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad3.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_polesprop01.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_poles_bilin1.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_even.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_polesequal.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_odd.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_allprop01.glsl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
        ],
        "commitId" : "68092a50c3b5d7fca72b1b9dc01d59b4444bcefb",
        "timestamp" : 1680202244000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: Cover more std arguments via GraphUIDemoArgs\u000a",
        "date" : "2023-03-30 20:50:44 +0200",
        "id" : "68092a50c3b5d7fca72b1b9dc01d59b4444bcefb",
        "msg" : "GraphUI Demos: Cover more std arguments via GraphUIDemoArgs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/GraphShape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java"
        ],
        "commitId" : "4f2e451d9f6d8edadc1dc392d3831d3b25675693",
        "timestamp" : 1680202553000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Fix debug-box and allow API access in Shape (off, thickness fractional to box size) and Scene for all Shapes.\u000a",
        "date" : "2023-03-30 20:55:53 +0200",
        "id" : "4f2e451d9f6d8edadc1dc392d3831d3b25675693",
        "msg" : "GraphUI: Fix debug-box and allow API access in Shape (off, thickness fractional to box size) and Scene for all Shapes.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/GraphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
        ],
        "commitId" : "6af985dc6d2c848a899bfea4f82540e8db181988",
        "timestamp" : 1680203280000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape: DragZoom: Allow resize_sxy_min down to 1/2%, need to find a good way to auto-deteminate this one (dpi, ..)\u000a\u000aType animation UISceneDemo03 requires this to resize a single glyph, i.e. 0.03f was too big.\u000a1% might be OK, but then .. maybe not.\u000a\u000aIn general, a dpi autodetermination of a minimal scale/size might be OK,\u000aassuming user sits in front of a screen and not having a multi-screen circus arena setup ;-)\u000a",
        "date" : "2023-03-30 21:08:00 +0200",
        "id" : "6af985dc6d2c848a899bfea4f82540e8db181988",
        "msg" : "GraphUI Shape: DragZoom: Allow resize_sxy_min down to 1/2%, need to find a good way to auto-deteminate this one (dpi, ..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-msaa.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad2.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_odd.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_allprop01.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_quincunx.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_even.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_rgss.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_polesequal.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_poles_bilin1.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad3.glsl",
          "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_polesprop01.glsl"
        ],
        "commitId" : "759a381963476e2e64b7afba0d6ef2bafeb35417",
        "timestamp" : 1680211925000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Shader: Complete the USE_DISCARD logic avoiding output set after discard, even though technically allowed (ignored after discard)\u000a",
        "date" : "2023-03-30 23:32:05 +0200",
        "id" : "759a381963476e2e64b7afba0d6ef2bafeb35417",
        "msg" : "Graph Shader: Complete the USE_DISCARD logic avoiding output set after discard, even though technically allowed (ignored after discard)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_poles_bilin1.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_quincunx.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_polesprop01.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_allprop01.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_even.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-msaa.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_rgss.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad2.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad3.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_polesequal.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_bforce_odd.glsl"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/shader/curverenderer01-pass2-vbaa_flipquad.glsl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java",
          "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/GLButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/RoundButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/ImageButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/ImageButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GlyphShape.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/GraphShape.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/CrossHair.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Label.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
        ],
        "commitId" : "4f32f3aba62a73cafecec8af461cff4d0d475882",
        "timestamp" : 1680253604000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Relocate com.jogamp.graph.ui.gl.* -> com.jogamp.graph.ui.*, resolve GL/VK abstraction at a later time differently\u000a\u000aActual GPU rendering toolkit dependency can be abstracted differently, i.e. GPU <- { GL, VK } etc.\u000a",
        "date" : "2023-03-31 11:06:44 +0200",
        "id" : "4f32f3aba62a73cafecec8af461cff4d0d475882",
        "msg" : "GraphUI: Relocate com.jogamp.graph.ui.gl.* -> com.jogamp.graph.ui.*, resolve GL/VK abstraction at a later time differently",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GLButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/TexSeqButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/ImageButton.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/MediaButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/ImageButton.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/GLButton.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Shape.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/GraphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/Scene.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Label.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/CrossHair.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/GlyphShape.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Label.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/RoundButton.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/CrossHair.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/Button.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java"
          },
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/gl/shapes/RoundButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "603233b19373bfa157dd033132bff809af6a123f",
        "timestamp" : 1680253766000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Use Shape.ZAscendingComparator in Scene, to be reused across typs\u000a",
        "date" : "2023-03-31 11:09:26 +0200",
        "id" : "603233b19373bfa157dd033132bff809af6a123f",
        "msg" : "GraphUI: Use Shape.ZAscendingComparator in Scene, to be reused across typs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject01NOUI.java",
          "src/jogl/classes/jogamp/opengl/ProjectFloat.java",
          "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java",
          "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java",
          "src/jogl/classes/com/jogamp/opengl/util/stereo/StereoUtil.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java",
          "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java",
          "src/jogl/classes/com/jogamp/opengl/util/stereo/ViewerPose.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f03InversionNOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TrianglesInstancedRendererHardcoded.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix03NOUI.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f02MulNOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject02NOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java",
          "src/jogl/classes/jogamp/opengl/util/stereo/GenericStereoDeviceRenderer.java",
          "src/demos/com/jogamp/opengl/demos/av/StereoDemo01.java",
          "src/oculusvr/classes/jogamp/opengl/oculusvr/OVRStereoDeviceRenderer.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java",
          "src/demos/com/jogamp/opengl/demos/es2/GearsES2.java",
          "src/jogl/classes/com/jogamp/opengl/util/stereo/StereoDevice.java",
          "src/jogl/classes/com/jogamp/opengl/math/Quaternion.java",
          "src/jogl/classes/com/jogamp/opengl/math/Matrix4.java",
          "src/jogl/classes/com/jogamp/opengl/math/Matrix4f.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TriangleInstancedRendererWithShaderState.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/Matrix4fb.java",
          "src/jogl/classes/com/jogamp/opengl/util/stereo/LocationSensorParameter.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f01NOUI.java",
          "make/scripts/make.jogl.all.linux-x86_64.sh",
          "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestQuaternion01NOUI.java",
          "src/jogl/classes/com/jogamp/opengl/util/stereo/generic/GenericStereoDeviceFactory.java",
          "src/jogl/classes/com/jogamp/opengl/util/stereo/EyeParameter.java",
          "src/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java",
          "src/jogl/classes/jogamp/opengl/util/stereo/GenericStereoDevice.java",
          "src/oculusvr/classes/jogamp/opengl/oculusvr/OVRStereoDevice.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java",
          "src/jogl/classes/com/jogamp/opengl/math/Ray.java",
          "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec4f.java"
        ],
        "commitId" : "15e60161787224e85172685f74dc0ac195969b51",
        "timestamp" : 1680680548000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Math: Complete Matrix4f w/ Vec[234]f and adopt it throughout Quaternion, Ray, AABBox, Frustum, Stereo*, ... adding hook to PMVMatrix\u000a\u000aMotivation was to simplify matrix + vector math usage, ease review and avoid usage bugs.\u000a\u000aMatrix4f implementation uses dedicated float fields instead of an array.\u000a\u000aPerformance didn't increase much,\u000aas JVM >= 11(?) has some optimizations to drop the array bounds check.\u000a\u000aAMD64 + OpenJDK17\u000a- Matrix4f.mul(a, b) got a roughly ~10% enhancement over FloatUtil.multMatrix(a, b, dest)\u000a- Matrix4f.mul(b) roughly ~3% slower than FloatUtil.multMatrix(a, b, dest)\u000a- FloatUtil.multMatrix(a, a_off, b, b_off, dest) is considerable slower than all\u000a- Matrix4f.invert(..) roughly ~3% slower than FloatUtil.invertMatrix(..)\u000a\u000aRaspberryPi 4b aarch64 + OpenJDK17\u000a- Matrix4f.mul(a, b) got a roughly ~10% enhancement over FloatUtil.multMatrix(a, b, dest)\u000a- Matrix4f.mul(b) roughly ~20% slower than FloatUtil.multMatrix(a, b)\u000a- FloatUtil.multMatrix(a, a_off, b, b_off, dest) is considerable slower than all\u000a- Matrix4f.invert(..) roughly ~4% slower than FloatUtil.invertMatrix(..)\u000a\u000aConclusion\u000a- Matrix4f.mul(b) needs to be revised (esp for aarch64)\u000a- Matrix4f.invert(..) should also not be slower ..\u000a",
        "date" : "2023-04-05 09:42:28 +0200",
        "id" : "15e60161787224e85172685f74dc0ac195969b51",
        "msg" : "Math: Complete Matrix4f w/ Vec[234]f and adopt it throughout Quaternion, Ray, AABBox, Frustum, Stereo*, ... adding hook to PMVMatrix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/stereo/StereoUtil.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Matrix4.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/ProjectFloat.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/stereo/LocationSensorParameter.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/oculusvr/classes/jogamp/opengl/oculusvr/OVRStereoDeviceRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/stereo/StereoDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/stereo/EyeParameter.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/make.jogl.all.linux-x86_64.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject02NOUI.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Matrix4f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/stereo/GenericStereoDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f03InversionNOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/StereoDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          },
          {
            "editType" : "edit",
            "file" : "src/oculusvr/classes/jogamp/opengl/oculusvr/OVRStereoDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestQuaternion01NOUI.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec4f.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Quaternion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TriangleInstancedRendererWithShaderState.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f02MulNOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/stereo/generic/GenericStereoDeviceFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix03NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Ray.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TrianglesInstancedRendererHardcoded.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/Matrix4fb.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestFontsNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/stereo/GenericStereoDeviceRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/stereo/ViewerPose.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastHMetrics.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java",
          "src/graphui/classes/com/jogamp/graph/ui/Container.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java",
          "src/graphui/classes/jogamp/graph/ui/shapes/Label0.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/graphui/classes/jogamp/graph/ui/TreeTool.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Label.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java",
          "make/scripts/tests.sh",
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/Group.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
        ],
        "commitId" : "1eb9d91bbf5d24a02c4d9e98501ff51eb7ecdcd0",
        "timestamp" : 1680681986000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Adopting Vec*f API; Adding Group; Scene + Group are Container, traversing the PMVMatrix throughout childs (-> see TreeTool).\u000a\u000aUtilizing the Vec*f (and Matrix4f) API w/ AABBox et al renders our code more clean & safe,\u000asee commit 15e60161787224e85172685f74dc0ac195969b51.\u000a\u000aA Group allows to contain multiple Shapes,\u000ahence the PMVMatrix must be traversed accordingly using TreeTool\u000afor all operations (draw, picking, win->obj coordinates, ..).\u000a\u000aHence Scene + Group are now implementing Container\u000aand reuse code via TreeTool and a Shape.Visitor*.\u000a\u000aThis will allow further simplification of user code.\u000a",
        "date" : "2023-04-05 10:06:26 +0200",
        "id" : "1eb9d91bbf5d24a02c4d9e98501ff51eb7ecdcd0",
        "msg" : "GraphUI: Adopting Vec*f API; Adding Group; Scene + Group are Container, traversing the PMVMatrix throughout childs (-> see TreeTool).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/jogamp/graph/ui/shapes/Label0.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Container.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/jogamp/graph/ui/TreeTool.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/anim/TestAWTCardLayoutAnimatorStartStopBug532.java"
        ],
        "commitId" : "339a246403b1eee3c8dbfda89943a80c2b855c85",
        "timestamp" : 1680682004000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TestAWTCardLayoutAnimatorStartStopBug532: Suppress warnings\u000a",
        "date" : "2023-04-05 10:06:44 +0200",
        "id" : "339a246403b1eee3c8dbfda89943a80c2b855c85",
        "msg" : "TestAWTCardLayoutAnimatorStartStopBug532: Suppress warnings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/anim/TestAWTCardLayoutAnimatorStartStopBug532.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
        ],
        "commitId" : "24113f8e3452df8c8bb9e6136fa12bfed3bcc312",
        "timestamp" : 1680682774000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "AABBOX: Revert API doc copy/type errors from commit 15e60161787224e85172685f74dc0ac195969b51\u000a",
        "date" : "2023-04-05 10:19:34 +0200",
        "id" : "24113f8e3452df8c8bb9e6136fa12bfed3bcc312",
        "msg" : "AABBOX: Revert API doc copy/type errors from commit 15e60161787224e85172685f74dc0ac195969b51",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/math/Matrix4fb.java",
          "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f02MulNOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f03InversionNOUI.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/com/jogamp/opengl/math/Matrix4f.java"
        ],
        "commitId" : "10b60e10ece3cbc3e0b8a68ac73229371530e0ba",
        "timestamp" : 1680730585000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Matrix4f Perf: Enhance invert(), Drop (test) load on Matrix4f.mul(Matrix4f) for fair and realistic numbers - Both mul() ops faster than FloatUtil\u000a\u000aEnhanced invert() of Matrix4f* and FloatUtil: Use 1f/det factor for burst scale.\u000a\u000aEnhanced Matrix4f.invert(..): Use factored-out mulScale() to deliver the scale,\u000agiving a good 10% advantage on aarch64 and amd64.\u000a\u000aBrings Matrix4f.invert(..) on par w/ FloatUtil, on aarch64 even a 14% advantage.\u000a\u000a+++\u000a\u000aTestMatrix4f02MulNOUI added an additional Matrix4f.load() to the mul(Matrix4f) loop test,\u000awhich surely is an extra burden and not realistic as the mul(Matrix4f, Matrix4f) and FloatUtil\u000apendants also don't count loading a value.\u000a\u000aMatrix4f.mul(Matrix4f) shall be used to utilize an already stored value anyways.\u000aMatrix4f.mul(Matrix4f) didn't really exist in FloatUtil.\u000a\u000aSame is true for Matrix4f.invert(), re-grouped order, i.e. pushing the non-arg variant last.\u000a\u000a+++\u000a\u000aRevised performance numbers from commit 15e60161787224e85172685f74dc0ac195969b51\u000a\u000aAMD64 + OpenJDK17\u000a- FloatUtil.multMatrix(a, a_off, b, b_off, dest) is considerable slower than all\u000a- Matrix4f.mul(a, b) roughly ~10% faster than FloatUtil.multMatrix(a, b, dest)\u000a- Matrix4f.mul(b)    roughly ~18% faster than FloatUtil.multMatrix(a, b, dest) (*)\u000a- Matrix4f.invert(a) roughly ~ 2% faster than FloatUtil.invertMatrix(..)\u000a- Matrix4f.invert()  roughly ~ 4% slower than FloatUtil.invertMatrix(..) (*)\u000a- Launched: nice -19 scripts/tests-x64.sh\u000a\u000aRaspberryPi 4b aarch64 + OpenJDK17\u000a- FloatUtil.multMatrix(a, a_off, b, b_off, dest) is considerable slower than all\u000a- Matrix4f.mul(a, b) roughly ~ 9% faster than FloatUtil.multMatrix(a, b, dest)\u000a- Matrix4f.mul(b)    roughly ~14% faster than FloatUtil.multMatrix(a, b, dest) (*)\u000a- Matrix4f.invert(a) roughly ~14% faster than FloatUtil.invertMatrix(..)\u000a- Matrix4f.invert()  roughly ~12% faster than FloatUtil.invertMatrix(..) (*)\u000a- Launched: nice -19 scripts/tests-linux-aarch64.sh\u000a\u000a(*) not a true comparison in feature, as operating on 'this' matrix values\u000a    for one argument, unavailable to FloatUtil.\u000a\u000aConclusion\u000a- Matrix4f.mul(..) is considerable faster!\u000a- Matrix4f.invert(..) faster, esp on aarch64\u000a\u000aAnd additional Matrix4fb tests using float[16] similar to FloatUtil\u000aalso demonstrates less performance compared to Matrix4f using\u000adedicated float fields.\u000a",
        "date" : "2023-04-05 23:36:25 +0200",
        "id" : "10b60e10ece3cbc3e0b8a68ac73229371530e0ba",
        "msg" : "Matrix4f Perf: Enhance invert(), Drop (test) load on Matrix4f.mul(Matrix4f) for fair and realistic numbers - Both mul() ops faster than FloatUtil",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f03InversionNOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Matrix4f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f02MulNOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/Matrix4fb.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java",
          "src/jogl/classes/com/jogamp/opengl/GLUniformData.java",
          "src/jogl/classes/jogamp/opengl/ProjectFloat.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject01NOUI.java",
          "src/jogl/classes/com/jogamp/opengl/util/SyncMatrix4f16.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fMatrixMulNOUI.java",
          "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java",
          "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/util/DemoGL2ES2ImmModeSink.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/offscreen/ReadBuffer2Screen.java",
          "src/demos/com/jogamp/opengl/demos/es2/PointsDemoES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TrianglesInstancedRendererHardcoded.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f03InversionNOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/Mix2TexturesES2.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/LandscapeES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix03NOUI.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareMappedES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f02MulNOUI.java",
          "src/jogl/classes/com/jogamp/opengl/util/SyncMatrices4f.java",
          "src/jogl/classes/com/jogamp/opengl/util/SyncBuffer.java",
          "src/jogl/classes/com/jogamp/opengl/math/Recti.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fProject02NOUI.java",
          "src/demos/com/jogamp/opengl/demos/es2/GearsES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/LineSquareXDemoES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/Matrix4fb.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil02MatrixMatrixMultNOUI.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java",
          "src/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TessellationShader01aGLSL440CoreHardcoded.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TessellationShader01bGL4.java",
          "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceCubeES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java",
          "src/test/com/jogamp/opengl/test/junit/util/MiscUtils.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec4f.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureDraw01ES2Listener.java",
          "src/jogl/classes/com/jogamp/opengl/util/SyncMatrices4f16.java",
          "src/jogl/classes/com/jogamp/opengl/util/SyncAction.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState01NEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix01NEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/GeomShader01TextureGL3.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/MultisampleDemoES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureSequenceCubeES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fProject01NOUI.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURendererListenerBase01.java",
          "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java",
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/Group.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject02NOUI.java",
          "src/jogl/classes/jogamp/opengl/util/glsl/GLSLTextureRaster.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVTransform01NOUI.java",
          "src/demos/com/jogamp/opengl/demos/es2/RedSquareES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java",
          "src/jogl/classes/com/jogamp/opengl/math/Quaternion.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TriangleInstancedRendererWithShaderState.java",
          "src/jogl/classes/com/jogamp/opengl/math/Matrix4f.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/FBOMix2DemosES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureDraw02ES2ListenerFBO.java",
          "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOMRTNEWT01.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/ElektronenMultiplizierer.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/PointsDemoES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/glsl/TestRulerNEWT01.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec2i.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState02NEWT.java",
          "src/jogl/classes/com/jogamp/opengl/util/SyncMatrix4f.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestQuaternion01NOUI.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil03InversionNOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix02NOUI.java",
          "src/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
        ],
        "commitId" : "84a6d63205ec49ddfb36b57fe2888425ecda3a5a",
        "timestamp" : 1680849978000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "PMVMatrix rewrite using Matrix4f, providing SyncMatrix4f* for GLUniformData; Utilize Vec3f, Recti, .. throughout API (Matrix4f, AABBox, .. Graph*)\u000a\u000aBig Easter Cleanup\u000a- Net -214 lines of code, despite new classes.\u000a- GLUniformData buffer can be synced w/ underlying data via SyncAction/SyncBuffer, e.g. SyncMatrix4f + SyncMatrices4f\u000a- PMVMatrix rewrite using Matrix4f and providing SyncMatrix4f/Matrices4f to sync w/ GLUniformData\u000a- Additional SyncMatrix4f16 + SyncMatrices4f16 covering Matrix4f sync w/ GLUniformData w/o PMVMatrix\u000a- Utilize Vec3f, Recti, .. throughout API (Matrix4f, AABBox, .. Graph*)\u000a- Moved FloatUtil -> Matrix4f, kept a few basic matrix ops for ProjectFloat\u000a- Most, if not all, float[] and int[] should have been moved to proper classes\u000a- int[] -> Recti for viewport rectangle\u000a- Matrix4f and PMVMatrix is covered by math unit tests (as was FloatUtil before) -> save\u000a\u000aPassed all unit tests on AMD64 GNU/Linux\u000a",
        "date" : "2023-04-07 08:46:18 +0200",
        "id" : "84a6d63205ec49ddfb36b57fe2888425ecda3a5a",
        "msg" : "PMVMatrix rewrite using Matrix4f, providing SyncMatrix4f* for GLUniformData; Utilize Vec3f, Recti, .. throughout API (Matrix4f, AABBox, .. Graph*)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/offscreen/ReadBuffer2Screen.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f02MulNOUI.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Recti.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLUniformData.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/PointsDemoES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/MultisampleDemoES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/RedSquareES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/glsl/GLSLTextureRaster.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TriangleInstancedRendererWithShaderState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureDraw02ES2ListenerFBO.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TrianglesInstancedRendererHardcoded.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/Mix2TexturesES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureDraw01ES2Listener.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil02MatrixMatrixMultNOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix02NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Matrix4f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/TextureSequenceCubeES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVTransform01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/PointsDemoES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareMappedES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/ElektronenMultiplizierer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestQuaternion01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceES2.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fMatrixMulNOUI.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fProject01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glsl/TestRulerNEWT01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix01NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec4f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOMRTNEWT01.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/SyncMatrix4f16.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TessellationShader01aGLSL440CoreHardcoded.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/TextureSequenceCubeES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/ProjectFloat.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject02NOUI.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/SyncMatrices4f16.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fProject02NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/SyncBuffer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState02NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glsl/TestGLSLShaderState01NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/Matrix4fb.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4f03InversionNOUI.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/SyncAction.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TessellationShader01bGL4.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec2i.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/GeomShader01TextureGL3.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/util/DemoGL2ES2ImmModeSink.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/SyncMatrices4f.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtil03InversionNOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/MiscUtils.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestFloatUtilProject01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/LineSquareXDemoES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/LandscapeES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/FBOMix2DemosES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix03NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Quaternion.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/SyncMatrix4f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "LICENSE.txt"
        ],
        "commitId" : "9eb42eded3a67cb6afad862d64b6c6dd9c4aa5a3",
        "timestamp" : 1680850033000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "LICENSE: Year range bump, update URL refs\u000a",
        "date" : "2023-04-07 08:47:13 +0200",
        "id" : "9eb42eded3a67cb6afad862d64b6c6dd9c4aa5a3",
        "msg" : "LICENSE: Year range bump, update URL refs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "LICENSE.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "f6e4b4afcec4425f266536d02fd0487e383aa1c4",
        "timestamp" : 1680852200000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "VBORegion2P*ES2: Just instantiate SyncMatrices4f16 in place, drop local ref\u000a",
        "date" : "2023-04-07 09:23:20 +0200",
        "id" : "f6e4b4afcec4425f266536d02fd0487e383aa1c4",
        "msg" : "VBORegion2P*ES2: Just instantiate SyncMatrices4f16 in place, drop local ref",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/Doxyfile.javapublic.in",
          "make/build-common.xml",
          "make/build.xml"
        ],
        "commitId" : "30bcae5642cb954efb0af07a5f5922f5eb7ca29a",
        "timestamp" : 1680856980000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Adding experimental Doxygen target 'doxygen.public' .. (WIP)\u000a\u000aMust be manually incoked now, is working but currently takes everything (dot graph takes its good time).\u000a\u000aBenefits\u000a- Working nice html docs\u000a- UML and collab diagrams\u000a- Gets all tests and demos referenced, user can easily look it up\u000a- Source is also included, nice browsing\u000a\u000aThe current setup might be too big .. we will see.\u000a",
        "date" : "2023-04-07 10:43:00 +0200",
        "id" : "30bcae5642cb954efb0af07a5f5922f5eb7ca29a",
        "msg" : "Adding experimental Doxygen target 'doxygen.public' .. (WIP)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/build.xml"
          },
          {
            "editType" : "edit",
            "file" : "make/build-common.xml"
          },
          {
            "editType" : "add",
            "file" : "make/Doxyfile.javapublic.in"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doxygen/doxygen-all-pub.cfg",
          "doxygen/doxygen-jogl-spec.cfg",
          "doxygen/doxygen-all-dev.cfg",
          "make/Doxyfile.javapublic.in",
          "doxygen/Doxyfile.javaall.in",
          "www/index.html",
          "make/build.xml",
          "README.md",
          "doxygen/Doxyfile.javapublic.in"
        ],
        "commitId" : "3d5d25b8f51f810f5350b63ef34e5aff7fb73bd3",
        "timestamp" : 1680913640000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Doxygen: Refine javapublic + javaall, update README.md and www/index.html text\u000a",
        "date" : "2023-04-08 02:27:20 +0200",
        "id" : "3d5d25b8f51f810f5350b63ef34e5aff7fb73bd3",
        "msg" : "Doxygen: Refine javapublic + javaall, update README.md and www/index.html text",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "www/index.html"
          },
          {
            "editType" : "edit",
            "file" : "make/build.xml"
          },
          {
            "editType" : "delete",
            "file" : "make/Doxyfile.javapublic.in"
          },
          {
            "editType" : "delete",
            "file" : "doxygen/doxygen-all-dev.cfg"
          },
          {
            "editType" : "add",
            "file" : "doxygen/Doxyfile.javaall.in"
          },
          {
            "editType" : "add",
            "file" : "doxygen/Doxyfile.javapublic.in"
          },
          {
            "editType" : "delete",
            "file" : "doxygen/doxygen-all-pub.cfg"
          },
          {
            "editType" : "delete",
            "file" : "doxygen/doxygen-jogl-spec.cfg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
        ],
        "commitId" : "9a0b3014428a6a9483abb02769637f76e4c8c728",
        "timestamp" : 1680913703000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "PMVMatrix API doc: Use `` to quote code since {@code } causes block-quoting w/ Doxygen. Doxygen uses markdown\u000a",
        "date" : "2023-04-08 02:28:23 +0200",
        "id" : "9a0b3014428a6a9483abb02769637f76e4c8c728",
        "msg" : "PMVMatrix API doc: Use `` to quote code since {@code } causes block-quoting w/ Doxygen. Doxygen uses markdown",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md"
        ],
        "commitId" : "c65c15281a887dd17308f4c73933188dc13261a0",
        "timestamp" : 1680914460000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "README.md: Add blog + 2 more individuals (total +3 today)\u000a",
        "date" : "2023-04-08 02:41:00 +0200",
        "id" : "c65c15281a887dd17308f4c73933188dc13261a0",
        "msg" : "README.md: Add blog + 2 more individuals (total +3 today)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java",
          "make/scripts/tests.sh",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "f0ded6e338cbc23f90c53e43673ae774580d9cb0",
        "timestamp" : 1680976271000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Adjust for rotation: Drag-resize and -move (flip x- and/or y-axix), as well as getSurfaceSize(..) (use absolute size)\u000a\u000aTested w/ UISceneDemo01b and UISceneDemo03, where you now can pick any moving glyph at any rotation and drag it.\u000a",
        "date" : "2023-04-08 19:51:11 +0200",
        "id" : "f0ded6e338cbc23f90c53e43673ae774580d9cb0",
        "msg" : "GraphUI: Adjust for rotation: Drag-resize and -move (flip x- and/or y-axix), as well as getSurfaceSize(..) (use absolute size)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
        ],
        "commitId" : "fc93a9aca67d0c4a11f70601743f58723a7fddd3",
        "timestamp" : 1680977906000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: Use GraphUIDemoArgs\u000a",
        "date" : "2023-04-08 20:18:26 +0200",
        "id" : "fc93a9aca67d0c4a11f70601743f58723a7fddd3",
        "msg" : "GraphUI Demos: Use GraphUIDemoArgs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "003eb8ca1f296f287dc3d224fa19781705e10dd9",
        "timestamp" : 1680978189000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "PMVMatrix: Expose temporary storage (w/o side-effects) for efficiency; GraphUI.Shape: Efficiently reuse matPMv and temporary PMVMatrix storage\u000a\u000aReuse PMv in Shape.getSurfaceSize() and Shape.winToShapeCoord(),\u000afor the latter we invert the reused PMv for mapWinToObj (i.e. UnProject).\u000a",
        "date" : "2023-04-08 20:23:09 +0200",
        "id" : "003eb8ca1f296f287dc3d224fa19781705e10dd9",
        "msg" : "PMVMatrix: Expose temporary storage (w/o side-effects) for efficiency; GraphUI.Shape: Efficiently reuse matPMv and temporary PMVMatrix storage",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix01NEWT.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java",
          "src/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fProject01NOUI.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TrianglesInstancedRendererHardcoded.java",
          "src/graphui/classes/com/jogamp/graph/ui/Group.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java",
          "src/demos/com/jogamp/opengl/demos/es2/GearsES2.java",
          "src/demos/com/jogamp/opengl/demos/es2/GearsObjectES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TriangleInstancedRendererWithShaderState.java",
          "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java",
          "src/jogl/classes/com/jogamp/opengl/math/Matrix4f.java"
        ],
        "commitId" : "df60909c70b5dba10c9734e0c26d31e0649f4309",
        "timestamp" : 1681021617000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Matrix4f.mapWin*(): Drop unused temp matrices, map*() returns false on invPMv null; PMVMatrix: Make Mvi, Mvit optional at ctor, add user PMv and PMvi - used at gluUnProject() ..\u000a\u000aMatrix4f.mapWin*() variants w/ invPMv don't need temp matrices,\u000athey also shall handle null invPMv -> return false to streamline usage w/ PMVMatrix if inversion failed.\u000a\u000aPMVMatrix adds user space common premultiplies Pmv and Pmvi on demand like Frustum.\u000aThese are commonly required for e.g. gluUnProject(..)/mapWinToObj(..)\u000aand might benefit from caching if stack is maintained and no modification occured.\u000a\u000aPMVMatrix now has the shader related Mvi and Mvit optional at construction(!), so its backing buffers.\u000aThis reduces footprint for other use cases.\u000a\u000aThe 2nd temp matrix is also on-demand, to reduce footprint for certain use cases.\u000a\u000aRemoved public access to temporary storage.\u000a\u000a+++\u000a\u000aWhile these additional matrices are on demand and/or at request @ ctor,\u000ageneral memory footprint is reduced per default and hence deemed acceptable\u000awhile still having PMVMatrix acting as a core flexible matrix provider.\u000a",
        "date" : "2023-04-09 08:26:57 +0200",
        "id" : "df60909c70b5dba10c9734e0c26d31e0649f4309",
        "msg" : "Matrix4f.mapWin*(): Drop unused temp matrices, map*() returns false on invPMv null; PMVMatrix: Make Mvi, Mvit optional at ctor, add user PMv and PMvi - used at gluUnProject() ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TriangleInstancedRendererWithShaderState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl4/TrianglesInstancedRendererHardcoded.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncHook.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/glsl/fixedfunc/FixedFuncPipeline.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestPMVMatrix01NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/es2/GearsObjectES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Matrix4f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/math/TestMatrix4fProject01NOUI.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsObjectES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Group.java",
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/Container.java"
        ],
        "commitId" : "05de3b0797ea2e41462a3a419bccc998c77a30dd",
        "timestamp" : 1681099541000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Container (Group, Scene): Add removeAllShapes() and expose frustum-culling get/set\u000a",
        "date" : "2023-04-10 06:05:41 +0200",
        "id" : "05de3b0797ea2e41462a3a419bccc998c77a30dd",
        "msg" : "GraphUI: Container (Group, Scene): Add removeAllShapes() and expose frustum-culling get/set",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Container.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Group.java"
        ],
        "commitId" : "8b7a44c486662a4f3088fcac4babdec0c553d7b7",
        "timestamp" : 1681099573000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Group is non-interactive per default -> setInteractive(..)\u000a",
        "date" : "2023-04-10 06:06:13 +0200",
        "id" : "8b7a44c486662a4f3088fcac4babdec0c553d7b7",
        "msg" : "GraphUI: Group is non-interactive per default -> setInteractive(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "5406ac7c12e3aa4be6475f4fb12eca03a188c2f4",
        "timestamp" : 1681099648000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape: Refined toString(), add onToggle(Listener), at toggle() only markStateDirty() if toggleable\u000a",
        "date" : "2023-04-10 06:07:28 +0200",
        "id" : "5406ac7c12e3aa4be6475f4fb12eca03a188c2f4",
        "msg" : "GraphUI Shape: Refined toString(), add onToggle(Listener), at toggle() only markStateDirty() if toggleable",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
        ],
        "commitId" : "b421ffb2eceba36037add192e786ef75a152aa99",
        "timestamp" : 1681099740000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene.pickShape(): Consider isInteractive() most early in visitor() before gluUnProjectRay(..)\u000a",
        "date" : "2023-04-10 06:09:00 +0200",
        "id" : "b421ffb2eceba36037add192e786ef75a152aa99",
        "msg" : "GraphUI Scene.pickShape(): Consider isInteractive() most early in visitor() before gluUnProjectRay(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/jogamp/graph/ui/TreeTool.java"
        ],
        "commitId" : "c71cb787f99d2fe367aaa7eaa03c8d2ba9042ac1",
        "timestamp" : 1681099871000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI TreeTool: For all forAll*(): Allow acting upon Container Shape, i.e. 1st visit Shape, only therafter (if false) traverse into Container\u000a\u000aThis is required to allow actions on a Container itself.\u000a",
        "date" : "2023-04-10 06:11:11 +0200",
        "id" : "c71cb787f99d2fe367aaa7eaa03c8d2ba9042ac1",
        "msg" : "GraphUI TreeTool: For all forAll*(): Allow acting upon Container Shape, i.e. 1st visit Shape, only therafter (if false) traverse into Container",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/jogamp/graph/ui/TreeTool.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
        ],
        "commitId" : "3a0aadb747fe3a62799278fc97cf777662851a94",
        "timestamp" : 1681099957000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI UISceneDemo03: Use Group as a Container to hold all Glyphs and have them no more interacting when arrived. Play: Drag 'em ;-)\u000a",
        "date" : "2023-04-10 06:12:37 +0200",
        "id" : "3a0aadb747fe3a62799278fc97cf777662851a94",
        "msg" : "GraphUI UISceneDemo03: Use Group as a Container to hold all Glyphs and have them no more interacting when arrived. Play: Drag 'em ;-)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "8cbcdc3589bbb1f30b79b4c30fb1d8180e5c3b36",
        "timestamp" : 1681100044000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI UISceneDemo03b: Action with the Glyph Group Container: Rotate auto and w/ scroll-wheel (or zoom if alt is pressed)\u000a",
        "date" : "2023-04-10 06:14:04 +0200",
        "id" : "8cbcdc3589bbb1f30b79b4c30fb1d8180e5c3b36",
        "msg" : "GraphUI UISceneDemo03b: Action with the Glyph Group Container: Rotate auto and w/ scroll-wheel (or zoom if alt is pressed)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java"
        ],
        "commitId" : "1e74a2d782c2f6e79c14e42df0b2acbe17271662",
        "timestamp" : 1681275235000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: Use GraphUIDemoArgs for UISceneDemo1[01]\u000a",
        "date" : "2023-04-12 06:53:55 +0200",
        "id" : "1e74a2d782c2f6e79c14e42df0b2acbe17271662",
        "msg" : "GraphUI Demos: Use GraphUIDemoArgs for UISceneDemo1[01]",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Group.java",
          "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/RoundButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "2fbaa25d70854de2857d9fa20ac6a34c294a4222",
        "timestamp" : 1681318589000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Return this on setter/modifier methods for chaining\u000a",
        "date" : "2023-04-12 18:56:29 +0200",
        "id" : "2fbaa25d70854de2857d9fa20ac6a34c294a4222",
        "msg" : "GraphUI: Return this on setter/modifier methods for chaining",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/RoundButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java",
          "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java",
          "src/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java",
          "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
        ],
        "commitId" : "3224346312357430eeb7af3f561e85f9695870b6",
        "timestamp" : 1681319110000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph/Math: Cleanup toString(), spacing and use System.lineSeparator()\u000a",
        "date" : "2023-04-12 19:05:10 +0200",
        "id" : "3224346312357430eeb7af3f561e85f9695870b6",
        "msg" : "Graph/Math: Cleanup toString(), spacing and use System.lineSeparator()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/Frustum.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/FloatUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/jogamp/graph/ui/TreeTool.java"
        ],
        "commitId" : "92ec47e74eef3ba47627b04ddf78996fa3a2296f",
        "timestamp" : 1681319247000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI TreeTool: Iterate from start to end (not vice versa), eliminating potential side-effects - fixing forSortedAll(..)\u000a",
        "date" : "2023-04-12 19:07:27 +0200",
        "id" : "92ec47e74eef3ba47627b04ddf78996fa3a2296f",
        "msg" : "GraphUI TreeTool: Iterate from start to end (not vice versa), eliminating potential side-effects - fixing forSortedAll(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/jogamp/graph/ui/TreeTool.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Group.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/Padding.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "6a0ac90182efba40b0e6dab8f6390898aced70e8",
        "timestamp" : 1681320024000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI GridLayout: Functional Grid Layout w/ Padding, demo'ed in UISceneDemo20 with button Groups\u000a\u000aAll layout magic is simply performed in Group.Layout.layout(..) @ validate, incl. updating the\u000abounding box to have the padding included.\u000a\u000aThis demonstrates GraphUI's capability to be used with correct layout,\u000ai.e. its pure matrix based position, scale and rotation.\u000a",
        "date" : "2023-04-12 19:20:24 +0200",
        "id" : "6a0ac90182efba40b0e6dab8f6390898aced70e8",
        "msg" : "GraphUI GridLayout: Functional Grid Layout w/ Padding, demo'ed in UISceneDemo20 with button Groups",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/Padding.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
        ],
        "commitId" : "eabb01bcf5ea4b10431d9b2b58e35bb5ed49b1e6",
        "timestamp" : 1681338771000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: Fix var-name typo, its velocity\u000a\u000a.. or how to propagate a typo from an initial test case to all of 'em ;-)\u000a",
        "date" : "2023-04-13 00:32:51 +0200",
        "id" : "eabb01bcf5ea4b10431d9b2b58e35bb5ed49b1e6",
        "msg" : "GraphUI Demos: Fix var-name typo, its velocity",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo02.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java"
        ],
        "commitId" : "05d1b20c611bbc15134790235f2cfb2a323c3198",
        "timestamp" : 1681357157000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Rectangle: Construct shape w/ 0/0 bottom-left origin as recommended by Shape spec\u000a",
        "date" : "2023-04-13 05:39:17 +0200",
        "id" : "05d1b20c611bbc15134790235f2cfb2a323c3198",
        "msg" : "GraphUI Rectangle: Construct shape w/ 0/0 bottom-left origin as recommended by Shape spec",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Group.java"
        ],
        "commitId" : "a832ea9863f4479085c46eb43f5c79c50b0dc518",
        "timestamp" : 1681357197000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Group: Avoid additional shapes-loop w/o layouter\u000a",
        "date" : "2023-04-13 05:39:57 +0200",
        "id" : "a832ea9863f4479085c46eb43f5c79c50b0dc518",
        "msg" : "GraphUI Group: Avoid additional shapes-loop w/o layouter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "c1ad62f886d135932280270933f14fe4433b84a9",
        "timestamp" : 1681357218000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape: Add onClicked(..)\u000a",
        "date" : "2023-04-13 05:40:18 +0200",
        "id" : "c1ad62f886d135932280270933f14fe4433b84a9",
        "msg" : "GraphUI Shape: Add onClicked(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java"
        ],
        "commitId" : "aca5b9b176f3c3393d8c7666a252488d44b18f2e",
        "timestamp" : 1681357261000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI GridLayout: Also adjust potential bottom-left delta when centering shape to cell (like GlyphShape w/ underline)\u000a",
        "date" : "2023-04-13 05:41:01 +0200",
        "id" : "aca5b9b176f3c3393d8c7666a252488d44b18f2e",
        "msg" : "GraphUI GridLayout: Also adjust potential bottom-left delta when centering shape to cell (like GlyphShape w/ underline)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java",
          "make/scripts/tests.sh",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
        ],
        "commitId" : "823fe11a49ac2160da86cdf894c84efa9fb1ae2c",
        "timestamp" : 1681358454000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: Adding prelim FontView01, which may become a 'little FontForge' ;-)\u000a",
        "date" : "2023-04-13 06:00:54 +0200",
        "id" : "823fe11a49ac2160da86cdf894c84efa9fb1ae2c",
        "msg" : "GraphUI Demos: Adding prelim FontView01, which may become a 'little FontForge' ;-)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
        ],
        "commitId" : "0017e5f6e7e8410d566dcefd9f42ffd0d4fc61e7",
        "timestamp" : 1681360156000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene.screenshot(): Add convenient variant to be executed on-display call. FontView stays open and issues a screenshot.\u000a",
        "date" : "2023-04-13 06:29:16 +0200",
        "id" : "0017e5f6e7e8410d566dcefd9f42ffd0d4fc61e7",
        "msg" : "GraphUI Scene.screenshot(): Add convenient variant to be executed on-display call. FontView stays open and issues a screenshot.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/Region.java"
        ],
        "commitId" : "401440e5466a0d180d5d0e563ed474f4c23d839c",
        "timestamp" : 1681446172000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Region: Add NORM_RENDERING_BIT (0) for better documented usage; Add getRenderModeString(renderModes, graphSampleCount, fsaaSampleCount) for unified tech representation\u000a",
        "date" : "2023-04-14 06:22:52 +0200",
        "id" : "401440e5466a0d180d5d0e563ed474f4c23d839c",
        "msg" : "Graph Region: Add NORM_RENDERING_BIT (0) for better documented usage; Add getRenderModeString(renderModes, graphSampleCount, fsaaSampleCount) for unified tech representation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "beb4a2d910c4534ed10dfbb9a895acb89ed54822",
        "timestamp" : 1681446238000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph TypecastFont: Avoid PostTable (out-of-bounds) for glyph_name when not even a Glyph was mapped to the ID\u000a",
        "date" : "2023-04-14 06:23:58 +0200",
        "id" : "beb4a2d910c4534ed10dfbb9a895acb89ed54822",
        "msg" : "Graph TypecastFont: Avoid PostTable (out-of-bounds) for glyph_name when not even a Glyph was mapped to the ID",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
        ],
        "commitId" : "582614bf3c1e0bac4ecb2689410c9673838e62c4",
        "timestamp" : 1681446391000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Scene: Use getRenderModeString(..) w/ sample-counts where applicable, restructure screenshot(..) by using nextScreenshotFile(..) - all using default tech representation\u000a",
        "date" : "2023-04-14 06:26:31 +0200",
        "id" : "582614bf3c1e0bac4ecb2689410c9673838e62c4",
        "msg" : "GraphUI Scene: Use getRenderModeString(..) w/ sample-counts where applicable, restructure screenshot(..) by using nextScreenshotFile(..) - all using default tech representation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "94e58738b8f7aa4db46081ab6f96d5f16e2b681e",
        "timestamp" : 1681446418000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape.validate(*): Return this for chaining\u000a",
        "date" : "2023-04-14 06:26:58 +0200",
        "id" : "94e58738b8f7aa4db46081ab6f96d5f16e2b681e",
        "msg" : "GraphUI Shape.validate(*): Return this for chaining",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
        ],
        "commitId" : "2209e1bdd5741913ea11fffd0a9bca9b2d18e83f",
        "timestamp" : 1681446532000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: Use new Scene.screenshot(.. screen.nextScreenShotFile(..))\u000a",
        "date" : "2023-04-14 06:28:52 +0200",
        "id" : "2209e1bdd5741913ea11fffd0a9bca9b2d18e83f",
        "msg" : "GraphUI Demos: Use new Scene.screenshot(.. screen.nextScreenShotFile(..))",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java"
        ],
        "commitId" : "34e5631c701f2e45b733dc26a5899651a3d5e0c5",
        "timestamp" : 1681446593000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Unit Tests: Minor edits: Wait for GLRunnable done on screenshot, ...\u000a",
        "date" : "2023-04-14 06:29:53 +0200",
        "id" : "34e5631c701f2e45b733dc26a5899651a3d5e0c5",
        "msg" : "Graph Unit Tests: Minor edits: Wait for GLRunnable done on screenshot, ...",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT20.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
        ],
        "commitId" : "4b6a5a7a816acb03cc8f1cbb4a9571447f80eef2",
        "timestamp" : 1681446664000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demo FontView01: Use full window size if grid is not otherwise defined and scale group accordingly\u000a",
        "date" : "2023-04-14 06:31:04 +0200",
        "id" : "4b6a5a7a816acb03cc8f1cbb4a9571447f80eef2",
        "msg" : "GraphUI Demo FontView01: Use full window size if grid is not otherwise defined and scale group accordingly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT21.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "041a03d0619f84c19daf57745f6dd27f4ce17539",
        "timestamp" : 1681446742000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Tests: Add TestTextRendererNEWT21 using FontViewListener01 (like FontView01 demos) rendering a grid of each glyph for better validation for many fonts and renderModes/sampleCount\u000a",
        "date" : "2023-04-14 06:32:22 +0200",
        "id" : "041a03d0619f84c19daf57745f6dd27f4ce17539",
        "msg" : "GraphUI Tests: Add TestTextRendererNEWT21 using FontViewListener01 (like FontView01 demos) rendering a grid of each glyph for better validation for many fonts and renderModes/sampleCount",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT21.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
        ],
        "commitId" : "5b85091196a128c2d68258ed19f1d8d1726a05d8",
        "timestamp" : 1681449048000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demo/Test: FontView[Listener]01: Use 10 'mmPerCell', Monitor resolution independent for display same size.\u000a",
        "date" : "2023-04-14 07:10:48 +0200",
        "id" : "5b85091196a128c2d68258ed19f1d8d1726a05d8",
        "msg" : "GraphUI Demo/Test: FontView[Listener]01: Use 10 'mmPerCell', Monitor resolution independent for display same size.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java"
        ],
        "commitId" : "be865f7fdb672ce41110231ba71903671942268b",
        "timestamp" : 1681486798000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast GlyfTable: Use `final` qualifier (cleanup)\u000a",
        "date" : "2023-04-14 17:39:58 +0200",
        "id" : "be865f7fdb672ce41110231ba71903671942268b",
        "msg" : "Typecast GlyfTable: Use `final` qualifier (cleanup)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java",
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java"
        ],
        "commitId" : "e4bddd1682233257a20eb73e22b068d5d4694860",
        "timestamp" : 1681486977000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast: Expose (new) getGlyphCount(): GlyfTable.getSize() -> (OTFont,Font).getGlyphCount()\u000a",
        "date" : "2023-04-14 17:42:57 +0200",
        "id" : "e4bddd1682233257a20eb73e22b068d5d4694860",
        "msg" : "Typecast: Expose (new) getGlyphCount(): GlyfTable.getSize() -> (OTFont,Font).getGlyphCount()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/TTFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/OTFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/ot/table/GlyfTable.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
        ],
        "commitId" : "3d0f8a7cd720801c6f247c38c95df556a10fff27",
        "timestamp" : 1681487035000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast Font.Glyph: Expose isUndefined(), i.e. name == \".notdef\"\u000a",
        "date" : "2023-04-14 17:43:55 +0200",
        "id" : "3d0f8a7cd720801c6f247c38c95df556a10fff27",
        "msg" : "Typecast Font.Glyph: Expose isUndefined(), i.e. name == \".notdef\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastGlyph.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
        ],
        "commitId" : "7d4e3a072c4aa8ef3745fa968b3e563064d83e27",
        "timestamp" : 1681487091000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph OutlineShape: Add getOutlineVectexCount(), i.e. total vertex count of all Outlines\u000a",
        "date" : "2023-04-14 17:44:51 +0200",
        "id" : "7d4e3a072c4aa8ef3745fa968b3e563064d83e27",
        "msg" : "Graph OutlineShape: Add getOutlineVectexCount(), i.e. total vertex count of all Outlines",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/font/Font.java"
        ],
        "commitId" : "ac4e63b87cc311004de65230688911df538f0866",
        "timestamp" : 1681487123000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast Font: Add API doc for getLineHeight(), remove unused Vec3f import\u000a",
        "date" : "2023-04-14 17:45:23 +0200",
        "id" : "ac4e63b87cc311004de65230688911df538f0866",
        "msg" : "Typecast Font: Add API doc for getLineHeight(), remove unused Vec3f import",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "a31c3487bebdded597ff8a76b48399ae5691f843",
        "timestamp" : 1681487190000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Typecast Font.getGlyph(..): Fix Glyph case w/ 0 getOutlineVectexCount() -> isWhiteSpace = true, use emptyShape\u000a",
        "date" : "2023-04-14 17:46:30 +0200",
        "id" : "a31c3487bebdded597ff8a76b48399ae5691f843",
        "msg" : "Typecast Font.getGlyph(..): Fix Glyph case w/ 0 getOutlineVectexCount() -> isWhiteSpace = true, use emptyShape",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Group.java",
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/Container.java"
        ],
        "commitId" : "64c95ce8d90d3b488fa5909603321b377cae7f9f",
        "timestamp" : 1681487395000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Container.removeShape(..): Return removed Shape, add removeShape(index) variant; Group.(add|remove)Shape(..) markShapeDirty() to recompute bbox and layout.\u000a",
        "date" : "2023-04-14 17:49:55 +0200",
        "id" : "64c95ce8d90d3b488fa5909603321b377cae7f9f",
        "msg" : "GraphUI Container.removeShape(..): Return removed Shape, add removeShape(index) variant; Group.(add|remove)Shape(..) markShapeDirty() to recompute bbox and layout.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Container.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Group.java"
        ],
        "commitId" : "dfae4e3d9a171d2bba62d828ef4b5ce3980f90a7",
        "timestamp" : 1681487510000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Group.drawImpl0(): Copy List<Shape> to array and sort using Shape.ZAscendingComparator\u000a\u000a- fixes z-order issue, as we shall do same approach as in Scene.display()\u000a- fixes mutated container issue if a Shape gets removed or added to original List\u000a",
        "date" : "2023-04-14 17:51:50 +0200",
        "id" : "dfae4e3d9a171d2bba62d828ef4b5ce3980f90a7",
        "msg" : "GraphUI Group.drawImpl0(): Copy List<Shape> to array and sort using Shape.ZAscendingComparator",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
        ],
        "commitId" : "57fb1fd99b5f0cc08b4e900fb2ce7c4d76351e63",
        "timestamp" : 1681487699000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demo FontView01: Add 'infoGrid' w/ GlyphShape (-> DAG SG reusing instance) + details in text, active via mouse-click\u000a\u000aThe GlyphShape instance will be reused in this use-case, i.e. once in the 'mainGrid'\u000aand if selected, in the 'infoGrid'.\u000aThis also demos our DAG capability.\u000a\u000aFurther textual details are also shown in the text label.\u000a",
        "date" : "2023-04-14 17:54:59 +0200",
        "id" : "57fb1fd99b5f0cc08b4e900fb2ce7c4d76351e63",
        "msg" : "GraphUI Demo FontView01: Add 'infoGrid' w/ GlyphShape (-> DAG SG reusing instance) + details in text, active via mouse-click",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
        ],
        "commitId" : "92764721a1705e68c0dbf2fe77b22ded26e2f9b4",
        "timestamp" : 1681488111000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demo FontView01: Separate general font metrix (height, line-height) from actual Glyph metrix\u000a",
        "date" : "2023-04-14 18:01:51 +0200",
        "id" : "92764721a1705e68c0dbf2fe77b22ded26e2f9b4",
        "msg" : "GraphUI Demo FontView01: Separate general font metrix (height, line-height) from actual Glyph metrix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
        ],
        "commitId" : "a798d6bcbdccebe58d3a46ce07aedb574a15ef51",
        "timestamp" : 1681489079000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demo FontView01: Add screenshot per selected Glyph\u000a",
        "date" : "2023-04-14 18:17:59 +0200",
        "id" : "a798d6bcbdccebe58d3a46ce07aedb574a15ef51",
        "msg" : "GraphUI Demo FontView01: Add screenshot per selected Glyph",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
        ],
        "commitId" : "6259e407e07b1a2f51dc10eaecacc5f2aedef389",
        "timestamp" : 1681489523000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demo FontView01: Add font-name and selected glyphID to screenshot filename (documentation)\u000a",
        "date" : "2023-04-14 18:25:23 +0200",
        "id" : "6259e407e07b1a2f51dc10eaecacc5f2aedef389",
        "msg" : "GraphUI Demo FontView01: Add font-name and selected glyphID to screenshot filename (documentation)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/util/GraphUIDemoArgs.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
        ],
        "commitId" : "cd845589eea6c7773007e013bd5f2f37242cbe1a",
        "timestamp" : 1681785547000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Demos: Move GraphUIDemoArgs to sub-package util\u000a",
        "date" : "2023-04-18 04:39:07 +0200",
        "id" : "cd845589eea6c7773007e013bd5f2f37242cbe1a",
        "msg" : "GraphUI Demos: Move GraphUIDemoArgs to sub-package util",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/GraphUIDemoArgs.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/util/GraphUIDemoArgs.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01b.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java",
          "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionNewtDemo.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java",
          "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/RoundButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/Group.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java",
          "src/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java",
          "src/jogl/classes/jogamp/graph/curve/tess/GraphVertex.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/CrossHair.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2DExpAddOn.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vert2fImmutable.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java",
          "src/graphui/classes/jogamp/graph/ui/shapes/Label0.java",
          "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java",
          "src/jogl/classes/com/jogamp/graph/geom/Triangle.java",
          "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/jogamp/graph/curve/tess/Loop.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java",
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java",
          "src/jogl/classes/com/jogamp/graph/geom/Outline.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java",
          "src/jogl/classes/com/jogamp/graph/geom/Vertex.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vert3fImmutable.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java",
          "src/jogl/classes/com/jogamp/graph/geom/SVertex.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec4f.java"
        ],
        "commitId" : "c65c750e032118f229050ff8e834961264ed0591",
        "timestamp" : 1681787716000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph + GraphUI: Consolidate Vertex: Drop SVertex and factory, use Vec[234]f instead of float[] and remove unused VectorUtil methods\u000a\u000aAfter Matrix4f consolidation and proving same or better performance on non array types,\u000athis enhances code readability, simplifies API, reduces bugs and may improve performance.\u000a\u000aGraphUI:\u000a- Have RoundButton as a functional class to make a round or rectangular backdrop,\u000a  i.e. impl. addShapeToRegion() via reused addRoundShapeToRegion()\u000a",
        "date" : "2023-04-18 05:15:16 +0200",
        "id" : "c65c750e032118f229050ff8e834961264ed0591",
        "msg" : "Graph + GraphUI: Consolidate Vertex: Drop SVertex and factory, use Vec[234]f instead of float[] and remove unused VectorUtil methods",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/RoundButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/Triangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vert2fImmutable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/Vertex.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/jogamp/graph/ui/shapes/Label0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/SVertex.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/Loop.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/PerfTextRendererNEWT00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2DExpAddOn.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/plane/AffineTransform.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/geom/Outline.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec4f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vert3fImmutable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UIShapeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/CrossHair.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/GraphVertex.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionNewtDemo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java"
        ],
        "commitId" : "f4bf997e5d9efcf299ef871030e7faf58f5b0289",
        "timestamp" : 1681788366000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "VectorUtil: Fix isVec3InTriangle3(..) testing p1, p2 and p3\u000a",
        "date" : "2023-04-18 05:26:06 +0200",
        "id" : "f4bf997e5d9efcf299ef871030e7faf58f5b0289",
        "msg" : "VectorUtil: Fix isVec3InTriangle3(..) testing p1, p2 and p3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
        ],
        "commitId" : "84ef03374eb1ebef08c2bd5c764a45f9ad21cec1",
        "timestamp" : 1681788462000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph OutlineShape.checkOverlaps(): Test overlap first to drop overlaps.contains(..) test\u000a",
        "date" : "2023-04-18 05:27:42 +0200",
        "id" : "84ef03374eb1ebef08c2bd5c764a45f9ad21cec1",
        "msg" : "Graph OutlineShape.checkOverlaps(): Test overlap first to drop overlaps.contains(..) test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/Padding.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java"
        ],
        "commitId" : "3ecba411d2677beee1996ebe9f3017c3fa3ef69e",
        "timestamp" : 1681789404000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Padding: Use CSS alike ctor semantics, hence swizzle ctor arguments\u000a",
        "date" : "2023-04-18 05:43:24 +0200",
        "id" : "3ecba411d2677beee1996ebe9f3017c3fa3ef69e",
        "msg" : "GraphUI Padding: Use CSS alike ctor semantics, hence swizzle ctor arguments",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/Padding.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo12.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/Margin.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "70d2b056e69562e83156d0435208be8124f2ff86",
        "timestamp" : 1681789524000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI: Add BoxLayout and Margin, todo: Have GridLayout properly use Gap w/ Padding and alignment (Margin?) (CSS alike)\u000a",
        "date" : "2023-04-18 05:45:24 +0200",
        "id" : "70d2b056e69562e83156d0435208be8124f2ff86",
        "msg" : "GraphUI: Add BoxLayout and Margin, todo: Have GridLayout properly use Gap w/ Padding and alignment (Margin?) (CSS alike)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo12.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/Margin.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java"
        ],
        "commitId" : "73bd9a33835b37b542765198f59a105431569fa7",
        "timestamp" : 1681799093000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Test: Have TestTextRendererNEWT21's FontViewListener01 use 8mm/cell to match old screenshots for regression test.\u000a\u000aNo rendering regressions w/ last Graph changes found.\u000a",
        "date" : "2023-04-18 08:24:53 +0200",
        "id" : "73bd9a33835b37b542765198f59a105431569fa7",
        "msg" : "GraphUI Test: Have TestTextRendererNEWT21's FontViewListener01 use 8mm/cell to match old screenshots for regression test.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/font/Font.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "18c405bb970d34cbdeef4af9fa06e612d5edbffb",
        "timestamp" : 1681799150000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Font.getGlyphShapeBounds(): Use variant w/ 2 temp AffineTransform matching getGlyphBounds()\u000a",
        "date" : "2023-04-18 08:25:50 +0200",
        "id" : "18c405bb970d34cbdeef4af9fa06e612d5edbffb",
        "msg" : "Graph Font.getGlyphShapeBounds(): Use variant w/ 2 temp AffineTransform matching getGlyphBounds()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/Font.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/shapes/RoundButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo12.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/BaseButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
        ],
        "commitId" : "7a2f6bfdfadcaba1d6fecc2389ba7b91e927104a",
        "timestamp" : 1681929550000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI {Round->Base}Button, denoting perpendicular or round corners (aka rectangle or oval shape)\u000a\u000a- Button + BaseButton setter also pass this for chaining\u000a- Button {twoPassLabel->label}ZOffset, investigate whether z-offset still required (not if blending is enabled!)\u000a-\u000a",
        "date" : "2023-04-19 20:39:10 +0200",
        "id" : "7a2f6bfdfadcaba1d6fecc2389ba7b91e927104a",
        "msg" : "GraphUI {Round->Base}Button, denoting perpendicular or round corners (aka rectangle or oval shape)",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/RoundButton.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/BaseButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo12.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
        ],
        "commitId" : "93fede2562cab03478bbc1e0df1846a42103c563",
        "timestamp" : 1681930032000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph: Region.countOutlineShape(..) -> static, allow usage w/o instance; TextRegionUtil.addStringToRegion() grow region buffer w/ counting (as well); GLRegion.create(..) count + reuse create(.., size) static-ctor\u000a\u000aAll supported string -> region method utilize pre-calc of size and growth!\u000a\u000aBefore, GraphUI's Label0 used TextRegionUtil.addStringToRegion() and hence missed this optimization path.\u000a",
        "date" : "2023-04-19 20:47:12 +0200",
        "id" : "93fede2562cab03478bbc1e0df1846a42103c563",
        "msg" : "Graph: Region.countOutlineShape(..) -> static, allow usage w/o instance; TextRegionUtil.addStringToRegion() grow region buffer w/ counting (as well); GLRegion.create(..) count + reuse create(.., size) static-ctor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/Region.java"
        ],
        "commitId" : "c947fe21a0c62b4aa3b5af66e3109d9d50833d29",
        "timestamp" : 1681930123000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph Region.addOutlineShape(): Fix DEBUG_INSTANCE path, enable perf counter if disabled.\u000a",
        "date" : "2023-04-19 20:48:43 +0200",
        "id" : "c947fe21a0c62b4aa3b5af66e3109d9d50833d29",
        "msg" : "Graph Region.addOutlineShape(): Fix DEBUG_INSTANCE path, enable perf counter if disabled.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "eaa7891dbd430a9fe04f7b7d0e4e4764af4e6aa2",
        "timestamp" : 1681930372000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph GLRegion: Consolidate pass-1 common data (indices, vertices, ..) and all related methods. Add growCount stat.\u000a",
        "date" : "2023-04-19 20:52:52 +0200",
        "id" : "eaa7891dbd430a9fe04f7b7d0e4e4764af4e6aa2",
        "msg" : "Graph GLRegion: Consolidate pass-1 common data (indices, vertices, ..) and all related methods. Add growCount stat.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java"
        ],
        "commitId" : "920efa82bf88a30b1180687955b175fc9c3abc1d",
        "timestamp" : 1681930536000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph [GL]Region: Use small initial indices/vertices count (640 -> 16), since (huge) text glyph gets always pre-calculated.\u000a\u000aRegion.countOutlineShape() indices ceiling raised from 60% to 90% of vertices, otherwise gets exceeded too often later on.\u000a",
        "date" : "2023-04-19 20:55:36 +0200",
        "id" : "920efa82bf88a30b1180687955b175fc9c3abc1d",
        "msg" : "Graph [GL]Region: Use small initial indices/vertices count (640 -> 16), since (huge) text glyph gets always pre-calculated.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "736d7a18f3e25744a31f85acedbd5b417f073afe",
        "timestamp" : 1681930594000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph VBORegion2P*.renderVBO(): Add comment on BITHINT_GLOBAL_DEPTH_TEST_ENABLED usage -> To be investigated.\u000a",
        "date" : "2023-04-19 20:56:34 +0200",
        "id" : "736d7a18f3e25744a31f85acedbd5b417f073afe",
        "msg" : "Graph VBORegion2P*.renderVBO(): Add comment on BITHINT_GLOBAL_DEPTH_TEST_ENABLED usage -> To be investigated.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java"
        ],
        "commitId" : "8041c69644acb5bd68bb6404ba8744163e8f2a30",
        "timestamp" : 1681956794000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayDataServer.addGLSLSubArray(): Return (actual) GLArrayDataWrapper instead of just GLArrayData interface, exposing and allowing mutable access to attribute location for interleaved sub-arrays\u000a",
        "date" : "2023-04-20 04:13:14 +0200",
        "id" : "8041c69644acb5bd68bb6404ba8744163e8f2a30",
        "msg" : "GLArrayDataServer.addGLSLSubArray(): Return (actual) GLArrayDataWrapper instead of just GLArrayData interface, exposing and allowing mutable access to attribute location for interleaved sub-arrays",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataServer.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
        ],
        "commitId" : "593b9c6360fd32fdca7d4e3da71525be15157726",
        "timestamp" : 1681957107000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph GLRegion*: Utilize interleaved GLSL buffers for vertices, curveParams and the optional colors (GPU effeciency and performance; Increased CPU buffer growth performance)\u000a\u000aBesides simplification, interleaved GPU memory boosts\u000a- effeciency\u000a- performance\u000a\u000aSince only one underlying backing buffer on the CPU (host) has to be managed,\u000ait also increases buffer growth performance.\u000a",
        "date" : "2023-04-20 04:18:27 +0200",
        "id" : "593b9c6360fd32fdca7d4e3da71525be15157726",
        "msg" : "Graph GLRegion*: Utilize interleaved GLSL buffers for vertices, curveParams and the optional colors (GPU effeciency and performance; Increased CPU buffer growth performance)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PMSAAES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/RenderState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegionSPES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/opengl/VBORegion2PVBAAES2.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java"
        ],
        "commitId" : "fad6cd0cc8033b6ef1ee16998cccd0d756030147",
        "timestamp" : 1681958370000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Button.createGLRegion(): Pre-calc Region buffer size for BaseButton (16) + Label-Text to avoid buffer grow\u000a",
        "date" : "2023-04-20 04:39:30 +0200",
        "id" : "fad6cd0cc8033b6ef1ee16998cccd0d756030147",
        "msg" : "GraphUI Button.createGLRegion(): Pre-calc Region buffer size for BaseButton (16) + Label-Text to avoid buffer grow",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
        ],
        "commitId" : "97751b036e945fc3afe5e46a6a0b5f96d2b9698b",
        "timestamp" : 1682019447000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLArrayDataClient: Refine API doc for grow*() and reserve()\u000a",
        "date" : "2023-04-20 21:37:27 +0200",
        "id" : "97751b036e945fc3afe5e46a6a0b5f96d2b9698b",
        "msg" : "GLArrayDataClient: Refine API doc for grow*() and reserve()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java",
          "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java",
          "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
        ],
        "commitId" : "a251f5734cc1f5c907f239c3ca3a4f1d4c262058",
        "timestamp" : 1682019561000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph OutlineShape.get{Outline->}VectexCount() renamed\u000a",
        "date" : "2023-04-20 21:39:21 +0200",
        "id" : "a251f5734cc1f5c907f239c3ca3a4f1d4c262058",
        "msg" : "Graph OutlineShape.get{Outline->}VectexCount() renamed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/OutlineShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/font/typecast/TypecastFont.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java",
          "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieCube.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java",
          "src/jogl/classes/com/jogamp/graph/curve/Region.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java",
          "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java",
          "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java",
          "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java",
          "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java"
        ],
        "commitId" : "c21082a5d7caf0ae6e29144358b4b4a1eafec019",
        "timestamp" : 1682020095000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph GLRegion/TextRegionUtil: Enhance pre-determination of buffer-size, increase default initial 16->64 (unsued)\u000a\u000a- Region.countOutlineShape(..) now returns unpatched 3*triangle value for indices, avoiding grow\u000a- TextRegionUtil.addStringToRegion() uses countStringRegion(..) per default\u000a- Added GLRegion.create(.., OutlineShape) for convenience, using Region.countOutlineShape(..)\u000a- Refined API doc\u000a-\u000a",
        "date" : "2023-04-20 21:48:15 +0200",
        "id" : "c21082a5d7caf0ae6e29144358b4b4a1eafec019",
        "msg" : "Graph GLRegion/TextRegionUtil: Enhance pre-determination of buffer-size, increase default initial 16->64 (unsued)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieCube.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/GLReadBuffer00Base.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSBSStereo.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPURegionGLListener10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/TextRegionUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/av/MovieSimple.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener00.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPURegionGLListener01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT10.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/GPUTextRendererListenerBase01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/Region.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/BaseButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java",
          "src/graphui/classes/jogamp/graph/ui/shapes/Label0.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Label.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/Group.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo12.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/CrossHair.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java"
        ],
        "commitId" : "2aae33b94cea15b2fc0c54479277611c67cdaf13",
        "timestamp" : 1682020811000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI GraphShape: createGLRegion() -> updateGLRegion(), called by addShapeToRegion() impl to utilize OutlineShape -> GLRegion ctor w/ proper buffer-size\u000a\u000aThis way we avoid unnecessary buffer growth and allow creation of 'always' fitting buffer sizes.\u000a\u000a+++\u000a\u000aUpdate or freshly create the GLRegion, while allocating its buffers with given initial `vertexCount` and `indexCount`.\u000a\u000aMethod shall be invoked by the addShapeToRegion(GLProfile, GL2ES2) implementation before actually adding the OutlineShape to the GLRegion.\u000a\u000aaddShapeToRegion(GLProfile, GL2ES2) is capable to determine initial `vertexCount` and `indexCount` buffer sizes,\u000aas it composes the OutlineShapes to be added.\u000a\u000aupdateGLRegion(GLProfile, GL2ES2, TextureSequence, OutlineShape) maybe used for convenience.\u000a\u000aIn case GLRegion is `null`, a new instance is being created.\u000a\u000aIn case the GLRegion already exists, it will be either cleared if the GL2ES2 `gl` instance is not `null`\u000aor earmarked for deletion at a later time and a new instance is being created.\u000a",
        "date" : "2023-04-20 22:00:11 +0200",
        "id" : "2aae33b94cea15b2fc0c54479277611c67cdaf13",
        "msg" : "GraphUI GraphShape: createGLRegion() -> updateGLRegion(), called by addShapeToRegion() impl to utilize OutlineShape -> GLRegion ctor w/ proper buffer-size",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/jogamp/graph/ui/shapes/Label0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/BaseButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo12.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UITypeDemo01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/CrossHair.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java",
          "src/jogl/classes/com/jogamp/opengl/math/Vec4f.java"
        ],
        "commitId" : "b4b6061918d73bce53f5bcc4faf994b8a42c2c7d",
        "timestamp" : 1682673280000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Vec[234]f: Add 'max' and 'min' function\u000a",
        "date" : "2023-04-28 11:14:40 +0200",
        "id" : "b4b6061918d73bce53f5bcc4faf994b8a42c2c7d",
        "msg" : "Vec[234]f: Add 'max' and 'min' function",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec4f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec3f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Vec2f.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/Matrix4f.java",
          "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
        ],
        "commitId" : "02fd04ed37e710f639b9e76f6a93137c7b2b61c2",
        "timestamp" : 1682673411000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "[PMV]Matrix[4f]: Clarify 'mulVec[34]f' in-place arg properties, add pure in-place variant and use it in PMVMatrix dropping temporary\u000a",
        "date" : "2023-04-28 11:16:51 +0200",
        "id" : "02fd04ed37e710f639b9e76f6a93137c7b2b61c2",
        "msg" : "[PMV]Matrix[4f]: Clarify 'mulVec[34]f' in-place arg properties, add pure in-place variant and use it in PMVMatrix dropping temporary",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/Matrix4f.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
        ],
        "commitId" : "b7ef5e6fac72e0ed1c19eae27801c14772c2ba46",
        "timestamp" : 1682673481000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "AABBox: Add 'translate' w/ dedicated components\u000a",
        "date" : "2023-04-28 11:18:01 +0200",
        "id" : "b7ef5e6fac72e0ed1c19eae27801c14772c2ba46",
        "msg" : "AABBox: Add 'translate' w/ dedicated components",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/math/geom/AABBox.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Label.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java"
        ],
        "commitId" : "386f9652e0169b0aa7f6ead1bf230d5d67d00a38",
        "timestamp" : 1682677147000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI GraphShape: {update->reset}GLRegion() and reserve vertices+indices if (rect) border is present\u000a",
        "date" : "2023-04-28 12:19:07 +0200",
        "id" : "386f9652e0169b0aa7f6ead1bf230d5d67d00a38",
        "msg" : "GraphUI GraphShape: {update->reset}GLRegion() and reserve vertices+indices if (rect) border is present",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/GlyphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Label.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java"
        ],
        "commitId" : "b029e3388667be46250948565440f92917cb50ef",
        "timestamp" : 1682677230000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI GraphShape: Refine API doc\u000a",
        "date" : "2023-04-28 12:20:30 +0200",
        "id" : "b029e3388667be46250948565440f92917cb50ef",
        "msg" : "GraphUI GraphShape: Refine API doc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/BaseButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/CrossHair.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
        ],
        "commitId" : "bd10664189e944699492008776819a28a2d95ecf",
        "timestamp" : 1682678207000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI GraphShape: Apply {update->reset}GLRegion()\u000a\u000aSee commit 386f9652e0169b0aa7f6ead1bf230d5d67d00a38\u000a",
        "date" : "2023-04-28 12:36:47 +0200",
        "id" : "bd10664189e944699492008776819a28a2d95ecf",
        "msg" : "GraphUI GraphShape: Apply {update->reset}GLRegion()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/TexSeqButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph02UbuntuLight_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph05FreeSerifBoldItalic_ae.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph04FreeSans_0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph03FreeMonoRegular_M.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/testshapes/Glyph01UbuntuLight_o.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/CrossHair.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/BaseButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Group.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java",
          "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/Padding.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/Margin.java",
          "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
        ],
        "commitId" : "87814f1c86b132a16ddf6822d05b83c3ed091fe2",
        "timestamp" : 1682678423000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Revise Padding and Border: Padding + Border belong to Shape's bounds. Account for both (seperately) and add border rendering to Group as well.\u000a",
        "date" : "2023-04-28 12:40:23 +0200",
        "id" : "87814f1c86b132a16ddf6822d05b83c3ed091fe2",
        "msg" : "GraphUI Revise Padding and Border: Padding + Border belong to Shape's bounds. Account for both (seperately) and add border rendering to Group as well.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Group.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Rectangle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/GraphShape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/Margin.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Scene.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/Padding.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/GLButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/shapes/ImageButton.java",
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "3ddcde7f2fd21e0a418f756519e42ee190ede07e",
        "timestamp" : 1682678616000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Colors: Use pure white modulation w/ color-channel on no-action for original color, adjust defaults accordingly\u000a",
        "date" : "2023-04-28 12:43:36 +0200",
        "id" : "3ddcde7f2fd21e0a418f756519e42ee190ede07e",
        "msg" : "GraphUI Colors: Use pure white modulation w/ color-channel on no-action for original color, adjust defaults accordingly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/Button.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/ImageButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/GLButton.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/shapes/MediaButton.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "a8fb422a828001612203aea23e8a4cdf9392e491",
        "timestamp" : 1682678650000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape: [add|remove]MouseListener(): Return shape for chaining\u000a",
        "date" : "2023-04-28 12:44:10 +0200",
        "id" : "a8fb422a828001612203aea23e8a4cdf9392e491",
        "msg" : "GraphUI Shape: [add|remove]MouseListener(): Return shape for chaining",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/layout/Alignment.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/Gap.java"
        ],
        "commitId" : "a7afdc0530fd5c8e2f24d9be58db4c8b8e11e368",
        "timestamp" : 1682686449000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Add Alignment and Gap for layout\u000a",
        "date" : "2023-04-28 14:54:09 +0200",
        "id" : "a7afdc0530fd5c8e2f24d9be58db4c8b8e11e368",
        "msg" : "GraphUI Add Alignment and Gap for layout",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/Alignment.java"
          },
          {
            "editType" : "add",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/Gap.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "db139c97e193b0df385867615bd7a61ee9e5f3a4",
        "timestamp" : 1682686497000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape: Fix hasPadding() and add padding + border details to toString()\u000a",
        "date" : "2023-04-28 14:54:57 +0200",
        "id" : "db139c97e193b0df385867615bd7a61ee9e5f3a4",
        "msg" : "GraphUI Shape: Fix hasPadding() and add padding + border details to toString()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
        ],
        "commitId" : "0b7559a6f5f92dd4af9b80bc2a24b8b1d6140bfe",
        "timestamp" : 1682718982000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Shape: Use null rotPivot indicating unset (isZero not sufficient); toString() just drop no-border and no-padding.\u000a",
        "date" : "2023-04-28 23:56:22 +0200",
        "id" : "0b7559a6f5f92dd4af9b80bc2a24b8b1d6140bfe",
        "msg" : "GraphUI Shape: Use null rotPivot indicating unset (isZero not sufficient); toString() just drop no-border and no-padding.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/Shape.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java",
          "src/graphui/classes/com/jogamp/graph/ui/layout/Alignment.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo12.java",
          "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
        ],
        "commitId" : "a9c76153fd9a472679c1fc85189f6d4ecda7979e",
        "timestamp" : 1682730781000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI Working GridLayout w/ and w/o cell-size and alignment; Added BoxLayout.\u000a",
        "date" : "2023-04-29 03:13:01 +0200",
        "id" : "a9c76153fd9a472679c1fc85189f6d4ecda7979e",
        "msg" : "GraphUI Working GridLayout w/ and w/o cell-size and alignment; Added BoxLayout.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/FontView01.java"
          },
          {
            "editType" : "delete",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo12.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/Alignment.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo20.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UILayoutGrid01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo03b.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/graph/FontViewListener01.java"
          },
          {
            "editType" : "add",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UILayoutBox01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/BoxLayout.java"
          },
          {
            "editType" : "edit",
            "file" : "src/demos/com/jogamp/opengl/demos/graph/ui/UISceneDemo11.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java"
        ],
        "commitId" : "45298f3d4ef14cf3cc8eafb568f8b891c0aa4b41",
        "timestamp" : 1682731105000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI GridLayout: Remove old unused layout0(..) method\u000a",
        "date" : "2023-04-29 03:18:25 +0200",
        "id" : "45298f3d4ef14cf3cc8eafb568f8b891c0aa4b41",
        "msg" : "GraphUI GridLayout: Remove old unused layout0(..) method",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java"
        ],
        "commitId" : "34a6853f8bef69277863dba181195a9275b55b16",
        "timestamp" : 1682731371000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GraphUI GridLayout: Handle 'diffBL' in 2nd path, no need to store as we don't use PMVMatrix for computation\u000a",
        "date" : "2023-04-29 03:22:51 +0200",
        "id" : "34a6853f8bef69277863dba181195a9275b55b16",
        "msg" : "GraphUI GridLayout: Handle 'diffBL' in 2nd path, no need to store as we don't use PMVMatrix for computation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/graphui/classes/com/jogamp/graph/ui/layout/GridLayout.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/make.jogl.all.win64.bat",
          "doc/HowToBuild.html"
        ],
        "commitId" : "1e9adf43f23b6780a6885dfe6bf3d06e1147f0c3",
        "timestamp" : 1683163591000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "HowToBuild: Windows: We use MinGW64 w/ 'posix threads' instead of 'win32 threads', allowing C++ std::mutex etc to be used (openal-soft)\u000a",
        "date" : "2023-05-04 03:26:31 +0200",
        "id" : "1e9adf43f23b6780a6885dfe6bf3d06e1147f0c3",
        "msg" : "HowToBuild: Windows: We use MinGW64 w/ 'posix threads' instead of 'win32 threads', allowing C++ std::mutex etc to be used (openal-soft)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/make.jogl.all.win64.bat"
          },
          {
            "editType" : "edit",
            "file" : "doc/HowToBuild.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests-x64-dbg.bat",
          "make/scripts/tests-win.bat",
          "make/scripts/tests-x64.bat",
          "make/scripts/tests.sh"
        ],
        "commitId" : "7011ad1131f6d412f6947cfcf9bcad042d4badb4",
        "timestamp" : 1683163649000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Windows tests scripts: Update Graph* and *Movie* demos cmdline launches\u000a",
        "date" : "2023-05-04 03:27:29 +0200",
        "id" : "7011ad1131f6d412f6947cfcf9bcad042d4badb4",
        "msg" : "Windows tests scripts: Update Graph* and *Movie* demos cmdline launches",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-win.bat"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.bat"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64-dbg.bat"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/font/FontFactory.java"
        ],
        "commitId" : "4f3a757646d16cf18d4a41e67abf63411f35c300",
        "timestamp" : 1683163726000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph FontFactor: Adopt to GlueGen commit 69d22df0a6132dbf8b88fd04090c0bc81129237f IOUtil.copyStream2File() changes\u000a",
        "date" : "2023-05-04 03:28:46 +0200",
        "id" : "4f3a757646d16cf18d4a41e67abf63411f35c300",
        "msg" : "Graph FontFactor: Adopt to GlueGen commit 69d22df0a6132dbf8b88fd04090c0bc81129237f IOUtil.copyStream2File() changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/font/FontFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/av/AudioSinkFactory.java"
        ],
        "commitId" : "e3e58836fc6578aa8814731c9b15581b3e0cb580",
        "timestamp" : 1683163757000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "AudioSinkFactory: Add debug output in case of failed initialization\u000a",
        "date" : "2023-05-04 03:29:17 +0200",
        "id" : "e3e58836fc6578aa8814731c9b15581b3e0cb580",
        "msg" : "AudioSinkFactory: Add debug output in case of failed initialization",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/av/AudioSinkFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
        ],
        "commitId" : "f702eb7a5dcb1b5ede5a48ba17b558991285220f",
        "timestamp" : 1683163803000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph GLRegion.growBuffer(..): Disable debug output (static final flag)\u000a",
        "date" : "2023-05-04 03:30:03 +0200",
        "id" : "f702eb7a5dcb1b5ede5a48ba17b558991285220f",
        "msg" : "Graph GLRegion.growBuffer(..): Disable debug output (static final flag)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/HowToBuild.html"
        ],
        "commitId" : "986dc527acf5aa27d244cb15d7a024ae8ca4ed17",
        "timestamp" : 1683214131000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "HowToBuild: MacOS: Detail cmake commandline installation and mention 7-Zip\u000a",
        "date" : "2023-05-04 17:28:51 +0200",
        "id" : "986dc527acf5aa27d244cb15d7a024ae8ca4ed17",
        "msg" : "HowToBuild: MacOS: Detail cmake commandline installation and mention 7-Zip",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/HowToBuild.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "doc/HowToBuild.html"
        ],
        "commitId" : "aebe4cd8bec1f15b45c0d1df5363c442bb9f8db7",
        "timestamp" : 1683235324000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "doc/HowToBuild.html: Align w/ GlueGen's MacOS changes\u000a",
        "date" : "2023-05-04 23:22:04 +0200",
        "id" : "aebe4cd8bec1f15b45c0d1df5363c442bb9f8db7",
        "msg" : "doc/HowToBuild.html: Align w/ GlueGen's MacOS changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/HowToBuild.html"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
        ],
        "commitId" : "67973c43fb1f6873b19b327b3c665452e5131960",
        "timestamp" : 1683249233000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph GLRegion: DEBUG_BUFFER (growth) 'jogl.debug.graph.curve.Buffer'\u000a",
        "date" : "2023-05-05 03:13:53 +0200",
        "id" : "67973c43fb1f6873b19b327b3c665452e5131960",
        "msg" : "Graph GLRegion: DEBUG_BUFFER (growth) 'jogl.debug.graph.curve.Buffer'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/GLRegion.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java"
        ],
        "commitId" : "45a3a220c43cdc40112b0bb9677197139b758347",
        "timestamp" : 1683249455000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Graph CDTriangulator2D: Drop invalid innerPoly, avoiding Loop.initFromPolyline(..) outline.getGraphPoint().size() < 3 IllegalArgumentException\u000a\u000aThis issue has to be added to our CD ..\u000a\u000a/*\u000a * Font FreeMono-Bold: ID 0 + 465: Glyph[id 465 'uni020F', advance 600, leftSideBearings 42, kerning[size 0, horiz true, cross true], shape true], OutlineShape@5e8a459[outlines 2, vertices 34]\u000a    Drop innerPoly ctrlpts < 3\u000a    - innerPo[vertices 2, ctrlpts 2] < 3\u000a    - outline[vertices 4, ctrlpts 4]\u000a    -   Input[vertices 4]\u000a *\u000a * Font FreeSans-Regular: ID 0 + 409: Glyph[id 409 'Udieresiscaron', advance 720, leftSideBearings 80, kerning[size 0, horiz true, cross false], shape true], OutlineShape@5eb97ced[outlines 3, vertices 33]\u000a    Drop innerPoly ctrlpts < 3\u000a    - innerPo[vertices 1, ctrlpts 1] < 3\u000a    - outline[vertices 1, ctrlpts 1]\u000a    -   Input[vertices 1]\u000a\u000a * Stack:\u000a   at jogamp.graph.curve.tess.CDTriangulator2D.addCurve(CDTriangulator2D.java:97)\u000a   at com.jogamp.graph.curve.OutlineShape.triangulateImpl(OutlineShape.java:988)\u000a   at com.jogamp.graph.curve.OutlineShape.getTriangles(OutlineShape.java:1012)\u000a   at com.jogamp.graph.curve.Region.countOutlineShape(Region.java:503)\u000a   at com.jogamp.graph.ui.shapes.GlyphShape.<init>(GlyphShape.java:77)\u000a */\u000a",
        "date" : "2023-05-05 03:17:35 +0200",
        "id" : "45a3a220c43cdc40112b0bb9677197139b758347",
        "msg" : "Graph CDTriangulator2D: Drop invalid innerPoly, avoiding Loop.initFromPolyline(..) outline.getGraphPoint().size() < 3 IllegalArgumentException",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/graph/curve/tess/CDTriangulator2D.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/build-oculusvr.xml",
          "doc/HowToBuild.html"
        ],
        "commitId" : "2ab85d08bc3d42b9de2e55b8001c932348758e64",
        "timestamp" : 1683387395000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "doc/HowToBuild.html: Align w/ GlueGen (MacOS changes, min deployment target 10.7)\u000a",
        "date" : "2023-05-06 17:36:35 +0200",
        "id" : "2ab85d08bc3d42b9de2e55b8001c932348758e64",
        "msg" : "doc/HowToBuild.html: Align w/ GlueGen (MacOS changes, min deployment target 10.7)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "doc/HowToBuild.html"
          },
          {
            "editType" : "edit",
            "file" : "make/build-oculusvr.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/nativewindow/native/macosx/OSXmisc.m"
        ],
        "commitId" : "40ba8332851364614512324f489ab984cf020586",
        "timestamp" : 1683387429000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Nativewindow OSXmisc.m: Minor cleanup\u000a",
        "date" : "2023-05-06 17:37:09 +0200",
        "id" : "40ba8332851364614512324f489ab984cf020586",
        "msg" : "Nativewindow OSXmisc.m: Minor cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/macosx/OSXmisc.m"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java",
          "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java"
        ],
        "commitId" : "542044df793f59f56bbd9e16d0e7620b78c55128",
        "timestamp" : 1683399303000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "MacOSXCGLDrawableFactory.canCreateGLPbuffer(): Disabled for MacOS >= 10.13 (High Sierra)\u000a\u000aThis expands blocking Pbuffer on MacOS, see commit 1562a6d4c71b27378612306f825c2530c938f859\u000a",
        "date" : "2023-05-06 20:55:03 +0200",
        "id" : "542044df793f59f56bbd9e16d0e7620b78c55128",
        "msg" : "MacOSXCGLDrawableFactory.canCreateGLPbuffer(): Disabled for MacOS >= 10.13 (High Sierra)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/gbburkhardt",
      "fullName" : "gbburkhardt"
    },
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
      "fullName" : "Sven Gothel"
    },
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/david.42.hall",
      "fullName" : "David.42.Hall"
    }
  ]
}