{"action":"created","comment":{"url":"https://api.github.com/repos/cedricpinson/osgjs/pulls/comments/61853814","id":61853814,"diff_hunk":"@@ -0,0 +1,319 @@\n+'use strict';\n+\n+var MACROUTILS = require( 'osg/Utils' );\n+var Transform = require( 'osg/Transform' );\n+var Vec3 = require( 'osg/Vec3' );\n+var Vec4 = require( 'osg/Vec4' );\n+var Quat = require( 'osg/Quat' );\n+var Matrix = require( 'osg/Matrix' );\n+var StateAttribute = require( 'osg/StateAttribute' );\n+var BillboardAttribute = require( 'osg/BillboardAttribute' );\n+var NodeVisitor = require( 'osg/NodeVisitor' );\n+var TransformEnums = require( 'osg/TransformEnums' );\n+var Node = require( 'osg/Node' );\n+\n+/** AutoTransform is a derived form of Transform that automatically\n+ * scales or rotates to keep its children aligned with screen coordinates.\n+ * W.r.t. AutorotateModes only rotate to screen is supported right now.\n+ * More AutorotateModes modes should be addressed in the future.\n+ * @class AutoTransform\n+ */\n+\n+var AutoTransform = function () {\n+    Transform.call( this );\n+    this._matrix = Matrix.create();\n+    this._position = Vec3.create();\n+    this._matrixDirty = true;\n+    this._scale = Vec3.createAndSet( 1.0, 1.0, 1.0 );\n+    this._minimumScale = 0;\n+    this._maximumScale = Number.MAX_VALUE;\n+    this._rotation = Quat.create();\n+    this._pivotPoint = Vec3.create();\n+    this._autoScaleToScreen = false;\n+    this._autoRotateToScreen = false;\n+    this._cachedMatrix = Matrix.create();\n+    this._firstTimeToInitEyePoint = true;\n+    this._autoScaleTransitionWidthRatio = 0.25;\n+    this._billboardAttribute = undefined;\n+    this._previousWidth = 0.0;\n+    this._previousHeight = 0.0;\n+    this._previousProjection = Matrix.create();\n+    this._previousPosition = Vec3.create();\n+};\n+\n+/** @lends Autotransform.prototype */\n+AutoTransform.prototype = MACROUTILS.objectLibraryClass( MACROUTILS.objectInherit( Transform.prototype, {\n+\n+    getMatrix: function () {\n+        return this._matrix;\n+    },\n+\n+    setMatrix: function ( m ) {\n+        this._matrix = m;\n+        this.dirtyBound();\n+    },\n+\n+    setPosition: function ( pos ) {\n+        this._position = pos;\n+        this._matrixDirty = true;\n+        this.dirtyBound();\n+    },\n+    getPosition: function () {\n+        return this._position;\n+    },\n+\n+    setRotation: function ( quat ) {\n+        this._rotation = quat;\n+        this._matrixDirty = true;\n+        this.dirtyBound();\n+    },\n+\n+    getRotation: function () {\n+        return this._rotation;\n+    },\n+\n+    setScale: function ( scale ) {\n+        this.setScaleFromVec3( Vec3.createAndSet( scale, scale, scale ) );\n+    },\n+\n+    setScaleFromVec3: function ( scaleVec ) {\n+        this._scale = scaleVec;\n+        this._matrixDirty = true;\n+        this.dirtyBound();\n+    },\n+\n+    getScale: function () {\n+        return this._scale;\n+    },\n+\n+    setMinimumScale: function ( minimumScale ) {\n+        this._minimumScale = minimumScale;\n+    },\n+\n+    getMinimumScale: function () {\n+        return this._minimumScale;\n+    },\n+\n+    setMaximumScale: function ( maximumScale ) {\n+        this._maximumScale = maximumScale;\n+    },\n+\n+    getMaximumScale: function () {\n+        return this._maximumScale;\n+    },\n+\n+    setAutoScaleToScreen: function ( autoScaleToScreen ) {\n+        this._autoScaleToScreen = autoScaleToScreen;\n+        this._matrixDirty = true;\n+    },\n+\n+    getAutoScaleToScreen: function () {\n+        return this._autoScaleToScreen;\n+    },\n+\n+    setAutoRotateToScreen: function ( value ) {\n+        this._autoRotateToScreen = value;\n+        if ( !this._billboardAttribute ) {\n+            this._billboardAttribute = new BillboardAttribute();\n+        }\n+        var stateset = this.getOrCreateStateSet();\n+        if ( value ) {\n+            // Temporary hack because StateAttribute.ON does not work right now\n+            this._billboardAttribute.setEnabled( true );\n+            stateset.setAttributeAndModes( this._billboardAttribute, StateAttribute.ON );\n+        } else {\n+            // Temporary hack because StateAttribute.OFF does not work right now\n+            this._billboardAttribute.setEnabled( false );\n+            stateset.setAttributeAndModes( this._billboardAttribute, StateAttribute.OFF );\n+        }\n+    },\n+\n+    getAutoRotateToScreen: function () {\n+        return this._autoRotateToScreen;\n+    },\n+\n+    setAutoScaleTransitionWidthRatio: function ( autoScaleTransitionWidthRatio ) {\n+        this._autoScaleTransitionWidthRatio = autoScaleTransitionWidthRatio;\n+    },\n+\n+    getAutoScaleTransitionWidthRatio: function () {\n+        return this._autoScaleTransitionWidthRatio;\n+    },\n+\n+    // local to \"local world\" (not Global World)\n+    computeLocalToWorldMatrix: function ( matrix /*, nodeVisitor */ ) {\n+        if ( this._matrixDirty ) this.computeMatrix();\n+        if ( this.referenceFrame === TransformEnums.RELATIVE_RF ) {\n+            Matrix.preMult( matrix, this._matrix );\n+        } else {\n+            Matrix.copy( this._matrix, matrix );\n+        }\n+    },\n+\n+    computeMatrix: ( function () {\n+        var neg = Vec3.create();\n+        return function () {\n+            if ( !this._matrixDirty ) return;\n+            Matrix.makeRotateFromQuat( this._rotation, this._matrix );\n+            //_cachedMatrix.postMultTranslate(_position);\n+            Matrix.postMultTranslate( this._matrix, this._position );\n+            Matrix.preMultScale( this._matrix, this._scale );\n+            Matrix.preMultTranslate( this._matrix, Vec3.neg( this._pivotPoint, neg ) );\n+            this._matrixDirty = false;\n+        };\n+\n+    } )(),\n+\n+    computeWorldToLocalMatrix: ( function () {\n+        var neg = Vec3.create();\n+        var rotInverse = Quat.create();\n+        var scaleInverse = Vec3.create();\n+        return function ( matrix /*, nodeVisitor */ ) {\n+            if ( this.scale[ 0 ] === 0.0 && this.scale[ 1 ] === 0.0 && this.scale[ 2 ] === 0.0 ) {\n+                return false;\n+            }\n+            scaleInverse[ 0 ] = 1 / this._scale[ 0 ];\n+            scaleInverse[ 1 ] = 1 / this._scale[ 1 ];\n+            scaleInverse[ 2 ] = 1 / this._scale[ 2 ];\n+            if ( this.referenceFrame === TransformEnums.RELATIVE_RF ) {\n+                Matrix.postMultTranslate( matrix, Vec3.neg( this._position, neg ) );\n+                Matrix.postMultRotate( matrix, Quat.inverse( this._rotation, rotInverse ) );\n+                Matrix.postMultScale( matrix, scaleInverse );\n+                Matrix.postMultTranslate( matrix, this._pivotPoint );\n+            } else { // absolute\n+                Matrix.makeRotateFromQuat( Quat.inverse( this._rotation, rotInverse ), this._matrix );\n+                Matrix.preMultTranslate( matrix, Vec3.neg( this._position, neg ) );\n+                Matrix.postMultScale( matrix, scaleInverse );\n+                Matrix.postMultTranslate( matrix, this._pivotPoint );\n+            }\n+            return true;\n+        };\n+    } )(),\n+\n+    computeBound: ( function () {\n+        var matrix = Matrix.create();","path":"sources/osg/AutoTransform.js","position":179,"original_position":194,"commit_id":"afdd5ae212213d8c15b58a371362c93926de6b10","original_commit_id":"73f0e73f44e1beb34c27b2b4845a9ee5dbb0c3fa","user":{"login":"stephomi","id":4750281,"avatar_url":"https://avatars.githubusercontent.com/u/4750281?v=3","gravatar_id":"","url":"https://api.github.com/users/stephomi","html_url":"https://github.com/stephomi","followers_url":"https://api.github.com/users/stephomi/followers","following_url":"https://api.github.com/users/stephomi/following{/other_user}","gists_url":"https://api.github.com/users/stephomi/gists{/gist_id}","starred_url":"https://api.github.com/users/stephomi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephomi/subscriptions","organizations_url":"https://api.github.com/users/stephomi/orgs","repos_url":"https://api.github.com/users/stephomi/repos","events_url":"https://api.github.com/users/stephomi/events{/privacy}","received_events_url":"https://api.github.com/users/stephomi/received_events","type":"User","site_admin":false},"body":"It can't work, there is no computeBound function, it's computeBoundingSphere instead.","created_at":"2016-05-03T08:56:03Z","updated_at":"2016-05-03T08:56:03Z","html_url":"https://github.com/cedricpinson/osgjs/pull/539#discussion_r61853814","pull_request_url":"https://api.github.com/repos/cedricpinson/osgjs/pulls/539","_links":{"self":{"href":"https://api.github.com/repos/cedricpinson/osgjs/pulls/comments/61853814"},"html":{"href":"https://github.com/cedricpinson/osgjs/pull/539#discussion_r61853814"},"pull_request":{"href":"https://api.github.com/repos/cedricpinson/osgjs/pulls/539"}}},"pull_request":{"url":"https://api.github.com/repos/cedricpinson/osgjs/pulls/539","id":59920740,"html_url":"https://github.com/cedricpinson/osgjs/pull/539","diff_url":"https://github.com/cedricpinson/osgjs/pull/539.diff","patch_url":"https://github.com/cedricpinson/osgjs/pull/539.patch","issue_url":"https://api.github.com/repos/cedricpinson/osgjs/issues/539","number":539,"state":"open","locked":false,"title":"Add AutoTransform node and support fort characterSizeModes in osgText.Text","user":{"login":"jtorresfabra","id":1784900,"avatar_url":"https://avatars.githubusercontent.com/u/1784900?v=3","gravatar_id":"","url":"https://api.github.com/users/jtorresfabra","html_url":"https://github.com/jtorresfabra","followers_url":"https://api.github.com/users/jtorresfabra/followers","following_url":"https://api.github.com/users/jtorresfabra/following{/other_user}","gists_url":"https://api.github.com/users/jtorresfabra/gists{/gist_id}","starred_url":"https://api.github.com/users/jtorresfabra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtorresfabra/subscriptions","organizations_url":"https://api.github.com/users/jtorresfabra/orgs","repos_url":"https://api.github.com/users/jtorresfabra/repos","events_url":"https://api.github.com/users/jtorresfabra/events{/privacy}","received_events_url":"https://api.github.com/users/jtorresfabra/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-02-19T08:57:48Z","updated_at":"2016-05-03T08:56:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"37b9dee165d1519fa6be41d35dbb2b6a8116a431","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/cedricpinson/osgjs/pulls/539/commits","review_comments_url":"https://api.github.com/repos/cedricpinson/osgjs/pulls/539/comments","review_comment_url":"https://api.github.com/repos/cedricpinson/osgjs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cedricpinson/osgjs/issues/539/comments","statuses_url":"https://api.github.com/repos/cedricpinson/osgjs/statuses/afdd5ae212213d8c15b58a371362c93926de6b10","head":{"label":"jtorresfabra:AutoTransform","ref":"AutoTransform","sha":"afdd5ae212213d8c15b58a371362c93926de6b10","user":{"login":"jtorresfabra","id":1784900,"avatar_url":"https://avatars.githubusercontent.com/u/1784900?v=3","gravatar_id":"","url":"https://api.github.com/users/jtorresfabra","html_url":"https://github.com/jtorresfabra","followers_url":"https://api.github.com/users/jtorresfabra/followers","following_url":"https://api.github.com/users/jtorresfabra/following{/other_user}","gists_url":"https://api.github.com/users/jtorresfabra/gists{/gist_id}","starred_url":"https://api.github.com/users/jtorresfabra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtorresfabra/subscriptions","organizations_url":"https://api.github.com/users/jtorresfabra/orgs","repos_url":"https://api.github.com/users/jtorresfabra/repos","events_url":"https://api.github.com/users/jtorresfabra/events{/privacy}","received_events_url":"https://api.github.com/users/jtorresfabra/received_events","type":"User","site_admin":false},"repo":{"id":16796956,"name":"osgjs","full_name":"jtorresfabra/osgjs","owner":{"login":"jtorresfabra","id":1784900,"avatar_url":"https://avatars.githubusercontent.com/u/1784900?v=3","gravatar_id":"","url":"https://api.github.com/users/jtorresfabra","html_url":"https://github.com/jtorresfabra","followers_url":"https://api.github.com/users/jtorresfabra/followers","following_url":"https://api.github.com/users/jtorresfabra/following{/other_user}","gists_url":"https://api.github.com/users/jtorresfabra/gists{/gist_id}","starred_url":"https://api.github.com/users/jtorresfabra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtorresfabra/subscriptions","organizations_url":"https://api.github.com/users/jtorresfabra/orgs","repos_url":"https://api.github.com/users/jtorresfabra/repos","events_url":"https://api.github.com/users/jtorresfabra/events{/privacy}","received_events_url":"https://api.github.com/users/jtorresfabra/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jtorresfabra/osgjs","description":"Javascript Implementation of OpenSceneGraph","fork":true,"url":"https://api.github.com/repos/jtorresfabra/osgjs","forks_url":"https://api.github.com/repos/jtorresfabra/osgjs/forks","keys_url":"https://api.github.com/repos/jtorresfabra/osgjs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jtorresfabra/osgjs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jtorresfabra/osgjs/teams","hooks_url":"https://api.github.com/repos/jtorresfabra/osgjs/hooks","issue_events_url":"https://api.github.com/repos/jtorresfabra/osgjs/issues/events{/number}","events_url":"https://api.github.com/repos/jtorresfabra/osgjs/events","assignees_url":"https://api.github.com/repos/jtorresfabra/osgjs/assignees{/user}","branches_url":"https://api.github.com/repos/jtorresfabra/osgjs/branches{/branch}","tags_url":"https://api.github.com/repos/jtorresfabra/osgjs/tags","blobs_url":"https://api.github.com/repos/jtorresfabra/osgjs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jtorresfabra/osgjs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jtorresfabra/osgjs/git/refs{/sha}","trees_url":"https://api.github.com/repos/jtorresfabra/osgjs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jtorresfabra/osgjs/statuses/{sha}","languages_url":"https://api.github.com/repos/jtorresfabra/osgjs/languages","stargazers_url":"https://api.github.com/repos/jtorresfabra/osgjs/stargazers","contributors_url":"https://api.github.com/repos/jtorresfabra/osgjs/contributors","subscribers_url":"https://api.github.com/repos/jtorresfabra/osgjs/subscribers","subscription_url":"https://api.github.com/repos/jtorresfabra/osgjs/subscription","commits_url":"https://api.github.com/repos/jtorresfabra/osgjs/commits{/sha}","git_commits_url":"https://api.github.com/repos/jtorresfabra/osgjs/git/commits{/sha}","comments_url":"https://api.github.com/repos/jtorresfabra/osgjs/comments{/number}","issue_comment_url":"https://api.github.com/repos/jtorresfabra/osgjs/issues/comments{/number}","contents_url":"https://api.github.com/repos/jtorresfabra/osgjs/contents/{+path}","compare_url":"https://api.github.com/repos/jtorresfabra/osgjs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jtorresfabra/osgjs/merges","archive_url":"https://api.github.com/repos/jtorresfabra/osgjs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jtorresfabra/osgjs/downloads","issues_url":"https://api.github.com/repos/jtorresfabra/osgjs/issues{/number}","pulls_url":"https://api.github.com/repos/jtorresfabra/osgjs/pulls{/number}","milestones_url":"https://api.github.com/repos/jtorresfabra/osgjs/milestones{/number}","notifications_url":"https://api.github.com/repos/jtorresfabra/osgjs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jtorresfabra/osgjs/labels{/name}","releases_url":"https://api.github.com/repos/jtorresfabra/osgjs/releases{/id}","deployments_url":"https://api.github.com/repos/jtorresfabra/osgjs/deployments","created_at":"2014-02-13T08:48:03Z","updated_at":"2015-05-07T13:01:22Z","pushed_at":"2016-04-29T17:19:42Z","git_url":"git://github.com/jtorresfabra/osgjs.git","ssh_url":"git@github.com:jtorresfabra/osgjs.git","clone_url":"https://github.com/jtorresfabra/osgjs.git","svn_url":"https://github.com/jtorresfabra/osgjs","homepage":"http://osgjs.org","size":154049,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"cedricpinson:develop","ref":"develop","sha":"8354fe03ab39844bf32be573b8a318c03a9f4250","user":{"login":"cedricpinson","id":351686,"avatar_url":"https://avatars.githubusercontent.com/u/351686?v=3","gravatar_id":"","url":"https://api.github.com/users/cedricpinson","html_url":"https://github.com/cedricpinson","followers_url":"https://api.github.com/users/cedricpinson/followers","following_url":"https://api.github.com/users/cedricpinson/following{/other_user}","gists_url":"https://api.github.com/users/cedricpinson/gists{/gist_id}","starred_url":"https://api.github.com/users/cedricpinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cedricpinson/subscriptions","organizations_url":"https://api.github.com/users/cedricpinson/orgs","repos_url":"https://api.github.com/users/cedricpinson/repos","events_url":"https://api.github.com/users/cedricpinson/events{/privacy}","received_events_url":"https://api.github.com/users/cedricpinson/received_events","type":"User","site_admin":false},"repo":{"id":1675632,"name":"osgjs","full_name":"cedricpinson/osgjs","owner":{"login":"cedricpinson","id":351686,"avatar_url":"https://avatars.githubusercontent.com/u/351686?v=3","gravatar_id":"","url":"https://api.github.com/users/cedricpinson","html_url":"https://github.com/cedricpinson","followers_url":"https://api.github.com/users/cedricpinson/followers","following_url":"https://api.github.com/users/cedricpinson/following{/other_user}","gists_url":"https://api.github.com/users/cedricpinson/gists{/gist_id}","starred_url":"https://api.github.com/users/cedricpinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cedricpinson/subscriptions","organizations_url":"https://api.github.com/users/cedricpinson/orgs","repos_url":"https://api.github.com/users/cedricpinson/repos","events_url":"https://api.github.com/users/cedricpinson/events{/privacy}","received_events_url":"https://api.github.com/users/cedricpinson/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/cedricpinson/osgjs","description":"Javascript Implementation of OpenSceneGraph","fork":false,"url":"https://api.github.com/repos/cedricpinson/osgjs","forks_url":"https://api.github.com/repos/cedricpinson/osgjs/forks","keys_url":"https://api.github.com/repos/cedricpinson/osgjs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cedricpinson/osgjs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cedricpinson/osgjs/teams","hooks_url":"https://api.github.com/repos/cedricpinson/osgjs/hooks","issue_events_url":"https://api.github.com/repos/cedricpinson/osgjs/issues/events{/number}","events_url":"https://api.github.com/repos/cedricpinson/osgjs/events","assignees_url":"https://api.github.com/repos/cedricpinson/osgjs/assignees{/user}","branches_url":"https://api.github.com/repos/cedricpinson/osgjs/branches{/branch}","tags_url":"https://api.github.com/repos/cedricpinson/osgjs/tags","blobs_url":"https://api.github.com/repos/cedricpinson/osgjs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cedricpinson/osgjs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cedricpinson/osgjs/git/refs{/sha}","trees_url":"https://api.github.com/repos/cedricpinson/osgjs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cedricpinson/osgjs/statuses/{sha}","languages_url":"https://api.github.com/repos/cedricpinson/osgjs/languages","stargazers_url":"https://api.github.com/repos/cedricpinson/osgjs/stargazers","contributors_url":"https://api.github.com/repos/cedricpinson/osgjs/contributors","subscribers_url":"https://api.github.com/repos/cedricpinson/osgjs/subscribers","subscription_url":"https://api.github.com/repos/cedricpinson/osgjs/subscription","commits_url":"https://api.github.com/repos/cedricpinson/osgjs/commits{/sha}","git_commits_url":"https://api.github.com/repos/cedricpinson/osgjs/git/commits{/sha}","comments_url":"https://api.github.com/repos/cedricpinson/osgjs/comments{/number}","issue_comment_url":"https://api.github.com/repos/cedricpinson/osgjs/issues/comments{/number}","contents_url":"https://api.github.com/repos/cedricpinson/osgjs/contents/{+path}","compare_url":"https://api.github.com/repos/cedricpinson/osgjs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cedricpinson/osgjs/merges","archive_url":"https://api.github.com/repos/cedricpinson/osgjs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cedricpinson/osgjs/downloads","issues_url":"https://api.github.com/repos/cedricpinson/osgjs/issues{/number}","pulls_url":"https://api.github.com/repos/cedricpinson/osgjs/pulls{/number}","milestones_url":"https://api.github.com/repos/cedricpinson/osgjs/milestones{/number}","notifications_url":"https://api.github.com/repos/cedricpinson/osgjs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cedricpinson/osgjs/labels{/name}","releases_url":"https://api.github.com/repos/cedricpinson/osgjs/releases{/id}","deployments_url":"https://api.github.com/repos/cedricpinson/osgjs/deployments","created_at":"2011-04-28T12:36:33Z","updated_at":"2016-04-29T14:57:29Z","pushed_at":"2016-05-03T08:34:59Z","git_url":"git://github.com/cedricpinson/osgjs.git","ssh_url":"git@github.com:cedricpinson/osgjs.git","clone_url":"https://github.com/cedricpinson/osgjs.git","svn_url":"https://github.com/cedricpinson/osgjs","homepage":"http://osgjs.org","size":435995,"stargazers_count":302,"watchers_count":302,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":72,"mirror_url":null,"open_issues_count":15,"forks":72,"open_issues":15,"watchers":302,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/cedricpinson/osgjs/pulls/539"},"html":{"href":"https://github.com/cedricpinson/osgjs/pull/539"},"issue":{"href":"https://api.github.com/repos/cedricpinson/osgjs/issues/539"},"comments":{"href":"https://api.github.com/repos/cedricpinson/osgjs/issues/539/comments"},"review_comments":{"href":"https://api.github.com/repos/cedricpinson/osgjs/pulls/539/comments"},"review_comment":{"href":"https://api.github.com/repos/cedricpinson/osgjs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cedricpinson/osgjs/pulls/539/commits"},"statuses":{"href":"https://api.github.com/repos/cedricpinson/osgjs/statuses/afdd5ae212213d8c15b58a371362c93926de6b10"}}}}