MCprep
MCprep copied to clipboard
Helpful Horse - suggestions panel
Create a "helpful horse" panel. It would be the topmost panel in MCprep, and would provide meta help to MCprep users. Not to be thought of as too similar to Microsoft Clippy, this would be a passive feature that early only would be hidden behind an experimental mode setting, and later potentially minimized by default. The goal is to be strictly helpful, out of the way, but is there if you need it. In that sense the goal is to "be effective, be succinct, be gone". If it never gets used, then it means things are going well.
As of the current moment, the idea is the panel we have two macro capabilities:
- Proactive suggestions: Based on the state of the scene, suggest specific things to do. E.g. if it detects there is a tiled image loaded in, but it hasn't been animated yet (and thus looks squashed), or if there are missing textures, suggest using the
replace missingoperator. It could also be used to showcase new features, and provide quick access to "take feedback survey" in blender itself. - Generic question box: Essentially a search bar within MCprep. User queries are parsed, and results are listed out in little sub panels, providing quick actions. Behind the scenes, there could be some minimal set of hard coded replies for inputs (such as model lists or operator names). But later, this could be connected to a cloud database doing best guess responses for a given input query. This cloud feature would not be part of the MVP.
Below are some examples of both of these modes, but would expand over time.
- Proactive suggestions:
- Update to new version of MCprep (right now, this dynamically shows in other panels, which feels random; here is a better home)
- Show Animate textures operator if non animated, tiled images loaded
- Suggest "Replace missing textures" operator if missing textures found
- Feature checklist: an optional element the user can look at to see if they've used all features of MCprep (can be used as a feature discovery aide, as well as some form of a built-in tutorial mechanism).
- Calls for Community challenges, potentially with built in blender submissions (stretch goal to say the least).
- In-blender way to submit renders to the MCprep community, this could be paired with a discord bot (though this would need a lot of thought on its own, to ensure accountability, safety, moderation etc. Early on could be a review queue if submissions are few).
- Generic question box result types:
- Quick spawn. If your text matches any block, mob, item, show that spawner button directly. This is probably the # 1 reason to implement this panel, since it can be unclear to the user where to find a specific spawnable "thing" (is it an item? Entity?)
- Quick skin change (for those already local, or from user names).
- Tutorials, link out to youtube videos or help pages for specific operators if matching the input name.
- Operator name search. e.g. if you type import world or something like this, it could bring up those operators (however, this should largely not be needed.... users should be able to intuitively find the place in MCprep where to perform those buttons).
- Show listings for "planned features" or "known issues" if the query matches some text based on something on github (would need some hand curation).
The side benefit of this feature, particularly the free text entry, is seeing what questions people have. Over time, this could be used as evidence for redesign of existing features. It would be assumed that after clicking any button to apply a change from this panel, a thumbs up/down button would show to rate if the suggestion was useful, to refine it over time. It could also be used to direct people directly to discord if their issue is not resolved
Hey @StandingPadAnimations since we were chatting. Before diving into any code here, I think it's worthwhile to do som UI mockups and play with different options we could execute.
I'm fairly confident at this point we would have a top "query" section, which is 90% search bar and then a dropdown for "quick questions".
- "Quick questions" would be a shorthand of top 10 question relevant to the current context. Maybe only top 5. They would function by just populating the search.
- I'm thinking quick question would be a dynamic field which tries to be aware of state.
- e.g. if you spawn an image sequence effect, maybe it bumps up to the top the question "How to remove blurry preview from sequence effect?" (though tbh I'm realizing it makes the most sense to just turn that feature off by default, but you get the idea).
- Big open question: How to deal with internationalization, this gets tricky fast and would undercut efforts to allow MCprep to work in multiple languages :/
Followed by that would be search results:
- I'm liking the idea of section based cards, split between MCprep sections or pure blender or online. I could see people who know they want a creeper not bothering to go into the spawner panel to then expand spawners to then still have to expand a search query
- It should also know how to prefer options. If the user searches for Creeper, they probably want the mob and not a texture (should we still show both, but just put the mob result on top?)
- We could also have the "top result" show larger, and then "more results" can be expanded under another section, potentially with pagination if there are more than just a couple. I'd only do this if we were confident about any given top result. if we don't understand a query, probably need to direct to browsing all results.
- Example query input: "Chest", output sections
- MCprep: With rows for Chest (Meshswap spawner), Chest (Item [ie handheld]), Chest (materials..)
- Video Tutorial: Meshswap tutorial
- How to/about: Could also respond with text-only response that is like the raw text of a bot command (a text macro essentially).
- Example query: How to add DOF
- Online link: "DOF (blender docs)" which is just the official page
- how-to response: a short step by step of how to do this in blender. Maybe if we are fancy, we eventually have template images for the most common needs and have blender download and open this image in an image viewer (ie the steps along with visuals in a PDF-like format, but obviously in the form of a PNG).
- After the user presses a button from the horse panel, and they don't press other buttons in that panel for something like 10-30s, then replace UI temporarily with a survey question for "Did this do what you wanted?" and if pressing yes, just fires that off to a special db location; if no, give a chance to let them elaborate on why it didn't.
In terms of how this would work: To start, we can make it offline only in terms of responses, but we can log the queries requested. After being out for a minute, we can see what is most being requested. I don't like the idea of parsing for issues directly on github as it could be very misleading/not useful what results come up, we couldn't control if a new issue starting leading to false positives. Or doing it properly would require a more intentional tagging or comprehension parsing. Instead, I imagine eventually running the query through a cloud function such that we can expand responses and questions over time, without people having to update. This would also give us control to try parsing for issues, but roll back or on the fly remove responses if we find it's not working well.
As I said, would be good to start with visual mockups first to see what we would expect to happen with different query responses and outputs, and how we want to make the most of horizontal limited space,

This is by no means final, but here's a stab at the design mockup. @StandingPadAnimations curious to hear what you think of this layout, and whether we feel there are any missing interactions, and if you think this plays well with what you were thinking. Some ambiguity still - Video opens a youtube page, but what about "tips"? These could be popups with more text that are read only. Likely can't make very large visuals, but a key image could be possible. Would need to experiment.
I think the UI looks good, just need to make the MCprep results and guide results a little more "separated" (but we can use icons for that)
As I just brought this issue back to the forefront here @StandingPadAnimations, wanted to mention we can think about launching this panel without the search feature first, if we want, to keep things simple. If we have time to add this for v3.6.0 then it could be added in, in addition to these notifications.
Some comments I have:
- Helpful Horse is a bit of a mouthful, what about an alternative name? On the top of my mind, Dr. Prep or M.C. Prep (a reference to M.C. Escher) would be good alternatives
- I think we could make the UI more "ChatGPTish", especially if we want to add notifications. I'll come up with a mock up later this week. I also want to look into "suggested actions" that can be customized, but let's tackle search and notifications first
- Let's look into merging the in-Blender reports system with this new panel, so it's a bit easier for users to use