{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":658121242,"defaultBranch":"main","name":"lecs-swift","ownerLogin":"prufrock","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-06-24T20:47:54.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/147031?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1710904134.0","currentOid":""},"activityList":{"items":[{"before":"4a1cadf56d1c6492eff967b7fefa32dd03d62cf1","after":"cda8fba7c85b4b0415e99005c84c1415996aef08","ref":"refs/heads/main","pushedAt":"2024-04-16T20:09:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Use largestIndex rather than count\n\nRelying on the count when iterating causes trouble when items are deleted.","shortMessageHtmlLink":"Use largestIndex rather than count"}},{"before":"51ed5f86d71eaa3480d8415466ba1e78aa08f56f","after":"4a1cadf56d1c6492eff967b7fefa32dd03d62cf1","ref":"refs/heads/main","pushedAt":"2024-04-15T17:16:22.000Z","pushType":"push","commitsCount":22,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Tweaks and adjustments to make it easier to work with","shortMessageHtmlLink":"Tweaks and adjustments to make it easier to work with"}},{"before":"c02b784e3fa20a58ea2fdb0281e29bb73d91ec8b","after":"4a1cadf56d1c6492eff967b7fefa32dd03d62cf1","ref":"refs/heads/component-chart","pushedAt":"2024-04-15T17:15:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Tweaks and adjustments to make it easier to work with","shortMessageHtmlLink":"Tweaks and adjustments to make it easier to work with"}},{"before":"1598bcb06f35ce9717c902db078f6268baf1d92f","after":"c02b784e3fa20a58ea2fdb0281e29bb73d91ec8b","ref":"refs/heads/component-chart","pushedAt":"2024-04-12T21:24:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Hide the table inside of LECSArchetype\n\nIt doesn't seem to affect performance even a smidge.","shortMessageHtmlLink":"Hide the table inside of LECSArchetype"}},{"before":"00c678d53a6a0ddd1fb122042107409b7dcf5908","after":"1598bcb06f35ce9717c902db078f6268baf1d92f","ref":"refs/heads/component-chart","pushedAt":"2024-04-12T21:10:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Add some notes around performance testing","shortMessageHtmlLink":"Add some notes around performance testing"}},{"before":"080a9d5177335540610e75ef8e64e9abc1dae344","after":"00c678d53a6a0ddd1fb122042107409b7dcf5908","ref":"refs/heads/component-chart","pushedAt":"2024-04-12T20:06:02.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Drop the iterator and index into the Table\n\nIt's so much faster","shortMessageHtmlLink":"Drop the iterator and index into the Table"}},{"before":"54832426c1a38ecc2c461a0edf09c6d3f62abfd2","after":"080a9d5177335540610e75ef8e64e9abc1dae344","ref":"refs/heads/component-chart","pushedAt":"2024-04-12T16:29:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Add the queryCache to ComponentChart\n\nSave another 1/10th of a millisecond!","shortMessageHtmlLink":"Add the queryCache to ComponentChart"}},{"before":"cfb1c89bbcac907c1b97cbc8ee49be40dede9e5a","after":"54832426c1a38ecc2c461a0edf09c6d3f62abfd2","ref":"refs/heads/component-chart","pushedAt":"2024-04-12T16:28:50.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Add the queryCache to ComponentChart\n\nSave another 1/10th of a millisecond!","shortMessageHtmlLink":"Add the queryCache to ComponentChart"}},{"before":"202f11f6c2d5f649e4f73d92d16f9957e5f9c03d","after":"cfb1c89bbcac907c1b97cbc8ee49be40dede9e5a","ref":"refs/heads/component-chart","pushedAt":"2024-04-11T20:07:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Rename LECPosition and LECSVelocity to include 2d","shortMessageHtmlLink":"Rename LECPosition and LECSVelocity to include 2d"}},{"before":"c6ae20af3ad57223947760abbcad6c59c6714157","after":"202f11f6c2d5f649e4f73d92d16f9957e5f9c03d","ref":"refs/heads/component-chart","pushedAt":"2024-04-11T01:43:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Implement LECSWorld protocol with LECSWorldFixedSize","shortMessageHtmlLink":"Implement LECSWorld protocol with LECSWorldFixedSize"}},{"before":"35c9ccacb9e5df3b72eb3ff46a93d57cf3b371c1","after":"c6ae20af3ad57223947760abbcad6c59c6714157","ref":"refs/heads/component-chart","pushedAt":"2024-04-08T18:19:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Implement LECSFixedComponentChart::update","shortMessageHtmlLink":"Implement LECSFixedComponentChart::update"}},{"before":"d18af2f407532fc13fa915d92d6969152aa67960","after":"35c9ccacb9e5df3b72eb3ff46a93d57cf3b371c1","ref":"refs/heads/component-chart","pushedAt":"2024-04-06T16:42:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Implement LECSFixedComponentChart::select\n\nIt's not fully tested but the essential functionality appears to work.","shortMessageHtmlLink":"Implement LECSFixedComponentChart::select"}},{"before":"70086489f3117fcf28734713d96f349072a2a569","after":"d18af2f407532fc13fa915d92d6969152aa67960","ref":"refs/heads/component-chart","pushedAt":"2024-04-05T03:46:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Remove generic table from LECSArchetype\n\nShould make it easier to use, but need to see if there is a performance impact.","shortMessageHtmlLink":"Remove generic table from LECSArchetype"}},{"before":"650446c04c74e736016e74193aa8f263bcf62923","after":"70086489f3117fcf28734713d96f349072a2a569","ref":"refs/heads/component-chart","pushedAt":"2024-04-05T03:26:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"ComponentChart: row level operations\n\nCreate all of the operations that operate on a single row.","shortMessageHtmlLink":"ComponentChart: row level operations"}},{"before":"71057933c47238d62f8a42a9ecb5083f207ce152","after":"650446c04c74e736016e74193aa8f263bcf62923","ref":"refs/heads/component-chart","pushedAt":"2024-04-03T02:54:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"LECSArchetype operates as a facade over the table\n\nI want the table hidden away external callers, so different types of tables can be played with later. I'm curious how it performs.","shortMessageHtmlLink":"LECSArchetype operates as a facade over the table"}},{"before":"811a423f2d2d7c0982ec54d839950b105d2d08bc","after":"71057933c47238d62f8a42a9ecb5083f207ce152","ref":"refs/heads/component-chart","pushedAt":"2024-03-30T22:30:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Create LECSTable and LECSSparseArrayTable\n\nNow archetype has something to read from.","shortMessageHtmlLink":"Create LECSTable and LECSSparseArrayTable"}},{"before":"7eb291965f95803928aa6f4b93c2a127e4ae56c5","after":"811a423f2d2d7c0982ec54d839950b105d2d08bc","ref":"refs/heads/component-chart","pushedAt":"2024-03-28T02:20:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Out with the old in with the new!\n\nCreate files for the new class and structs so ComponentChart can take over.","shortMessageHtmlLink":"Out with the old in with the new!"}},{"before":"a3580679ec216330a2e7d02613061bc29f444962","after":"7eb291965f95803928aa6f4b93c2a127e4ae56c5","ref":"refs/heads/component-chart","pushedAt":"2024-03-21T02:41:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Outline the chart of the FixedComponentChart","shortMessageHtmlLink":"Outline the chart of the FixedComponentChart"}},{"before":null,"after":"a3580679ec216330a2e7d02613061bc29f444962","ref":"refs/heads/component-chart","pushedAt":"2024-03-20T03:08:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Laying out the ComponentChart protocol","shortMessageHtmlLink":"Laying out the ComponentChart protocol"}},{"before":"ebf61003985c41d16c05aea3c7e265b7ab9ad29c","after":"51ed5f86d71eaa3480d8415466ba1e78aa08f56f","ref":"refs/heads/main","pushedAt":"2024-01-25T03:40:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Break updateArchetypeFor into smaller functions.","shortMessageHtmlLink":"Break updateArchetypeFor into smaller functions."}},{"before":"3c77f414b303dd9e08b0ff9b200dc57f821cab7b","after":"ebf61003985c41d16c05aea3c7e265b7ab9ad29c","ref":"refs/heads/main","pushedAt":"2024-01-24T02:52:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Move addComponent's archetype code into ArchetypeManager","shortMessageHtmlLink":"Move addComponent's archetype code into ArchetypeManager"}},{"before":"1101ba37a5c09ec30e414101436b74259f883ef2","after":"3c77f414b303dd9e08b0ff9b200dc57f821cab7b","ref":"refs/heads/main","pushedAt":"2024-01-23T00:48:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Use forEach instead of for in with select and update\n\nIt's considerably faster. I think I didn't catch these before because I don't test with a lot of archetypes.","shortMessageHtmlLink":"Use forEach instead of for in with select and update"}},{"before":"23f06875dc39b3ccadb8bf3f97402e44154bf19e","after":"1101ba37a5c09ec30e414101436b74259f883ef2","ref":"refs/heads/main","pushedAt":"2024-01-21T03:42:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Clean up the unnecessary throwing","shortMessageHtmlLink":"Clean up the unnecessary throwing"}},{"before":"12ae08a076822d26df67276784b22c82e87ffde3","after":"23f06875dc39b3ccadb8bf3f97402e44154bf19e","ref":"refs/heads/main","pushedAt":"2024-01-18T03:50:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Crash on errors\n\nFor the time being this seems like the most straightforward approach. During the short time I toyed with not throwing errors when something silly happens in the ECS, I found that understanding why things aren't behaving as expected gets really hard to pin down when things don't just break right away. I think a better approach that avoids putting `try` statements everywhere and allows for stability in the face of errors requires an error handling system. Currently that seems like something too big for little ol' LECS.","shortMessageHtmlLink":"Crash on errors"}},{"before":"8d9c3092e98bc8fc1381fc3aaaeaed2a3f466243","after":"12ae08a076822d26df67276784b22c82e87ffde3","ref":"refs/heads/main","pushedAt":"2023-12-16T03:46:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Give LECSArchetype manager a createArchetype(type:) function","shortMessageHtmlLink":"Give LECSArchetype manager a createArchetype(type:) function"}},{"before":"2f3a27a4bc69222a9092b5bf06564c166664de20","after":"8d9c3092e98bc8fc1381fc3aaaeaed2a3f466243","ref":"refs/heads/main","pushedAt":"2023-12-10T04:01:39.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Inject LECSArchetypeManager into LECSWorldFixedSize","shortMessageHtmlLink":"Inject LECSArchetypeManager into LECSWorldFixedSize"}},{"before":"5bbe7cec53ae802ab7f0a3d4981b98101b6e3937","after":"2f3a27a4bc69222a9092b5bf06564c166664de20","ref":"refs/heads/main","pushedAt":"2023-11-20T18:28:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Remove the component when following the back archetype","shortMessageHtmlLink":"Remove the component when following the back archetype"}},{"before":"429320b910d0eb7861bd780d47d4f720b29c81d1","after":"5bbe7cec53ae802ab7f0a3d4981b98101b6e3937","ref":"refs/heads/main","pushedAt":"2023-11-20T15:42:58.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Formatting","shortMessageHtmlLink":"Formatting"}},{"before":"2e396728b6cd9ad2c2dd71f25f5e637aa996bb83","after":"429320b910d0eb7861bd780d47d4f720b29c81d1","ref":"refs/heads/main","pushedAt":"2023-11-15T04:18:06.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Clear the query cache when adding a component","shortMessageHtmlLink":"Clear the query cache when adding a component"}},{"before":"a121b086351863aae160cff38b6d9b52ca6f0987","after":"2e396728b6cd9ad2c2dd71f25f5e637aa996bb83","ref":"refs/heads/main","pushedAt":"2023-10-26T01:45:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"prufrock","name":"David Kanenwisher","path":"/prufrock","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/147031?s=80&v=4"},"commit":{"message":"Add LECSelector typealias","shortMessageHtmlLink":"Add LECSelector typealias"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNC0xNlQyMDowOTozMC4wMDAwMDBazwAAAAQyZzND","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNC0xNlQyMDowOTozMC4wMDAwMDBazwAAAAQyZzND","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMC0yNlQwMTo0NTo0NC4wMDAwMDBazwAAAAOgADrw"}},"title":"Activity ยท prufrock/lecs-swift"}