{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":174224909,"defaultBranch":"master","name":"dynamic-connectivity","ownerLogin":"btrekkie","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-03-06T21:36:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/151405?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1682775071.0","currentOid":""},"activityList":{"items":[{"before":"8dc3be9760b4a05f740461a886c875220d2cf2d7","after":"8b92a92caa9ddffd899313f9bd87b003cc927b3a","ref":"refs/heads/master","pushedAt":"2023-04-29T13:29:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"btrekkie","name":null,"path":"/btrekkie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/151405?s=80&v=4"},"commit":{"message":"Remove node before changing its vertex's canonical visit\n\nThis changes addForestEdge to remove the maximum node before changing its vertex's canonical visit.\n\nChanging a vertex's canonical visit can affect a node's augmentation data. Normally, we have to call augment() on a node's ancestors when its augmentation data change, but since we are about to remove the node, we don't. I'm pretty sure that the behavior is correct as written - where we change the node's augmentation data and then remove it without explicitly calling augment() on its ancestors. However, it's much clearer that the behavior is correct if we remove the node first. It's also more elegant to remove the node first, because we don't temporarily enter a state where the nodes' augmentation data are potentially broken.\n\nFurthermore, the way it's currently written, it's possible that a single augmentation value will be combined into a given (temporary) result twice. This shouldn't be a problem in principle, but for certain types of combining functions, it might be unexpected or confusing. For example, if we are augmenting a game map with the strongest monster in a connected component, it might be unusual for the same exact monster M to be passed in for both arguments of Augmentation.combine (i.e. combine(M, M)). In extreme cases, this violation of expectations could result in \"combine\" throwing an exception, if it wasn't written to account for this possibility.","shortMessageHtmlLink":"Remove node before changing its vertex's canonical visit"}},{"before":"3eda7a57e835a1f87ecc1f32d4ffee647ec45e09","after":"8dc3be9760b4a05f740461a886c875220d2cf2d7","ref":"refs/heads/master","pushedAt":"2023-04-24T23:29:51.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"btrekkie","name":null,"path":"/btrekkie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/151405?s=80&v=4"},"commit":{"message":"Increased RedBlackNode version to 1.0.3\n\nThis increases the version of RedBlackNode that the library requires to 1.0.3. This is expected to significantly improve the performance of ConnGraph.","shortMessageHtmlLink":"Increased RedBlackNode version to 1.0.3"}},{"before":null,"after":"1586a7c7a6d52ff7b189ad4db017d8be5c37aacf","ref":"refs/heads/augmentation-pool","pushedAt":"2023-04-15T13:39:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"btrekkie","name":null,"path":"/btrekkie","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/151405?s=80&v=4"},"commit":{"message":"Added augmentation object pooling\n\nThis introduces MutatingAugmentation and AugmentationListener, which add support for recycling unused augmentation objects. This may improve performance by reducing the number of object allocations.","shortMessageHtmlLink":"Added augmentation object pooling"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADItcKWQA","startCursor":null,"endCursor":null}},"title":"Activity ยท btrekkie/dynamic-connectivity"}