AI prompts
base on Blender addon that simplifies access to useful operators and adds missing functionality <img width="960" alt="quickmenu" src="https://github.com/passivestar/quickmenu/assets/60579014/11286afb-2d38-4754-b953-6a33d4b4f6f5">
# Quick Menu is a Blender productivity addon
## Installation
- Go to [Releases](https://github.com/passivestar/quickmenu/releases) and download `quickmenu.zip`
- In Blender go to `Edit -> Preferences -> Addons`
- Press `Install...`
- Select the archive (don't unpack it)
Press `D` in 3D view to open the menu.
Join our [discord](https://discord.gg/pPHQ5HQ) for discussion.
## Compatibility
For blender `4.3.x` use the latest version
For blender `4.2.x` use version [3.1.4](https://github.com/passivestar/quickmenu/releases/tag/3.1.4)
For blender `4.1.x` use version [3.0.10](https://github.com/passivestar/quickmenu/releases/tag/3.0.10)
Earlier Blender versions aren't supported
## Things to know about Quick Menu:
- It's **minimalistic**. The addon is designed to be as unintrusive as possible. It only takes one hotkey (`D` by default) and doesn't have any UI (other than the menu itself)
- It's **quick**. It's designed to be used with one hand, so you can keep your other hand on the mouse. It also promotes usage of accelerator keys, i.e `d11` to Separate/Join, `d13` to Hide/Unhide, etc
- It's **customizable**. You can remove any button from the menu, reorder them, create your own submenus through a JSON config. You can also add your own operators to it, even if they come from third-party addons!
- It's **node-driven**. The addon makes use of Blender 4 node tools where possible, making its python footprint as small as possible, which in turn makes it easier for me to maintain and expand it. You can even look into the `nodetools.blend` file yourself to see how tools are put together. You can also make your own node tools and put them into the menu!
## Tutorial
Click here to watch a video showing every tool from the addon:
<a href="https://youtu.be/55Vju6LYL6M" target="_blank" rel="noreferrer"><img width="600" alt="quickmenututorial" src="https://github.com/passivestar/quickmenu/assets/60579014/5d046839-9cb5-48e7-8be1-89a87ef0a6ef"></a>
", Assign "at most 3 tags" to the expected json: {"id":"5314","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"