{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":805624583,"defaultBranch":"main","name":"godot-block-coding","ownerLogin":"endlessm","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-05-25T02:29:38.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1930958?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1720221070.0","currentOid":""},"activityList":{"items":[{"before":"b1cad608037a05e4c285023fd44caccae47cd14b","after":"4478548c1cdeb5f97cad94c18f6bed6d35f1ffda","ref":"refs/heads/zoom-and-pan","pushedAt":"2024-07-05T23:16:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"wnbaum","name":null,"path":"/wnbaum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42101167?s=80&v=4"},"commit":{"message":"Add zoom and pan to block canvas","shortMessageHtmlLink":"Add zoom and pan to block canvas"}},{"before":null,"after":"b1cad608037a05e4c285023fd44caccae47cd14b","ref":"refs/heads/zoom-and-pan","pushedAt":"2024-07-05T23:11:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"wnbaum","name":null,"path":"/wnbaum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42101167?s=80&v=4"},"commit":{"message":"Add zoom and pan to block canvas","shortMessageHtmlLink":"Add zoom and pan to block canvas"}},{"before":"7a9ee1138b6fc1f0fc5ea5fc4b44e23e6a219b86","after":null,"ref":"refs/heads/add-blockcode-warnings","pushedAt":"2024-07-05T20:44:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"wnbaum","name":null,"path":"/wnbaum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42101167?s=80&v=4"}},{"before":"4e75147a1599756f901673b5702d81a0c396e9fb","after":"b7cbac1e542902e571aa5797d3cf93671b2df2ab","ref":"refs/heads/main","pushedAt":"2024-07-05T20:44:24.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"wnbaum","name":null,"path":"/wnbaum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42101167?s=80&v=4"},"commit":{"message":"Merge pull request #119 from endlessm/add-blockcode-warnings\n\nAdd blockcode warnings","shortMessageHtmlLink":"Merge pull request #119 from endlessm/add-blockcode-warnings"}},{"before":"b68fea58708b108a53f357e542ee1639b49c2dbc","after":"7a9ee1138b6fc1f0fc5ea5fc4b44e23e6a219b86","ref":"refs/heads/add-blockcode-warnings","pushedAt":"2024-07-05T20:26:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"},"commit":{"message":"Add a warning when a BlockCode node is placed as a root node","shortMessageHtmlLink":"Add a warning when a BlockCode node is placed as a root node"}},{"before":null,"after":"b68fea58708b108a53f357e542ee1639b49c2dbc","ref":"refs/heads/add-blockcode-warnings","pushedAt":"2024-07-05T19:29:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"},"commit":{"message":"Add a warning when a BlockCode node has multiple BlockCode siblings","shortMessageHtmlLink":"Add a warning when a BlockCode node has multiple BlockCode siblings"}},{"before":"5264ba3dde8a14424fa26f80529c99ec80c220ef","after":"0026aab3c8f09ff477dddb059cd71fb9d20b605f","ref":"refs/heads/T35541-block-code-in-bottom-panel","pushedAt":"2024-07-05T19:26:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"},"commit":{"message":"Only show the Block Code panel if a BlockCode node is selected\n\nhttps://phabricator.endlessm.com/T35541","shortMessageHtmlLink":"Only show the Block Code panel if a BlockCode node is selected"}},{"before":"52d0c5f4fb751203c2d0f3a0c0bd231917ecbf0e","after":null,"ref":"refs/heads/simple-character-improvements","pushedAt":"2024-07-05T19:15:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"}},{"before":"ab3eedac9f45918463367ae074d89971bb80de78","after":"4e75147a1599756f901673b5702d81a0c396e9fb","ref":"refs/heads/main","pushedAt":"2024-07-05T19:15:17.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"},"commit":{"message":"Merge pull request #118 from endlessm/simple-character-improvements\n\nSimpleCharacter: Use methods for player movement","shortMessageHtmlLink":"Merge pull request #118 from endlessm/simple-character-improvements"}},{"before":"1fdfe85f577a35d1710db5ba96c289895577181f","after":"52d0c5f4fb751203c2d0f3a0c0bd231917ecbf0e","ref":"refs/heads/simple-character-improvements","pushedAt":"2024-07-05T19:05:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"manuq","name":null,"path":"/manuq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83944?s=80&v=4"},"commit":{"message":"SimpleCharacter: Single movement block\n\nMake player 1, player 2 options, defaulting to player 1. And add default\nto speed too. A speed of Vector2(300,300) is very opinionated but seems\nfine for the default project viewport.","shortMessageHtmlLink":"SimpleCharacter: Single movement block"}},{"before":null,"after":"1fdfe85f577a35d1710db5ba96c289895577181f","ref":"refs/heads/simple-character-improvements","pushedAt":"2024-07-05T18:52:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"manuq","name":null,"path":"/manuq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83944?s=80&v=4"},"commit":{"message":"SimpleCharacter: Use methods for player movement\n\nAdd 2 methods and call them, instead of having the implementation in the\ncode template (\"statement\" property).\n\nThis improves a bit when serializing the implementation. But most\nimportantly, allows the 2 blocks to be added to the same node without a\ncollision on the var dir being declared twice.","shortMessageHtmlLink":"SimpleCharacter: Use methods for player movement"}},{"before":"93fd0c09ff0b781a657c8b089d2b8c076f43cad3","after":"3562cb572f1837cd81de2739857f87e42bb1442a","ref":"refs/heads/variables-revamp","pushedAt":"2024-07-05T16:45:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wnbaum","name":null,"path":"/wnbaum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42101167?s=80&v=4"},"commit":{"message":"Add type string to generated code","shortMessageHtmlLink":"Add type string to generated code"}},{"before":"73d8e1429853c89e8f6308fa3a5b7bedef0e2095","after":"5264ba3dde8a14424fa26f80529c99ec80c220ef","ref":"refs/heads/T35541-block-code-in-bottom-panel","pushedAt":"2024-07-05T01:02:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"},"commit":{"message":"Add a feature to override BlockCode from a child scene\n\nThis reorganizes the empty state widgets in BlockCanvas, adding a new\nset of actions when the user selects a node which contains block code,\nbut the block code can't be edited. This commit also includes changes\nto better handle when a BlockCode node is inside a node from a different\nscene but with editable children.\n\nhttps://phabricator.endlessm.com/T35541","shortMessageHtmlLink":"Add a feature to override BlockCode from a child scene"}},{"before":"5cc8bc630ce4d2f179de0862cd70beaff70864cd","after":"73d8e1429853c89e8f6308fa3a5b7bedef0e2095","ref":"refs/heads/T35541-block-code-in-bottom-panel","pushedAt":"2024-07-05T00:17:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"},"commit":{"message":"Add a feature to override BlockCode from a child scene\n\nThis reorganizes the empty state widgets in BlockCanvas, adding a new\nset of actions when the user selects a node which contains block code,\nbut the block code can't be edited. This commit also includes changes\nto better handle when a BlockCode node is inside a node from a different\nscene but with editable children.\n\nhttps://phabricator.endlessm.com/T35541","shortMessageHtmlLink":"Add a feature to override BlockCode from a child scene"}},{"before":"74c03e90782952893792f715de412039de815fca","after":"5cc8bc630ce4d2f179de0862cd70beaff70864cd","ref":"refs/heads/T35541-block-code-in-bottom-panel","pushedAt":"2024-07-04T17:26:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"},"commit":{"message":"Mention the selected node in \"Add Block Code\" text\n\nhttps://phabricator.endlessm.com/T35541","shortMessageHtmlLink":"Mention the selected node in \"Add Block Code\" text"}},{"before":null,"after":"74c03e90782952893792f715de412039de815fca","ref":"refs/heads/T35541-block-code-in-bottom-panel","pushedAt":"2024-07-03T23:45:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"},"commit":{"message":"Show block code for a node with a BlockCode node as a child\n\nTo improve the experience when using block coding side by side with the\n2D or 3D canvas, the Block Code panel will display block code associated\nwith the selected node.\n\nhttps://phabricator.endlessm.com/T35541","shortMessageHtmlLink":"Show block code for a node with a BlockCode node as a child"}},{"before":"29bef8c753d0cc5b8c6adbb934f4d1540f1f8e20","after":null,"ref":"refs/heads/static-callable-4.2.1","pushedAt":"2024-07-03T21:03:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"}},{"before":"ef620cefddc4339afac79f258d02012ed6b7e3d4","after":"ab3eedac9f45918463367ae074d89971bb80de78","ref":"refs/heads/main","pushedAt":"2024-07-03T21:03:41.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"dylanmccall","name":"Dylan McCall","path":"/dylanmccall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132063?s=80&v=4"},"commit":{"message":"Merge pull request #116 from endlessm/static-callable-4.2.1\n\ncategory_factory: Fix static Callable use in Godot 4.2.1","shortMessageHtmlLink":"Merge pull request #116 from endlessm/static-callable-4.2.1"}},{"before":null,"after":"29bef8c753d0cc5b8c6adbb934f4d1540f1f8e20","ref":"refs/heads/static-callable-4.2.1","pushedAt":"2024-07-03T20:41:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dbnicholson","name":"Dan Nicholson","path":"/dbnicholson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6495518?s=80&v=4"},"commit":{"message":"category_factory: Fix static Callable use in Godot 4.2.1\n\nIn Godot 4.2.1, a static function used as a Callable from a static\nfunction fails to be resolved. This causes the following error in our\ncase:\n\n```\nres://addons/block_code/ui/picker/categories/category_factory.gd:109 -\nInvalid get index '_category_cmp' (on base: 'Nil')\n```\n\nSee https://github.com/godotengine/godot/issues/86032 for details. This\ncan be worked around by using the fully qualified class method name.\n\nFixes: #94","shortMessageHtmlLink":"category_factory: Fix static Callable use in Godot 4.2.1"}},{"before":"0d5bb1a58d56245fdcdc878d2a0080dda7d7d677","after":"93fd0c09ff0b781a657c8b089d2b8c076f43cad3","ref":"refs/heads/variables-revamp","pushedAt":"2024-07-03T18:17:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"wnbaum","name":null,"path":"/wnbaum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42101167?s=80&v=4"},"commit":{"message":"Revamp variable system\n\nInstead of accessing variables by VAR_DICT, use GDScript properties.\n\nAdd a new \"variables\" property to block script data resource.\n\nAdd a menu for creating variable of specific type.","shortMessageHtmlLink":"Revamp variable system"}},{"before":"f2a24e58f6b8091e82d2581905c89bf490e67c40","after":null,"ref":"refs/heads/remove-basic-block","pushedAt":"2024-07-03T18:09:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"wnbaum","name":null,"path":"/wnbaum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42101167?s=80&v=4"}},{"before":"ccf049b446eaf6e68f58cd0b5c054e63ecc83d02","after":"ef620cefddc4339afac79f258d02012ed6b7e3d4","ref":"refs/heads/main","pushedAt":"2024-07-03T18:09:32.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"wnbaum","name":null,"path":"/wnbaum","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42101167?s=80&v=4"},"commit":{"message":"Merge pull request #113 from endlessm/remove-basic-block\n\nRemove unused BasicBlock scene & code","shortMessageHtmlLink":"Merge pull request #113 from endlessm/remove-basic-block"}},{"before":"7494478a38405524f946789024d53bedac3a4f79","after":null,"ref":"refs/heads/check-release-has-annotated-tag","pushedAt":"2024-07-03T16:22:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"wjt","name":"Will Thompson","path":"/wjt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86760?s=80&v=4"}},{"before":"16ab468742f47901174e43ab19608380ba6d8c52","after":null,"ref":"refs/heads/use-is_physical_key_pressed-for-game-input","pushedAt":"2024-07-03T16:01:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dbnicholson","name":"Dan Nicholson","path":"/dbnicholson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6495518?s=80&v=4"}},{"before":"b32cc4f4ea4eac1aa8f6e16c955927aaa43c68be","after":"ccf049b446eaf6e68f58cd0b5c054e63ecc83d02","ref":"refs/heads/main","pushedAt":"2024-07-03T16:01:01.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"dbnicholson","name":"Dan Nicholson","path":"/dbnicholson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6495518?s=80&v=4"},"commit":{"message":"Merge pull request #114 from endlessm/use-is_physical_key_pressed-for-game-input\n\nUse is_physical_key_pressed for game input","shortMessageHtmlLink":"Merge pull request #114 from endlessm/use-is_physical_key_pressed-for…"}},{"before":"cc307af93c21f39bf695f205f8731385e703708a","after":null,"ref":"refs/heads/T35494-background-infinite-draw","pushedAt":"2024-07-03T16:00:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"manuq","name":null,"path":"/manuq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83944?s=80&v=4"}},{"before":"d61990c4e21e699d87ac59282e4eabff6387dd6c","after":"b32cc4f4ea4eac1aa8f6e16c955927aaa43c68be","ref":"refs/heads/main","pushedAt":"2024-07-03T16:00:13.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"manuq","name":null,"path":"/manuq","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83944?s=80&v=4"},"commit":{"message":"Merge pull request #115 from endlessm/T35494-background-infinite-draw\n\nbackground: Avoid infinite draw cycle","shortMessageHtmlLink":"Merge pull request #115 from endlessm/T35494-background-infinite-draw"}},{"before":"1e5b359a9f424e7b7ad590a8fba17325794aae19","after":"cc307af93c21f39bf695f205f8731385e703708a","ref":"refs/heads/T35494-background-infinite-draw","pushedAt":"2024-07-03T15:57:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dbnicholson","name":"Dan Nicholson","path":"/dbnicholson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6495518?s=80&v=4"},"commit":{"message":"background: Avoid infinite draw cycle\n\nSetting outline_color queues a redraw, so setting it in the draw handler\nimplies that it will queue infinite redraws. In Godot 4.2 this doesn't\nhappen, but in Godot 4.3 it does and causes the editor to lock up until\nit finally crashes.\n\nI don't know if it's a bug in one version or the other, but either way\nwe don't need to do that. If outline_color is already set based on the\ncolor, then set it at the time color is set and stop exporting it since\nany user provided value would be ignored.\n\nhttps://phabricator.endlessm.com/T35494","shortMessageHtmlLink":"background: Avoid infinite draw cycle"}},{"before":null,"after":"1e5b359a9f424e7b7ad590a8fba17325794aae19","ref":"refs/heads/T35494-background-infinite-draw","pushedAt":"2024-07-03T15:50:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dbnicholson","name":"Dan Nicholson","path":"/dbnicholson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6495518?s=80&v=4"},"commit":{"message":"background: Avoid infinite draw cycle\n\nSetting outline_color queues a redraw, so setting it in the draw handler\nimplies that it will queue infinite redraws. In Godot 4.2 this doesn't\nhappen, but in Godot 4.3 it does and causes the editor to lock up until\nit finally crashes.\n\nI don't know if it's a bug in one version or the other, but either way\nwe don't need to do that. If outline_color is already set based on the\ncolor, then set it at the time color is set and stop exporting it since\nany user provided value would be ignored.\n\nhttps://phabricator.endlessm.com/T35494","shortMessageHtmlLink":"background: Avoid infinite draw cycle"}},{"before":null,"after":"16ab468742f47901174e43ab19608380ba6d8c52","ref":"refs/heads/use-is_physical_key_pressed-for-game-input","pushedAt":"2024-07-03T15:40:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"wjt","name":"Will Thompson","path":"/wjt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86760?s=80&v=4"},"commit":{"message":"Use is_physical_key_pressed for game input\n\nThe documentation of `Input.is_physical_key_pressed` says:\n\n> `is_physical_key_pressed()` is recommended over `is_key_pressed()` for\n> in-game actions, as it will make `W`/`A`/`S`/`D` layouts work regardless of\n> the user's keyboard layout. `is_physical_key_pressed()` will also ensure that\n> the top row number keys work on any keyboard layout. If in doubt, use\n> `is_physical_key_pressed()`.\n\nThe physical keys labelled `W` `A` `S` `D` on a US keyboard enter different\ncharacters on some non-US keyboard layouts:\n\n- AZERTY (standard in France): `Z` `Q` `S` `D`\n- Dvorak (standard on my desk): `,` `A` `O` `E`\n\n(The other widely-used layout for Latin text is QWERTZ, used primarily in\nGerman-speaking regions; though I have learned while trying to justify this\nchange that the Serbian Cyrillic layout is a rare example of a non-Latin layout\nthat is based on QWERTZ, presumably for geographic reasons. But WASD are the\nsame in QWERTZ and QWERTY.)\n\nAdjust the “Move with player 1/2 buttons” blocks accordingly.\n\nI have not adjusted the “Move with keys {up: STRING} {down: STRING} {left:\nSTRING} {right: STRING} with speed {speed: VECTOR2}” block because when the\nuser enters strings into that block, they will be entering the logical\ncharacter corresponding to the physical key on their keyboard that they want to\nuse. It would be very confusing if a French user configured that block to use\nkeys Z S Q D and then those keys were mapped to their physical locations on a\nUS keyboard. The distinction between physical keys and logical keys is\nconfusing and not something we want to try to explain here (IMO).","shortMessageHtmlLink":"Use is_physical_key_pressed for game input"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEeCoHogA","startCursor":null,"endCursor":null}},"title":"Activity · endlessm/godot-block-coding"}