{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":618540893,"defaultBranch":"main","name":"tinygl","ownerLogin":"aykevl","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-03-24T17:35:59.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/729697?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1716647104.0","currentOid":""},"activityList":{"items":[{"before":"dce2ce8bd3ef4b4dadf3c56263089850fcf15e13","after":"0d8f650e17644a5ecae4f1107ad033d938b39cf4","ref":"refs/heads/fix-image-mono-test","pushedAt":"2024-05-25T14:30:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"image: fix TestMono test\n\nI wanted to fix the TODO (whether the decoded image was actually valid)\nbut found that it wasn't:\n\n - The size wasn't correct. The TinyGo logo was actually 304x255 in\n size, not 299x255 (it looks like it was created with a tool that\n assumes every row starts at a byte aligned line, which image.Mono\n doesn't).\n - There seems to be a problem when the image is decoded as a\n pixel.Monochrome, but I haven't yet figured out why.","shortMessageHtmlLink":"image: fix TestMono test"}},{"before":null,"after":"5606c1e56cd411f2f46ca4399cc0443b111c2ebc","ref":"refs/heads/add-image-monochrome-test","pushedAt":"2024-05-25T14:25:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"image: add extra test for monochrome images\n\nThis test needs https://github.com/tinygo-org/drivers/pull/683 to pass,\nbut I think it's a useful test regardless.","shortMessageHtmlLink":"image: add extra test for monochrome images"}},{"before":null,"after":"dce2ce8bd3ef4b4dadf3c56263089850fcf15e13","ref":"refs/heads/fix-image-mono-test","pushedAt":"2024-05-25T13:00:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"image: fix TestMono test\n\nI wanted to fix the TODO (whether the decoded image was actually valid)\nbut found that it wasn't:\n\n - The size wasn't correct. The TinyGo logo was actually 304x255 in\n size, not 299x255 (it looks like it was created with a tool that\n assumes every row starts at a byte aligned line, which image.Mono\n doesn't).\n - There seems to be a problem when the image is decoded as a\n pixel.Monochrome, but I haven't yet figured out why.","shortMessageHtmlLink":"image: fix TestMono test"}},{"before":"c1d79a9d965bc5edfbcc622fe95ee010f0061a55","after":"23da4bb206088d0888e3763b1478dfeeee98e261","ref":"refs/heads/main","pushedAt":"2024-05-25T11:59:53.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"image/mono: make NewMono() constructor to be consistent with QOI and add a smoketest\n\nSigned-off-by: deadprogram ","shortMessageHtmlLink":"image/mono: make NewMono() constructor to be consistent with QOI and …"}},{"before":"0a813d1db2329177dd13100ed42a35f563b65b09","after":"c1d79a9d965bc5edfbcc622fe95ee010f0061a55","ref":"refs/heads/main","pushedAt":"2024-05-21T19:11:06.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"style/*: rename type to Theme and constructor to New() to keep things consistent and cleaner\n\nSigned-off-by: deadprogram ","shortMessageHtmlLink":"style/*: rename type to Theme and constructor to New() to keep things…"}},{"before":"4289e0ae28fac07a56d190fb1e8097e17eebadf3","after":"0a813d1db2329177dd13100ed42a35f563b65b09","ref":"refs/heads/main","pushedAt":"2024-05-01T12:04:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"font: complete migration of font subpackage to separate repo\n\nSigned-off-by: deadprogram ","shortMessageHtmlLink":"font: complete migration of font subpackage to separate repo"}},{"before":"3033a2fd9182cb2cb86c976be22e59f4ae288ca4","after":"4289e0ae28fac07a56d190fb1e8097e17eebadf3","ref":"refs/heads/main","pushedAt":"2024-04-02T10:31:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"style: move listbox to main package level, add style.Theme, and\nimplement style/basic using style.Theme making it easier to\ncreate new styles.\n\nSigned-off-by: deadprogram ","shortMessageHtmlLink":"style: move listbox to main package level, add style.Theme, and"}},{"before":"0e84d9a87aa2f3c5379af5bb85d46ba55d3d16ba","after":"3033a2fd9182cb2cb86c976be22e59f4ae288ca4","ref":"refs/heads/main","pushedAt":"2024-01-31T13:13:44.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"container: fix VerticalScrollBox behavior when the child updates\n\nThe child container did not correctly update before. Hopefully, now it\ndoes.","shortMessageHtmlLink":"container: fix VerticalScrollBox behavior when the child updates"}},{"before":"fcc6944f703811d50904b7802e3bf713cb7dd34b","after":"0e84d9a87aa2f3c5379af5bb85d46ba55d3d16ba","ref":"refs/heads/main","pushedAt":"2024-01-30T17:02:26.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"ListBox: move parent scroll container into view\n\nThis is needed when a ListBox is made scrollable using a scroll\ncontainer and the user navigates using keys (instead of by scrolling).\n\nIt's not perfect: VBox currently doesn't propagate the 'scroll into\nview' call and perhaps we should leave some space at the top/bottom if\nthat's available (like e.g. Canon cameras do in their menu) but it's way\nbetter than not scrolling at all.","shortMessageHtmlLink":"ListBox: move parent scroll container into view"}},{"before":"2497757a268a2242b183d40df669a37f1b9b7e61","after":"fcc6944f703811d50904b7802e3bf713cb7dd34b","ref":"refs/heads/main","pushedAt":"2023-12-21T18:55:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"gfx: implement antialiased Line object\n\nI'm working on a blog post to explain what this does exactly. In the\nmeantime, I hope the comments will help explain how this algorithm\nworks.","shortMessageHtmlLink":"gfx: implement antialiased Line object"}},{"before":"9b165ffc6b2bc5f50a98f7228277f6d84798b85f","after":"2497757a268a2242b183d40df669a37f1b9b7e61","ref":"refs/heads/main","pushedAt":"2023-12-21T18:52:06.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"gfx: implement antialiased Line object","shortMessageHtmlLink":"gfx: implement antialiased Line object"}},{"before":"4fc5db51ff0e9532d083b5946573843aa089d9fb","after":"9b165ffc6b2bc5f50a98f7228277f6d84798b85f","ref":"refs/heads/main","pushedAt":"2023-12-10T18:29:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"tinygl: update Update() slightly\n\n * Improve what is shown with showStats: don't show anything unless\n there are actually bytes drawn on the screen.\n * Don't call Update() when no pixels were drawn on the screen.","shortMessageHtmlLink":"tinygl: update Update() slightly"}},{"before":"fcd7d2042fd2c8386cecc1ba23b1835fd2dfe860","after":"4fc5db51ff0e9532d083b5946573843aa089d9fb","ref":"refs/heads/main","pushedAt":"2023-12-10T18:24:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"tinygl: update Update() slightly\n\n * Improve what is shown with showStats: don't show anything unless\n there are actually bytes drawn on the screen.\n * Don't call Update() when no pixels were drawn on the screen.","shortMessageHtmlLink":"tinygl: update Update() slightly"}},{"before":null,"after":"7cac44062c177780c2ef070cb61c1a3b6072b7e3","ref":"refs/heads/async-update","pushedAt":"2023-12-08T20:47:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"tinygl: add async display support\n\nThis can improve drawing performance quite substantially. If the\nrendering time is lower than the drawing time, a full screen display\nupdate takes only slightly longer than the minimum time to do a full\nscreen display update. When rendering takes longer than a display\nupdate, a full screen display update is roughly reduced by the minimum\ntime to do a full screen display update.\n\nAs an example, if the physical limit of the hardware is 20ms, then:\n\n - If rendering takes 10ms (lower than 20ms), the display will be\n updated slightly slower than 20ms. Something like 21ms.\n - If rendering takes 50ms, the total time to do a full screen update\n is reduced from roughly 70ms to roughly 50ms.","shortMessageHtmlLink":"tinygl: add async display support"}},{"before":"fcd7d2042fd2c8386cecc1ba23b1835fd2dfe860","after":null,"ref":"refs/heads/readme","pushedAt":"2023-12-05T18:08:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"}},{"before":"72ed71fe92f92bb568c775e71ff7b7682831278c","after":"fcd7d2042fd2c8386cecc1ba23b1835fd2dfe860","ref":"refs/heads/main","pushedAt":"2023-12-05T18:07:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"Update README\n\nThere were some improvements lately.","shortMessageHtmlLink":"Update README"}},{"before":"8159a4cfcb98d5b74ce3ae0a373bcce596c6594e","after":"fcd7d2042fd2c8386cecc1ba23b1835fd2dfe860","ref":"refs/heads/readme","pushedAt":"2023-12-05T18:06:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"Update README\n\nThere were some improvements lately.","shortMessageHtmlLink":"Update README"}},{"before":"91ed56738160e493868bb1ffbce76c648a6d0521","after":"8159a4cfcb98d5b74ce3ae0a373bcce596c6594e","ref":"refs/heads/readme","pushedAt":"2023-12-05T18:03:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"Update README\n\nThere were some improvements lately.","shortMessageHtmlLink":"Update README"}},{"before":null,"after":"91ed56738160e493868bb1ffbce76c648a6d0521","ref":"refs/heads/readme","pushedAt":"2023-12-05T18:03:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"Update README\n\nThere were some improvements lately.","shortMessageHtmlLink":"Update README"}},{"before":"40877786a2390b1013e626496aa7d2c02bba539a","after":"72ed71fe92f92bb568c775e71ff7b7682831278c","ref":"refs/heads/main","pushedAt":"2023-12-04T12:52:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"tinygl: add Image object\n\nThis makes it easy to add images to the UI. For example, this way it's\neasy to show a full screen image.","shortMessageHtmlLink":"tinygl: add Image object"}},{"before":"3c1e444dccb708168a4789029a9916a6fd605332","after":"40877786a2390b1013e626496aa7d2c02bba539a","ref":"refs/heads/main","pushedAt":"2023-11-26T18:36:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"gfx: add new antialiased circle","shortMessageHtmlLink":"gfx: add new antialiased circle"}},{"before":"950a2fbe9f5e61619523ad7afc281ab685089000","after":"3c1e444dccb708168a4789029a9916a6fd605332","ref":"refs/heads/main","pushedAt":"2023-11-25T16:19:54.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"all: add new image.Mono object for monochrome pixel buffers\n\nThis is useful for small images that can be represented using just two\ncolors (set and unset bits).","shortMessageHtmlLink":"all: add new image.Mono object for monochrome pixel buffers"}},{"before":"2d0b495c553089ab29daa70348b29eecf5940c88","after":"950a2fbe9f5e61619523ad7afc281ab685089000","ref":"refs/heads/main","pushedAt":"2023-11-24T13:41:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"all: use tinygo.org/x/drivers/pixel","shortMessageHtmlLink":"all: use tinygo.org/x/drivers/pixel"}},{"before":"32c6378171dbe57b8c70bc2191a05e1adf549c9c","after":"2d0b495c553089ab29daa70348b29eecf5940c88","ref":"refs/heads/main","pushedAt":"2023-11-21T13:46:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"tinygl: add hardware assisted scrolling container\n\nThis makes smooth scrolling possible, although there can still be some\nartifacts due to slow SPI speeds.\n\nThere might still be bugs (scrolling is hard!) but it seems to work well\nin most cases at least.","shortMessageHtmlLink":"tinygl: add hardware assisted scrolling container"}},{"before":"e2014057c72428c6eb694ab382cf8cb1e067399b","after":"32c6378171dbe57b8c70bc2191a05e1adf549c9c","ref":"refs/heads/main","pushedAt":"2023-07-15T12:27:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"gfx: add new CustomCanvas widget\n\nThis is needed for various use cases where users might otherwise need to\ndraw directly to the display.","shortMessageHtmlLink":"gfx: add new CustomCanvas widget"}},{"before":null,"after":"11df6b6a8dda330dd5ba899dbddec24a45c5aee2","ref":"refs/heads/hwscroll","pushedAt":"2023-06-26T12:24:17.679Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"WIP scrolling\n\nTODO:\n- setScroll comment\n- regular Update isn't at the right line\n- Update may wrap around","shortMessageHtmlLink":"WIP scrolling"}},{"before":"0431542cf8768edfe3439802e864282764d6c705","after":"e2014057c72428c6eb694ab382cf8cb1e067399b","ref":"refs/heads/main","pushedAt":"2023-05-16T12:36:42.509Z","pushType":"push","commitsCount":1,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"pixel: add LinearGRB888 format for WS2812 LEDs","shortMessageHtmlLink":"pixel: add LinearGRB888 format for WS2812 LEDs"}},{"before":"4122b322c406256bb8aa71de4b49ad60023f085e","after":"0431542cf8768edfe3439802e864282764d6c705","ref":"refs/heads/main","pushedAt":"2023-05-12T21:59:27.969Z","pushType":"push","commitsCount":10,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"tinygl: don't implement touch input hysteresis here\n\nLet this be the responsibility of the driver instead.","shortMessageHtmlLink":"tinygl: don't implement touch input hysteresis here"}},{"before":"5f45801671fad6465f2a6650738405df5b5e9180","after":"4122b322c406256bb8aa71de4b49ad60023f085e","ref":"refs/heads/main","pushedAt":"2023-05-10T22:25:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"tinygl/text: remove useless LimitHeight","shortMessageHtmlLink":"tinygl/text: remove useless LimitHeight"}},{"before":"e9e000089eb5925eec3ba67c54d31ec963276dfb","after":"5f45801671fad6465f2a6650738405df5b5e9180","ref":"refs/heads/main","pushedAt":"2023-05-10T20:35:33.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"aykevl","name":"Ayke","path":"/aykevl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/729697?s=80&v=4"},"commit":{"message":"text: add text padding\n\nThis is useful for touchscreens for example, which need touch areas that\nare large enough for a finger.","shortMessageHtmlLink":"text: add text padding"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEU7_EwwA","startCursor":null,"endCursor":null}},"title":"Activity · aykevl/tinygl"}