{"issue":{"pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/05a9ea8209c0f0d038d94865d380b210?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"05a9ea8209c0f0d038d94865d380b210","url":"https://api.github.com/users/alteredq","login":"alteredq","id":438022},"milestone":null,"labels":[],"assignee":null,"updated_at":"2011-10-29T05:30:40Z","comments":5,"closed_at":null,"url":"https://api.github.com/repos/mrdoob/three.js/issues/697","body":"I think `__dirtyXXX` properties definitely proved to be useful and it's time to finally graduate them from hackily exposing WebGLRenderer's internals into something looking more like API.\r\n\r\nWe could make them lose underscores:\r\n\r\n```javascript\r\ngeometry.dirtyVertices = false;\r\ngeometry.dirtyMorphTargets = false;\r\ngeometry.dirtyElements = false;\r\ngeometry.dirtyUvs = false;\r\ngeometry.dirtyNormals = false;\r\ngeometry.dirtyColors = false;\r\ngeometry.dirtyTangents = false;\r\n```\r\n\r\nOr they could be more in line with textures and custom attributes:\r\n\r\n```javascript\r\ngeometry.needsUpdateVertices = true;\r\ngeometry.needsUpdateElements = true;\r\ngeometry.needsUpdateMorphTargets = true;\r\ngeometry.needsUpdateUvs = true;\r\ngeometry.needsUpdateNormals = true;\r\ngeometry.needsUpdateColors = true;\r\ngeometry.needsUpdateTangents = true;\r\n```\r\n\r\nA bit different variant:\r\n\r\n```javascript\r\ngeometry.verticesNeedUpdate = true;\r\ngeometry.elementsNeedUpdate = true;\r\ngeometry.morphTargetsNeedUpdate = true;\r\ngeometry.uvsNeedUpdate = true;\r\ngeometry.normalsNeedUpdate = true;\r\ngeometry.colorsNeedUpdate = true;\r\ngeometry.tangentsNeedUpdate = true;\r\n```\r\n\r\nWhat do you think?","html_url":"https://github.com/mrdoob/three.js/issues/697","number":697,"title":"Dirty refactoring?","id":2084177,"created_at":"2011-10-28T21:46:53Z"},"action":"created","comment":{"user":{"avatar_url":"https://secure.gravatar.com/avatar/a00211a1e1aa4fe920302e7b76da0d91?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"a00211a1e1aa4fe920302e7b76da0d91","url":"https://api.github.com/users/mrdoob","login":"mrdoob","id":97088},"updated_at":"2011-10-29T05:30:40Z","url":"https://api.github.com/repos/mrdoob/three.js/issues/comments/2563598","body":"> There is also computeTangents, computeFaceNormals, etc. Is the style actionProperty for methods and groupSetting for values?\r\n\r\nSo it seems! Kind of works for me :)","id":2563598,"created_at":"2011-10-29T05:30:40Z"}}