From b344d46e38a386293332c52a72b1228dbf6a3286 Mon Sep 17 00:00:00 2001 From: AskingAcake Date: Sat, 5 Jul 2025 11:30:39 +0530 Subject: [PATCH 1/9] Create Simple Brain --- askingacake/Simple Brain | 261 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 askingacake/Simple Brain diff --git a/askingacake/Simple Brain b/askingacake/Simple Brain new file mode 100644 index 000000000..d0df5b672 --- /dev/null +++ b/askingacake/Simple Brain @@ -0,0 +1,261 @@ +// MIT License +// Copyright (c) 2025 AskingAcake +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the “Software”), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// Made by AskingAcake + +(function (Scratch) { + 'use strict'; + + const agents = {}; + + class MindAgent { + constructor(name) { + this.name = name; + this.memory = {}; + this.rules = []; + this.lastResult = "idle"; + } + + think() { + const matchingRules = []; + + for (const rule of this.rules) { + try { + const val = this.memory[rule.key]; + const condVal = SimpleBrain._parse(rule.value); + let pass = false; + + switch (rule.op) { + case '=': pass = val == condVal; break; + case '>': pass = Number(val) > Number(condVal); break; + case '<': pass = Number(val) < Number(condVal); break; + case 'includes': + pass = Array.isArray(val) && val.includes(condVal); + break; + } + + if (pass) { + for (let i = 0; i < rule.weight; i++) { + matchingRules.push(rule.result); + } + } + + } catch {} + } + + if (matchingRules.length === 0) { + this.lastResult = "idle"; + return "idle"; + } + + const choice = matchingRules[Math.floor(Math.random() * matchingRules.length)]; + this.lastResult = choice; + return choice; + } + + learn(result) { + for (const [key, value] of Object.entries(this.memory)) { + const op = typeof value === 'number' ? '>' : '='; + this.rules.push({ + key: key, + op: op, + value: value, + result: result, + weight: 1 + }); + } + } + } + + class SimpleBrain { + getInfo() { + return { + id: 'askingacakesimplebrain', + name: 'Simple Brain', + color1: '#4B0082', + blocks: [ + { + opcode: 'createAgent', + blockType: Scratch.BlockType.COMMAND, + text: 'create Simple Brain AI named [NAME]', + arguments: { + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' } + } + }, + { + opcode: 'setMemory', + blockType: Scratch.BlockType.COMMAND, + text: 'set memory [KEY] of [NAME] to [VALUE]', + arguments: { + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, + KEY: { type: Scratch.ArgumentType.STRING, defaultValue: 'mood' }, + VALUE: { type: Scratch.ArgumentType.STRING, defaultValue: 'happy' } + } + }, + { + opcode: 'getMemory', + blockType: Scratch.BlockType.REPORTER, + text: 'get memory [KEY] of [NAME]', + arguments: { + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, + KEY: { type: Scratch.ArgumentType.STRING, defaultValue: 'mood' } + } + }, + { + opcode: 'hasMemory', + blockType: Scratch.BlockType.BOOLEAN, + text: 'has memory [KEY] in [NAME]?', + arguments: { + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, + KEY: { type: Scratch.ArgumentType.STRING, defaultValue: 'mood' } + } + }, + { + opcode: 'addRule', + blockType: Scratch.BlockType.COMMAND, + text: 'add rule to [NAME]: if memory [KEY] [OPERATOR] [VALUE] then [RESULT] with weight [WEIGHT]', + arguments: { + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, + KEY: { type: Scratch.ArgumentType.STRING, defaultValue: 'mood' }, + OPERATOR: { + type: Scratch.ArgumentType.STRING, + menu: 'operators', + defaultValue: '=' + }, + VALUE: { type: Scratch.ArgumentType.STRING, defaultValue: 'happy' }, + RESULT: { type: Scratch.ArgumentType.STRING, defaultValue: 'dance' }, + WEIGHT: { type: Scratch.ArgumentType.NUMBER, defaultValue: 10 } + } + }, + { + opcode: 'clearRules', + blockType: Scratch.BlockType.COMMAND, + text: 'clear rules of [NAME]', + arguments: { + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' } + } + }, + { + opcode: 'runLogic', + blockType: Scratch.BlockType.REPORTER, + text: 'run logic on [NAME]', + arguments: { + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' } + } + }, + { + opcode: 'getLastResult', + blockType: Scratch.BlockType.REPORTER, + text: 'get last result of [NAME]', + arguments: { + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' } + } + }, + { + opcode: 'learnRule', + blockType: Scratch.BlockType.COMMAND, + text: 'learn rule for [NAME] from memory and result [RESULT]', + arguments: { + NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, + RESULT: { type: Scratch.ArgumentType.STRING, defaultValue: 'cry' } + } + } + ], + menus: { + operators: { + acceptReporters: false, + items: ['=', '>', '<', 'includes'] + } + } + }; + } + + createAgent(args) { + agents[args.NAME] = new MindAgent(args.NAME); + } + + setMemory(args) { + const agent = agents[args.NAME]; + if (!agent) return; + agent.memory[args.KEY] = SimpleBrain._parse(args.VALUE); + } + + getMemory(args) { + const agent = agents[args.NAME]; + if (!agent) return 'ERROR'; + return agent.memory[args.KEY] ?? 'undefined'; + } + + hasMemory(args) { + const agent = agents[args.NAME]; + if (!agent) return false; + return Object.hasOwn(agent.memory, args.KEY); + } + + addRule(args) { + const agent = agents[args.NAME]; + if (!agent) return; + + agent.rules.push({ + key: args.KEY, + op: args.OPERATOR, + value: args.VALUE, + result: args.RESULT, + weight: Number(args.WEIGHT) + }); + } + + clearRules(args) { + const agent = agents[args.NAME]; + if (!agent) return; + agent.rules = []; + } + + runLogic(args) { + const agent = agents[args.NAME]; + if (!agent) return "ERROR"; + return agent.think(); + } + + getLastResult(args) { + const agent = agents[args.NAME]; + if (!agent) return "ERROR"; + return agent.lastResult; + } + + learnRule(args) { + const agent = agents[args.NAME]; + if (!agent) return; + agent.learn(args.RESULT); + } + + static _parse(v) { + try { + const n = Number(v); + return isNaN(n) ? v : n; + } catch { + return v; + } + } + } + + Scratch.extensions.register(new SimpleBrain()); +})(Scratch); From 9d6d6911cbce3bf3a347185b8c1bd5b03b32caff Mon Sep 17 00:00:00 2001 From: AskingAcake Date: Sat, 5 Jul 2025 11:33:02 +0530 Subject: [PATCH 2/9] Add MindNet extension thumbnail --- costume2 (3).svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 costume2 (3).svg diff --git a/costume2 (3).svg b/costume2 (3).svg new file mode 100644 index 000000000..71f24e2a0 --- /dev/null +++ b/costume2 (3).svg @@ -0,0 +1 @@ + \ No newline at end of file From 18adf45dd9ee2d21898aaf750a9dbbbecdad8e1e Mon Sep 17 00:00:00 2001 From: AskingAcake Date: Sat, 5 Jul 2025 11:40:04 +0530 Subject: [PATCH 3/9] Update costume2 (3).svg --- costume2 (3).svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/costume2 (3).svg b/costume2 (3).svg index 71f24e2a0..8b1378917 100644 --- a/costume2 (3).svg +++ b/costume2 (3).svg @@ -1 +1 @@ - \ No newline at end of file + From bc3ac0512978ab7ede45b6bfabcd26f31a7d189e Mon Sep 17 00:00:00 2001 From: AskingAcake Date: Sat, 5 Jul 2025 11:42:23 +0530 Subject: [PATCH 4/9] Add MindNet extension thumbnail --- costume2 (4).png | Bin 0 -> 83542 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 costume2 (4).png diff --git a/costume2 (4).png b/costume2 (4).png new file mode 100644 index 0000000000000000000000000000000000000000..2dacf233ed17af574e286ecd05a9dc44da9e09b8 GIT binary patch literal 83542 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

J;V}+|j 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 u)72+l1zKfXQ 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 literal 0 HcmV?d00001 From a4349a59aa26c76142731b6b5c5de16cd48203b0 Mon Sep 17 00:00:00 2001 From: AskingAcake Date: Sat, 5 Jul 2025 11:45:45 +0530 Subject: [PATCH 5/9] simple-brain-thumbnail.png --- costume2 (4).png => simple-brain-thumbnail.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename costume2 (4).png => simple-brain-thumbnail.png (100%) diff --git a/costume2 (4).png b/simple-brain-thumbnail.png similarity index 100% rename from costume2 (4).png rename to simple-brain-thumbnail.png From d66bc97c01207752f77562340cba52784916b487 Mon Sep 17 00:00:00 2001 From: AskingAcake Date: Sat, 5 Jul 2025 11:59:19 +0530 Subject: [PATCH 6/9] Update pages.js --- src/lib/Documentation/pages.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/Documentation/pages.js b/src/lib/Documentation/pages.js index ca09689f3..ddf30a201 100644 --- a/src/lib/Documentation/pages.js +++ b/src/lib/Documentation/pages.js @@ -3,6 +3,9 @@ // ex: // "./test.md?raw" // "./particle-tools.md?raw" + +import PageSimpleBrain from "./SimpleBrain.md?raw"; + import PageParticleTools from "./particle-tools.md?raw"; // Extra Control (unlisted) @@ -34,6 +37,7 @@ export default { // the key is the path to the docs page // so you can do "sharkpool-particle-tools" for example // you cant use / like "sharkpool/particle-tools" yet + "SimpleBrain": PageSimpleBrain, "particle-tools": PageParticleTools, "Extra-Control": PageExtraControl, @@ -60,3 +64,5 @@ export default { // Resolution "Resolution": Resolution, }; + +Add SimpleBrain docs page From 3294604aedd3a9500b23a1e2d54880965ceaa2d2 Mon Sep 17 00:00:00 2001 From: AskingAcake Date: Sun, 6 Jul 2025 11:42:43 +0530 Subject: [PATCH 7/9] Create SimpleBrain A duplicate --- static/extensions/AskingAcake/SimpleBrain | 261 ++++++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 static/extensions/AskingAcake/SimpleBrain diff --git a/static/extensions/AskingAcake/SimpleBrain b/static/extensions/AskingAcake/SimpleBrain new file mode 100644 index 000000000..88398329d --- /dev/null +++ b/static/extensions/AskingAcake/SimpleBrain @@ -0,0 +1,261 @@ +// MIT License +// Copyright (c) 2025 AskingAcake +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the “Software”), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +// Made by AskingAcake, SimpleBrain Extension + +(function (Scratch) { +'use strict'; + +const agents = {}; + +class MindAgent { +constructor(name) { +this.name = name; +this.memory = {}; +this.rules = []; +this.lastResult = "idle"; +} + +think() { +const matchingRules = []; + +for (const rule of this.rules) { +try { +const val = this.memory[rule.key]; +const condVal = SimpleBrain._parse(rule.value); +let pass = false; + +switch (rule.op) { +case '=': pass = val == condVal; break; +case '>': pass = Number(val) > Number(condVal); break; +case '<': pass = Number(val) < Number(condVal); break; +case 'includes': +pass = Array.isArray(val) && val.includes(condVal); +break; +} + +if (pass) { +for (let i = 0; i < rule.weight; i++) { +matchingRules.push(rule.result); +} +} + +} catch {} +} + +if (matchingRules.length === 0) { +this.lastResult = "idle"; +return "idle"; +} + +const choice = matchingRules[Math.floor(Math.random() * matchingRules.length)]; +this.lastResult = choice; +return choice; +} + +learn(result) { +for (const [key, value] of Object.entries(this.memory)) { +const op = typeof value === 'number' ? '>' : '='; +this.rules.push({ +key: key, +op: op, +value: value, +result: result, +weight: 1 +}); +} +} +} + +class SimpleBrain { +getInfo() { +return { +id: 'askingacakesimplebrain', +name: 'Simple Brain', +color1: '#4B0082', +blocks: [ +{ +opcode: 'createAgent', +blockType: Scratch.BlockType.COMMAND, +text: 'create Simple Brain AI named [NAME]', +arguments: { +NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' } +} +}, +{ +opcode: 'setMemory', +blockType: Scratch.BlockType.COMMAND, +text: 'set memory [KEY] of [NAME] to [VALUE]', +arguments: { +NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, +KEY: { type: Scratch.ArgumentType.STRING, defaultValue: 'mood' }, +VALUE: { type: Scratch.ArgumentType.STRING, defaultValue: 'happy' } +} +}, +{ +opcode: 'getMemory', +blockType: Scratch.BlockType.REPORTER, +text: 'get memory [KEY] of [NAME]', +arguments: { +NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, +KEY: { type: Scratch.ArgumentType.STRING, defaultValue: 'mood' } +} +}, +{ +opcode: 'hasMemory', +blockType: Scratch.BlockType.BOOLEAN, +text: 'has memory [KEY] in [NAME]?', +arguments: { +NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, +KEY: { type: Scratch.ArgumentType.STRING, defaultValue: 'mood' } +} +}, +{ +opcode: 'addRule', +blockType: Scratch.BlockType.COMMAND, +text: 'add rule to [NAME]: if memory [KEY] [OPERATOR] [VALUE] then [RESULT] with weight [WEIGHT]', +arguments: { +NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, +KEY: { type: Scratch.ArgumentType.STRING, defaultValue: 'mood' }, +OPERATOR: { +type: Scratch.ArgumentType.STRING, +menu: 'operators', +defaultValue: '=' +}, +VALUE: { type: Scratch.ArgumentType.STRING, defaultValue: 'happy' }, +RESULT: { type: Scratch.ArgumentType.STRING, defaultValue: 'dance' }, +WEIGHT: { type: Scratch.ArgumentType.NUMBER, defaultValue: 10 } +} +}, +{ +opcode: 'clearRules', +blockType: Scratch.BlockType.COMMAND, +text: 'clear rules of [NAME]', +arguments: { +NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' } +} +}, +{ +opcode: 'runLogic', +blockType: Scratch.BlockType.REPORTER, +text: 'run logic on [NAME]', +arguments: { +NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' } +} +}, +{ +opcode: 'getLastResult', +blockType: Scratch.BlockType.REPORTER, +text: 'get last result of [NAME]', +arguments: { +NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' } +} +}, +{ +opcode: 'learnRule', +blockType: Scratch.BlockType.COMMAND, +text: 'learn rule for [NAME] from memory and result [RESULT]', +arguments: { +NAME: { type: Scratch.ArgumentType.STRING, defaultValue: 'Bot1' }, +RESULT: { type: Scratch.ArgumentType.STRING, defaultValue: 'cry' } +} +} +], +menus: { +operators: { +acceptReporters: false, +items: ['=', '>', '<', 'includes'] +} +} +}; +} + +createAgent(args) { +agents[args.NAME] = new MindAgent(args.NAME); +} + +setMemory(args) { +const agent = agents[args.NAME]; +if (!agent) return; +agent.memory[args.KEY] = SimpleBrain._parse(args.VALUE); +} + +getMemory(args) { +const agent = agents[args.NAME]; +if (!agent) return 'ERROR'; +return agent.memory[args.KEY] ?? 'undefined'; +} + +hasMemory(args) { +const agent = agents[args.NAME]; +if (!agent) return false; +return Object.hasOwn(agent.memory, args.KEY); +} + +addRule(args) { +const agent = agents[args.NAME]; +if (!agent) return; + +agent.rules.push({ +key: args.KEY, +op: args.OPERATOR, +value: args.VALUE, +result: args.RESULT, +weight: Number(args.WEIGHT) +}); +} + +clearRules(args) { +const agent = agents[args.NAME]; +if (!agent) return; +agent.rules = []; +} + +runLogic(args) { +const agent = agents[args.NAME]; +if (!agent) return "ERROR"; +return agent.think(); +} + +getLastResult(args) { +const agent = agents[args.NAME]; +if (!agent) return "ERROR"; +return agent.lastResult; +} + +learnRule(args) { +const agent = agents[args.NAME]; +if (!agent) return; +agent.learn(args.RESULT); +} + +static _parse(v) { +try { +const n = Number(v); +return isNaN(n) ? v : n; +} catch { +return v; +} +} +} + +Scratch.extensions.register(new SimpleBrain()); +})(Scratch); From ffa22a62ee434d91cfd205cfb7c78ea15b86a507 Mon Sep 17 00:00:00 2001 From: AskingAcake Date: Sun, 6 Jul 2025 11:43:33 +0530 Subject: [PATCH 8/9] Create SimpleBrain.js --- static/extensions/AskingAcake/{SimpleBrain => SimpleBrain.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename static/extensions/AskingAcake/{SimpleBrain => SimpleBrain.js} (100%) diff --git a/static/extensions/AskingAcake/SimpleBrain b/static/extensions/AskingAcake/SimpleBrain.js similarity index 100% rename from static/extensions/AskingAcake/SimpleBrain rename to static/extensions/AskingAcake/SimpleBrain.js From 9638976a4c2dce6e9c0c68cf35c1a405d5b02a1e Mon Sep 17 00:00:00 2001 From: AskingAcake Date: Sun, 6 Jul 2025 13:58:40 +0530 Subject: [PATCH 9/9] Add Simple Brain extension by AskingAcake --- static/images/costume2 (5).svg | 1 + 1 file changed, 1 insertion(+) create mode 100644 static/images/costume2 (5).svg diff --git a/static/images/costume2 (5).svg b/static/images/costume2 (5).svg new file mode 100644 index 000000000..9efbebce7 --- /dev/null +++ b/static/images/costume2 (5).svg @@ -0,0 +1 @@ +Data \ No newline at end of file