{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":373814100,"defaultBranch":"main","name":"parley","ownerLogin":"linebender","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-06-04T11:05:04.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/46134943?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726777421.0","currentOid":""},"activityList":{"items":[{"before":"5cd5ea55e18ea223677c535e85b1bda404eb2e69","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-76-7a4cc48013f650de91fe0729e4b6027c535f10c4","pushedAt":"2024-09-19T20:23:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"7a4cc48013f650de91fe0729e4b6027c535f10c4","after":"5cd5ea55e18ea223677c535e85b1bda404eb2e69","ref":"refs/heads/main","pushedAt":"2024-09-19T20:23:40.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Tree style builder (#76)\n\n- Builds on top of https://github.com/linebender/parley/pull/84 which\nshould be merged first to preserve history\n\n## Changes made\n\n- ### Entire unresolved style struct\n - Adds an \"unresolved style struct\" (`TextStyle`) to `style/mod.rs`\n- The new `TreeBuilder` allows you to directly pass an entire style\nstruct (rather than just \"changed styles\" relative to a previous node in\nthe tree) as this is easier for integrating with Stylo which already\nresolves inherited styles. So I have added an \"unresolved\" version of\nthe style struct to allow this API to still plug into the other parts of\nParley's style resolution functionality.\n- Adds a corresponding`resolve_entire_style_set` method to\n`LayoutContext` to convert `TextStyle` into `ResolvedStyle`.\n- ### Moved code\n- Moves the `RangedBuilder` from `context.rs` to a new `builder.rs`\nmodule (as there are now two builders, justifying a separate module).\n- Extract most of `RangedBuilder::build_into` into a standalone\n`build_into_layout` function (`builder.rs`) that can be shared between\nthe ranged and tree builders.\n- Moves the `RangedStyle` and `RangedProperty` types from\n`resolve/range.rs` to `resolve/mod.rs`. These types are shared between\nthe `RangedBuilder` and the `TreeBuilder`.\n- ### Tree builder\n- Adds a `TreeBuilder` (also to `builder.rs`). This mostly delegates to\n`TreeStyleBuilder`\n- Add a `TreeStyleBuilder` (`resolve/tree.rs`). This is the vast\nmajority of the new code\n- The `TreeStyleBuilder` implements HTML-style whitespace collapsing\n(opt-in). This probably ought to become a style rather than being a flag\non the style builder.\n- Updated swash example to optionally use the tree builder (depending on\ncommand line opt)","shortMessageHtmlLink":"Tree style builder (#76)"}},{"before":null,"after":"5cd5ea55e18ea223677c535e85b1bda404eb2e69","ref":"refs/heads/gh-readonly-queue/main/pr-76-7a4cc48013f650de91fe0729e4b6027c535f10c4","pushedAt":"2024-09-19T20:18:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Tree style builder (#76)\n\n- Builds on top of https://github.com/linebender/parley/pull/84 which\nshould be merged first to preserve history\n\n## Changes made\n\n- ### Entire unresolved style struct\n - Adds an \"unresolved style struct\" (`TextStyle`) to `style/mod.rs`\n- The new `TreeBuilder` allows you to directly pass an entire style\nstruct (rather than just \"changed styles\" relative to a previous node in\nthe tree) as this is easier for integrating with Stylo which already\nresolves inherited styles. So I have added an \"unresolved\" version of\nthe style struct to allow this API to still plug into the other parts of\nParley's style resolution functionality.\n- Adds a corresponding`resolve_entire_style_set` method to\n`LayoutContext` to convert `TextStyle` into `ResolvedStyle`.\n- ### Moved code\n- Moves the `RangedBuilder` from `context.rs` to a new `builder.rs`\nmodule (as there are now two builders, justifying a separate module).\n- Extract most of `RangedBuilder::build_into` into a standalone\n`build_into_layout` function (`builder.rs`) that can be shared between\nthe ranged and tree builders.\n- Moves the `RangedStyle` and `RangedProperty` types from\n`resolve/range.rs` to `resolve/mod.rs`. These types are shared between\nthe `RangedBuilder` and the `TreeBuilder`.\n- ### Tree builder\n- Adds a `TreeBuilder` (also to `builder.rs`). This mostly delegates to\n`TreeStyleBuilder`\n- Add a `TreeStyleBuilder` (`resolve/tree.rs`). This is the vast\nmajority of the new code\n- The `TreeStyleBuilder` implements HTML-style whitespace collapsing\n(opt-in). This probably ought to become a style rather than being a flag\non the style builder.\n- Updated swash example to optionally use the tree builder (depending on\ncommand line opt)","shortMessageHtmlLink":"Tree style builder (#76)"}},{"before":"7a4cc48013f650de91fe0729e4b6027c535f10c4","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-115-f40a130b82c5c5e38949e9b0b0951d3f4d386b74","pushedAt":"2024-09-12T15:16:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"f40a130b82c5c5e38949e9b0b0951d3f4d386b74","after":"7a4cc48013f650de91fe0729e4b6027c535f10c4","ref":"refs/heads/main","pushedAt":"2024-09-12T15:16:48.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"parley: Fix swash example rendering. (#115)\n\nThis line may have been mistakenly removed in #106\n(14070d547913e407abf8c7cad2d5ca7fcd00cb59).\n\nFix #114.","shortMessageHtmlLink":"parley: Fix swash example rendering. (#115)"}},{"before":null,"after":"7a4cc48013f650de91fe0729e4b6027c535f10c4","ref":"refs/heads/gh-readonly-queue/main/pr-115-f40a130b82c5c5e38949e9b0b0951d3f4d386b74","pushedAt":"2024-09-12T15:12:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"parley: Fix swash example rendering. (#115)\n\nThis line may have been mistakenly removed in #106\n(14070d547913e407abf8c7cad2d5ca7fcd00cb59).\n\nFix #114.","shortMessageHtmlLink":"parley: Fix swash example rendering. (#115)"}},{"before":"f40a130b82c5c5e38949e9b0b0951d3f4d386b74","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-112-5958c922b3e2717ba2fc50adf90ead9afb3fe798","pushedAt":"2024-09-09T13:08:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"5958c922b3e2717ba2fc50adf90ead9afb3fe798","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-113-14070d547913e407abf8c7cad2d5ca7fcd00cb59","pushedAt":"2024-09-09T13:08:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"14070d547913e407abf8c7cad2d5ca7fcd00cb59","after":"f40a130b82c5c5e38949e9b0b0951d3f4d386b74","ref":"refs/heads/main","pushedAt":"2024-09-09T13:08:15.000Z","pushType":"merge_queue_merge","commitsCount":2,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Fix `elided_named_lifetimes` warning on nightly. (#112)\n\nThis warning is now enabled by default on nightly (1.83).","shortMessageHtmlLink":"Fix elided_named_lifetimes warning on nightly. (#112)"}},{"before":null,"after":"f40a130b82c5c5e38949e9b0b0951d3f4d386b74","ref":"refs/heads/gh-readonly-queue/main/pr-112-5958c922b3e2717ba2fc50adf90ead9afb3fe798","pushedAt":"2024-09-09T13:01:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Fix `elided_named_lifetimes` warning on nightly. (#112)\n\nThis warning is now enabled by default on nightly (1.83).","shortMessageHtmlLink":"Fix elided_named_lifetimes warning on nightly. (#112)"}},{"before":null,"after":"5958c922b3e2717ba2fc50adf90ead9afb3fe798","ref":"refs/heads/gh-readonly-queue/main/pr-113-14070d547913e407abf8c7cad2d5ca7fcd00cb59","pushedAt":"2024-09-09T13:01:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"Use workspace dep for `swash`, disable default features. (#113)\n\nThe example needs the default features, so enable them there, but the\n`parley` crate does not, so leave them disabled there.","shortMessageHtmlLink":"Use workspace dep for swash, disable default features. (#113)"}},{"before":"3beb203c8595c8808a94d758d4911311f12627ee","after":null,"ref":"refs/heads/move-line","pushedAt":"2024-08-22T17:38:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"}},{"before":"14070d547913e407abf8c7cad2d5ca7fcd00cb59","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-106-4870ff8d5d222634ef9d838c2277d43cc06ccd33","pushedAt":"2024-08-22T17:38:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"4870ff8d5d222634ef9d838c2277d43cc06ccd33","after":"14070d547913e407abf8c7cad2d5ca7fcd00cb59","ref":"refs/heads/main","pushedAt":"2024-08-22T17:38:29.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"[parley] new selection logic and an editor example (#106)\n\nAdds a new `Selection` type for dealing with cursor movement and\nselection.\n\nAlso includes a `vello_editor` example that serves as a testbed for\nchecking the logic. This supports mouse selections, arrow keys (+ shift\nto extend selections), backspace, delete and basic text input.\n\nMarked as draft because the code is a mess but making this public so\npeople can play with it and report bugs.","shortMessageHtmlLink":"[parley] new selection logic and an editor example (#106)"}},{"before":null,"after":"14070d547913e407abf8c7cad2d5ca7fcd00cb59","ref":"refs/heads/gh-readonly-queue/main/pr-106-4870ff8d5d222634ef9d838c2277d43cc06ccd33","pushedAt":"2024-08-22T17:33:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"[parley] new selection logic and an editor example (#106)\n\nAdds a new `Selection` type for dealing with cursor movement and\nselection.\n\nAlso includes a `vello_editor` example that serves as a testbed for\nchecking the logic. This supports mouse selections, arrow keys (+ shift\nto extend selections), backspace, delete and basic text input.\n\nMarked as draft because the code is a mess but making this public so\npeople can play with it and report bugs.","shortMessageHtmlLink":"[parley] new selection logic and an editor example (#106)"}},{"before":"d02765a7c5389232b30d3ec3a5b23ea2f717a8b8","after":"3beb203c8595c8808a94d758d4911311f12627ee","ref":"refs/heads/move-line","pushedAt":"2024-08-22T17:25:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"really fix android builds this time","shortMessageHtmlLink":"really fix android builds this time"}},{"before":"66979c500e393945e743b30f96501c5838a5725f","after":"d02765a7c5389232b30d3ec3a5b23ea2f717a8b8","ref":"refs/heads/move-line","pushedAt":"2024-08-22T17:23:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"review feedback\n\n- support ctrl+home/end\n- fix delete with non-collapsed selections\n- move to start/end of line when maxing out up/down respectively\n- fix panic on empty text buffer\n- proper cursor placement when using left/right to collapse selection\n- fix weird cursor offset bug when line ends with RTL run containing only whitespace that is reordered\n- triple click to select line","shortMessageHtmlLink":"review feedback"}},{"before":"063935730a21b516af10bd8acd6f118e8841d839","after":"66979c500e393945e743b30f96501c5838a5725f","ref":"refs/heads/move-line","pushedAt":"2024-08-21T15:44:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"ignore spurious cusor move on macos","shortMessageHtmlLink":"ignore spurious cusor move on macos"}},{"before":"c352505dbff76e6a4bd0f4b11a681d9420b4ae6b","after":"063935730a21b516af10bd8acd6f118e8841d839","ref":"refs/heads/move-line","pushedAt":"2024-08-21T15:32:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"try clipboard_rs","shortMessageHtmlLink":"try clipboard_rs"}},{"before":"8e4b1997222ba960450e26eb4363fffcabd2de05","after":"c352505dbff76e6a4bd0f4b11a681d9420b4ae6b","ref":"refs/heads/move-line","pushedAt":"2024-08-21T15:18:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"use cmd on macos; add cut command","shortMessageHtmlLink":"use cmd on macos; add cut command"}},{"before":"d72da0d5dfe94cb93ab7b45f87830b94de96170a","after":"8e4b1997222ba960450e26eb4363fffcabd2de05","ref":"refs/heads/move-line","pushedAt":"2024-08-21T15:08:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"make no_std happy","shortMessageHtmlLink":"make no_std happy"}},{"before":"abc9da8c5ddf7bf29a574d800c36ea1320159fb4","after":"d72da0d5dfe94cb93ab7b45f87830b94de96170a","ref":"refs/heads/move-line","pushedAt":"2024-08-21T14:58:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"use system-ui font","shortMessageHtmlLink":"use system-ui font"}},{"before":"5aceaaa0140ed21f3296e40d0f34f6f434039c8b","after":"abc9da8c5ddf7bf29a574d800c36ea1320159fb4","ref":"refs/heads/move-line","pushedAt":"2024-08-21T14:56:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"remove .vscode directory","shortMessageHtmlLink":"remove .vscode directory"}},{"before":"0938434c3189c9d906d6474a53aee7781f12dec3","after":"5aceaaa0140ed21f3296e40d0f34f6f434039c8b","ref":"refs/heads/move-line","pushedAt":"2024-08-21T14:56:24.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"mostly final state","shortMessageHtmlLink":"mostly final state"}},{"before":"4870ff8d5d222634ef9d838c2277d43cc06ccd33","after":null,"ref":"refs/heads/gh-readonly-queue/main/pr-97-d8fa0bfc2789e93538079ebfbdf0330a1f0fa5cc","pushedAt":"2024-08-19T03:43:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"}},{"before":"d8fa0bfc2789e93538079ebfbdf0330a1f0fa5cc","after":"4870ff8d5d222634ef9d838c2277d43cc06ccd33","ref":"refs/heads/main","pushedAt":"2024-08-19T03:43:29.000Z","pushType":"merge_queue_merge","commitsCount":1,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"fontique: Improve docs (#97)","shortMessageHtmlLink":"fontique: Improve docs (#97)"}},{"before":null,"after":"4870ff8d5d222634ef9d838c2277d43cc06ccd33","ref":"refs/heads/gh-readonly-queue/main/pr-97-d8fa0bfc2789e93538079ebfbdf0330a1f0fa5cc","pushedAt":"2024-08-19T03:41:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-merge-queue[bot]","name":null,"path":"/apps/github-merge-queue","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9919?s=80&v=4"},"commit":{"message":"fontique: Improve docs (#97)","shortMessageHtmlLink":"fontique: Improve docs (#97)"}},{"before":"1d2402e5d5de3c2bfb36a5b5b1eb6caf67a8cd7a","after":"0938434c3189c9d906d6474a53aee7781f12dec3","ref":"refs/heads/move-line","pushedAt":"2024-08-16T16:49:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"no_std","shortMessageHtmlLink":"no_std"}},{"before":"e8ab0ebd007ed8f915b21dee1f4b23e5e9fa8fd5","after":"1d2402e5d5de3c2bfb36a5b5b1eb6caf67a8cd7a","ref":"refs/heads/move-line","pushedAt":"2024-08-16T16:43:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"copyright header","shortMessageHtmlLink":"copyright header"}},{"before":"272ca76eefec9d787263f4127df33fc921044bd2","after":"e8ab0ebd007ed8f915b21dee1f4b23e5e9fa8fd5","ref":"refs/heads/move-line","pushedAt":"2024-08-16T16:42:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dfrg","name":"Chad Brokaw","path":"/dfrg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/420008?s=80&v=4"},"commit":{"message":"fix ci","shortMessageHtmlLink":"fix ci"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQyMDoyMzo0MS4wMDAwMDBazwAAAAS7SfPR","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQyMDoyMzo0MS4wMDAwMDBazwAAAAS7SfPR","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0xNlQxNjo0MjoyMC4wMDAwMDBazwAAAAScVF-4"}},"title":"Activity ยท linebender/parley"}