{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":67768325,"defaultBranch":"master","name":"meshoptimizer","ownerLogin":"zeux","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-09-09T05:24:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1106629?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726778065.0","currentOid":""},"activityList":{"items":[{"before":"a29dda2bdd5978eeabab1de1f3b86a874a5990c5","after":"a35fdf812d3a6ab2909f9250b86f4533534bf4a2","ref":"refs/heads/simp-classify","pushedAt":"2024-09-19T21:49:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"simplify: Fix comment to account for updated table\n\nWe can now collapse border and seam vertices onto locked as long as the\ncollapse follows the border/seam loop.","shortMessageHtmlLink":"simplify: Fix comment to account for updated table"}},{"before":"67f8807eaa2a382cebc0f91bda1f0241f23bd36b","after":"a29dda2bdd5978eeabab1de1f3b86a874a5990c5","ref":"refs/heads/simp-classify","pushedAt":"2024-09-19T21:31:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"simplify: Add memory safety guards for seam pair\n\nWhile the new seam handling code seems correct and robust based on\ntesting and fuzzing, it's theoretically possible that loop lookup\nreturns ~0u. Since this is used for indexing various vertex arrays it\nwould be a memory safety issue if it ever happened. Builds with enabled\nassertions will abort, but if assertions are compiled out this may go\nunnoticed.\n\nFor now, handle the ~0u case that should never happen by collapsing to\nthe next wedge; this is not correct for locked vertices but should not\ncreate more issues downstream. Eventually this code could be removed.","shortMessageHtmlLink":"simplify: Add memory safety guards for seam pair"}},{"before":null,"after":"67f8807eaa2a382cebc0f91bda1f0241f23bd36b","ref":"refs/heads/simp-classify","pushedAt":"2024-09-19T20:34:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"demo: Adjust simplifySeam test for seam->locked collapses\n\nUnlocking seam->locked collapses allows us to reduce this all the way\ndown to two quads; without the change in target, the end result is a\nlittle different with smaller error as instead of collapsing the\ninterior edge it's cheaper to move one of the seam vertices to the\nlocked one.","shortMessageHtmlLink":"demo: Adjust simplifySeam test for seam->locked collapses"}},{"before":"610646d1c88c71c1071623ab186fd3bb600fc7cb","after":"12d0360e4a48556aa3884be12ab688ce389f888a","ref":"refs/heads/master","pushedAt":"2024-09-17T21:34:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"Add .git-blame-ignore-revs for cleaner blames\n\nWhile we avoid mass reformat commits in general, there's been a couple\nnecessary ones in the past that result in harder to read blames. This\nfile will automatically fix them on GitHub and can fix local blames with\none command after checkout.","shortMessageHtmlLink":"Add .git-blame-ignore-revs for cleaner blames"}},{"before":"9dddd2f866c196c19406a3e0284ebb21d964b624","after":null,"ref":"refs/heads/simp-schedule","pushedAt":"2024-09-17T21:26:27.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"}},{"before":"e50eac84d9d208d00cdfcc2d4054b2e8ce70132e","after":"610646d1c88c71c1071623ab186fd3bb600fc7cb","ref":"refs/heads/master","pushedAt":"2024-09-17T21:26:25.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"Merge pull request #770 from zeux/simp-schedule\n\nsimplify: Avoid early termination of passes for complex meshes","shortMessageHtmlLink":"Merge pull request #770 from zeux/simp-schedule"}},{"before":"047572c142ad5870081db99208a3bd4d6a5233ce","after":"9dddd2f866c196c19406a3e0284ebb21d964b624","ref":"refs/heads/simp-schedule","pushedAt":"2024-09-17T19:48:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"simplify: Improve precision of collapse error sorting\n\nWe use a subset of bits of collapse error to produce an approximate\nordering of collapses; to keep stack usage and cache utilization\nreasonable, we used 11-bit counting sort which uses 8 bits of exponent\nand 3 bits of mantissa.\n\n3 bits of mantissa may not be enough and can result in choosing\nsuboptimal collapse order. Ideally we should probably use 5 bits here,\nbut that needs much more stack space.\n\nFor now, switch to 8+4 bits but to avoid doubling the stack usage,\nconstrain the exponent range on the high end so that excessively high\nerrors (>2^32) are bucketed together, as they are not useful.\n\nIn the future there's an opportunity to similarly constrain exponent\nspace on low end by clamping errors that are too low to zero.\n\nIn addition to improving the error selection in some cases this also can\nsometimes reduce the amount of simplification passes as eligible\ncollapses in error limited regime get sorted better and can be processed\nearlier.","shortMessageHtmlLink":"simplify: Improve precision of collapse error sorting"}},{"before":"17e02c49d040d370ef4d8bd6b8c8083cb11c7c7d","after":"047572c142ad5870081db99208a3bd4d6a5233ce","ref":"refs/heads/simp-schedule","pushedAt":"2024-09-17T19:37:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"simplify: Improve precision of collapse error sorting\n\nWe use a subset of bits of collapse error to produce an approximate\nordering of collapses; to keep stack usage and cache utilization\nreasonable, we used 11-bit counting sort which uses 8 bits of exponent\nand 3 bits of mantissa.\n\n3 bits of mantissa may not be enough and can result in choosing\nsuboptimal collapse order. Ideally we should probably use 5 bits here,\nbut that needs much more stack space.\n\nFor now, switch to 8+4 bits but to avoid doubling the stack usage,\nconstrain the exponent range on the high end so that excessively high\nerrors (>2^32) are bucketed together, as they are not useful.\n\nIn the future there's an opportunity to similarly constrain exponent\nspace on low end by clamping errors that are too low to zero.\n\nIn addition to improving the error selection in some cases this also can\nsometimes reduce the amount of simplification passes as eligible\ncollapses in error limited regime get sorted better and can be processed\nearlier.","shortMessageHtmlLink":"simplify: Improve precision of collapse error sorting"}},{"before":null,"after":"17e02c49d040d370ef4d8bd6b8c8083cb11c7c7d","ref":"refs/heads/simp-schedule","pushedAt":"2024-09-17T03:03:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"simplify: Avoid early termination of passes due to error_goal\n\nIn large meshes with complex topology we occasionally hit a case where\nerror_goal cutoff is not monotonic: a previous pass would simplify up to\na certain goal, but a subsequent pass would arrive at a smaller goal\n(for example as invalid collapses get eliminated) and hit it before an\nerror that it already encountered.\n\nIf we already collapsed an edge with a given error it is always correct\nto collapse other edges with a smaller error. This change tweaks the\nconditional, which results in fewer passes on some meshes (eg\nthai_buddha gets ~10% faster to simplify), 2-3% smaller error on some\nmeshes, and occasionally 1-2% larger error; most meshes simplify as they\ndid before however.","shortMessageHtmlLink":"simplify: Avoid early termination of passes due to error_goal"}},{"before":"fc5c85e6f192fa347dc6b5e2e8e2c307ce686360","after":"e50eac84d9d208d00cdfcc2d4054b2e8ce70132e","ref":"refs/heads/master","pushedAt":"2024-09-16T16:19:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"gltfpack: Fix rotation deviation calculation\n\nacos(dot(q1, q2)) returns half-angle of rotation between two\nquaternions, so our deviation was off by 2x.\n\nThis should not have a significant effect on constant track detection\nbut it makes the thresholds more accurate and may help with future\nanimation optimizations.","shortMessageHtmlLink":"gltfpack: Fix rotation deviation calculation"}},{"before":"75b4a577cf13e2dbc247b274b794c33f14dd4138","after":null,"ref":"refs/heads/gltf-utf8","pushedAt":"2024-09-14T19:33:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"}},{"before":"b0eaf6ab943bd1f461a75cfc15d28d68a21a36c1","after":"fc5c85e6f192fa347dc6b5e2e8e2c307ce686360","ref":"refs/heads/master","pushedAt":"2024-09-14T19:33:47.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"Merge pull request #769 from zeux/gltf-utf8\n\ngltfpack: Use UTF-8 encoding during gltfpack processing","shortMessageHtmlLink":"Merge pull request #769 from zeux/gltf-utf8"}},{"before":"4b437129de22349163ba2d05516b259d148c813e","after":"75b4a577cf13e2dbc247b274b794c33f14dd4138","ref":"refs/heads/gltf-utf8","pushedAt":"2024-09-14T16:22:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"gltfpack: Switch from manual UTF8 conversion to a manifest\n\nSince CMake supports manifest files as sources, it's a little easier to\nspecify UTF-8 as the ANSI encoding via that; this is embedded into .exe\nand is used for command line arguments as well so the rest of the code\njust works.","shortMessageHtmlLink":"gltfpack: Switch from manual UTF8 conversion to a manifest"}},{"before":"75b4a577cf13e2dbc247b274b794c33f14dd4138","after":"4b437129de22349163ba2d05516b259d148c813e","ref":"refs/heads/gltf-utf8","pushedAt":"2024-09-14T06:17:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"gltfpack: Set console output codepage to UTF-8\n\nSimilarly to the manifest codepage, we now set the output codepage for\nthe terminal to correctly print UTF-8 filenames in error messages et al.","shortMessageHtmlLink":"gltfpack: Set console output codepage to UTF-8"}},{"before":"cc8822d20607ef0425b9d1c283311abcf9129fe3","after":"75b4a577cf13e2dbc247b274b794c33f14dd4138","ref":"refs/heads/gltf-utf8","pushedAt":"2024-09-14T06:08:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"gltfpack: Switch from manual UTF8 conversion to a manifest\n\nSince CMake supports manifest files as sources, it's a little easier to\nspecify UTF-8 as the ANSI encoding via that; this is embedded into .exe\nand is used for command line arguments as well so the rest of the code\njust works.","shortMessageHtmlLink":"gltfpack: Switch from manual UTF8 conversion to a manifest"}},{"before":"2234fdbe076e01ae19d341247814a98579499725","after":"cc8822d20607ef0425b9d1c283311abcf9129fe3","ref":"refs/heads/gltf-utf8","pushedAt":"2024-09-14T06:07:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"gltfpack: Switch from manual UTF8 conversion to a manifest\n\nSince CMake supports manifest files as sources, it's a little easier to\nspecify UTF-8 as the ANSI encoding via that; this is embedded into .exe\nand is used for command line arguments as well so the rest of the code\njust works.","shortMessageHtmlLink":"gltfpack: Switch from manual UTF8 conversion to a manifest"}},{"before":"6177c59275f0b0c23db2918d24286713520242c0","after":"2234fdbe076e01ae19d341247814a98579499725","ref":"refs/heads/gltf-utf8","pushedAt":"2024-09-14T06:05:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"gltfpack: Switch from manual UTF8 conversion to a manifest\n\nSince CMake supports manifest files as sources, it's a little easier to\nspecify UTF-8 as the ANSI encoding via that; this is embedded into .exe\nand is used for command line arguments as well so the rest of the code\njust works.","shortMessageHtmlLink":"gltfpack: Switch from manual UTF8 conversion to a manifest"}},{"before":null,"after":"6177c59275f0b0c23db2918d24286713520242c0","ref":"refs/heads/gltf-utf8","pushedAt":"2024-09-14T05:41:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"gltfpack: Use UTF-8 encoding during gltfpack processing\n\nWhen main() is used, the inputs are ANSI according to the current code\npage; this is fine if the file paths can be converted to ANSI, but may\nfail to open some files and will use ANSI file paths inside .gltf files\nwhich violates glTF specification.\n\nThis can be worked around by using UTF8 as ANSI code page via a\nmanifest; however, to avoid having to bundle a manifest we can also\nconvert the command line arguments to UTF8 and set UTF8 as the codepage\ninstead.\n\nThis requires Windows 10 1803; on earlier Windows versions setlocale\nshould silently fail so this should be more or less equivalent to the\nprevious code.","shortMessageHtmlLink":"gltfpack: Use UTF-8 encoding during gltfpack processing"}},{"before":"bfbbaddf38d6fc2311ba66762c6f7656a7c8dd79","after":"b0eaf6ab943bd1f461a75cfc15d28d68a21a36c1","ref":"refs/heads/master","pushedAt":"2024-09-12T23:18:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"gltfpack: Add build support for new basisu library\n\nA few small changes are necessary to compile the newly added code and to\nadjust to the new name of the parameter we were setting.\n\nNote that the new version re-adds some debug prints that will need to be\nremoved, and the threading patch needs to be backported for performance\nto be comparable; otherwise it seems to work correctly though.","shortMessageHtmlLink":"gltfpack: Add build support for new basisu library"}},{"before":"7a4371960d0ca52b247140acd206b8be4852a9ac","after":"bfbbaddf38d6fc2311ba66762c6f7656a7c8dd79","ref":"refs/heads/master","pushedAt":"2024-09-11T18:55:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"Update README.md\n\nClarify the inclusion of attribute error for attribute simplification\nand suggest a range around 1.0 for unit attributes.","shortMessageHtmlLink":"Update README.md"}},{"before":"f1f677b6cae9c10f389342e0dedce6456bd2064b","after":"7a4371960d0ca52b247140acd206b8be4852a9ac","ref":"refs/heads/master","pushedAt":"2024-09-09T17:36:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"demo: Take camera field of view into account for LOD target\n\nThe field of view is fixed at 45 degrees right now but this makes the\ncomputation more future proof.","shortMessageHtmlLink":"demo: Take camera field of view into account for LOD target"}},{"before":"40b5d79a210e995cf5174640b3cdbf9e13b30557","after":"f1f677b6cae9c10f389342e0dedce6456bd2064b","ref":"refs/heads/master","pushedAt":"2024-09-09T15:04:49.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"Merge pull request #762 from Ono-Sendai/master\n\nFix spelling mistake.","shortMessageHtmlLink":"Merge pull request #762 from Ono-Sendai/master"}},{"before":"afd2682bb33fd5d27234138b74cef19bf7a73b04","after":"40b5d79a210e995cf5174640b3cdbf9e13b30557","ref":"refs/heads/master","pushedAt":"2024-09-07T03:27:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"demo: Add a total simplified ratio to the page\n\nThis makes the demo easier to use in auto-LOD mode. Also:\n\n- Fix the distance calculation; since we recenter the model, we\n effectively move the model's bounding sphere to origin\n- Fix the repeated simplification when auto-LOD is off and camera moves","shortMessageHtmlLink":"demo: Add a total simplified ratio to the page"}},{"before":"58a97497a7537ea4efe8fcd2732150ad3fe57581","after":"afd2682bb33fd5d27234138b74cef19bf7a73b04","ref":"refs/heads/master","pushedAt":"2024-09-07T03:05:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"demo: Add auto-LOD testing mode to simplify demo\n\nInstead of using a controlled ratio with a fixed threshold, we can now\nuse the distance to the object's surface to scale the expected error and\nsimplify as much as we can with that limit.\n\nFor now we don't carefully account for multi-mesh scenes where the\ndifference in submesh scale and size would require adjusting the allowed\nerror, and the scene radius is assumed to be 1 because that's what we\nresize it to. This is sufficient for testing this but may improve later.","shortMessageHtmlLink":"demo: Add auto-LOD testing mode to simplify demo"}},{"before":"a65c49cce176cc9dda06b118efd0b8daa060144c","after":"58a97497a7537ea4efe8fcd2732150ad3fe57581","ref":"refs/heads/master","pushedAt":"2024-09-06T15:16:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"Update USERS.md\n\nAdd Deadlock and Sky to the list of games\r\nAdd Flax Engine to the list of engines\r\n\r\nBump up the GitHub star limit further to 5k.","shortMessageHtmlLink":"Update USERS.md"}},{"before":"27299d0efca02c99652870cd33aabbb445a1319d","after":"a65c49cce176cc9dda06b118efd0b8daa060144c","ref":"refs/heads/master","pushedAt":"2024-09-06T15:13:15.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"Merge pull request #761 from turanszkij/patch-1\n\nAdded Wicked Engine to the engines list","shortMessageHtmlLink":"Merge pull request #761 from turanszkij/patch-1"}},{"before":"bd1230878d81e3597c920e3d101fdd6f74a3cec6","after":null,"ref":"refs/heads/nanite","pushedAt":"2024-09-06T02:27:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"}},{"before":"89ab317a96734460c0482c4ca41537611692e7e2","after":"27299d0efca02c99652870cd33aabbb445a1319d","ref":"refs/heads/master","pushedAt":"2024-09-06T02:27:34.000Z","pushType":"pr_merge","commitsCount":23,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"Merge pull request #760 from zeux/nanite\n\ndemo: Initial hierarchical clustered simplification (Nanite) demo","shortMessageHtmlLink":"Merge pull request #760 from zeux/nanite"}},{"before":"0d2b98672ac73b248bd98a3a9332495039d70d75","after":"bd1230878d81e3597c920e3d101fdd6f74a3cec6","ref":"refs/heads/nanite","pushedAt":"2024-09-06T02:23:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"demo: Implement connectivity analysis for meshlets\n\nSince whether meshlet is connected or not is a very important criteria\nfor how well it will do in a hierarchical clusterization process, we now\ncompute the number of connected components in meshlet demo and count the\nnumber of meshlets with more than one.\n\nNotably, for now we do this analysis using indices; this means we do\nconnectivity analysis on original, non-positional, topology, and on some\ngeometry that looks visually connected we will naturally have many\ndisconnected meshlets.","shortMessageHtmlLink":"demo: Implement connectivity analysis for meshlets"}},{"before":"75b417b96780e69a67c999b858e77de40da43297","after":"0d2b98672ac73b248bd98a3a9332495039d70d75","ref":"refs/heads/nanite","pushedAt":"2024-09-06T02:17:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zeux","name":"Arseny Kapoulkine","path":"/zeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1106629?s=80&v=4"},"commit":{"message":"demo: Implement connectivity analysis for meshlets\n\nSince whether meshlet is connected or not is a very important criteria\nfor how well it will do in a hierarchical clusterization process, we now\ncompute the number of connected components in meshlet demo and count the\nnumber of meshlets with more than one.\n\nNotably, for now we do this analysis using indices; this means we do\nconnectivity analysis on original, non-positional, topology, and on some\ngeometry that looks visually connected we will naturally have many\ndisconnected meshlets.","shortMessageHtmlLink":"demo: Implement connectivity analysis for meshlets"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEu1kqxgA","startCursor":null,"endCursor":null}},"title":"Activity ยท zeux/meshoptimizer"}