Blender 101: Monkey App #90025

Open
opened 2021-07-21 16:52:42 +02:00 by Jeroen Bakker · 23 comments
Member

Research blender app templates on current limitations by implementing an minimum example.

The example should display a list of monkeys and a list of materials.

  • Dragging on a monkey would add the monkey in the 3d environment (3d view)
  • Dragging the material into the monkey changes the active monkey to the selected material.

The final app should only use a trackball navigation and should be fool proof.

With fool proof we mean that any functionality beside what has been described here should be reported/researched.
It should not be possible to get the app to a state other than described above.

This task is time limited and results should be discussed and prioritized.

Found limitations

    • Application templates have to be installed at the moment (no command-line launcher, or better an one-click launcher)
    • Registering asset libraries needs better BPY API. This is in the planning with the custom asset libraries. Currently we need to setup context, invoke operators and find out what happened. For the time being there is a hack in the userpref to work around this restriction. Fixed by using an ensure function so the context is correct

Usage

  • Install the (.zip) template via the "Blender menu"
  • Launch it with blender -W --app-template "blender_101"

20220112_blender_101.zip

{F10409396, width=100%}

TODO

    • There are areas that doesn't work or need blender internal knowledge to setup correctly. This needs to be improved in blender BPY/core
    • Remove asset library selection and filtering from UI (needs some tweaks in blender code of the template_asset_view) Use similar API as template_list eg (type=,column=)
      template=my_first_app.blendapp`. Currently users have to start normal blender instance to install the application template. After that they will be able to use such application template.
    • Support LMB rotation (and RMB panning) - #91538
    • Support mouse hover highlight for UIList elements - D12549
  • [] ...

Wish list

    • Way to launch the template from a folder, without having to install it (for development).
    • Application launcher (like the Blender benchmark, where it downloads blender on first launch, and run the app - it could have an option to embed Blender with it as well).
    • Maybe to have a .blend bundle with all the templates that can be opened by Blender.
    • Easier way how to install an application template. eg. double click on an .blendapp file should install the file in the user app templates (if not already existing and latest version) and start a new blender with the app template. `blender --app-
Research blender app templates on current limitations by implementing an minimum example. The example should display a list of monkeys and a list of materials. * Dragging on a monkey would add the monkey in the 3d environment (3d view) * Dragging the material into the monkey changes the active monkey to the selected material. The final app should only use a trackball navigation and should be fool proof. With fool proof we mean that any functionality beside what has been described here should be reported/researched. It should not be possible to get the app to a state other than described above. This task is time limited and results should be discussed and prioritized. ## Found limitations * - [ ] Application templates have to be installed at the moment (no command-line launcher, or better an one-click launcher) * - [ ] Registering asset libraries needs better BPY API. This is in the planning with the custom asset libraries. Currently we need to setup context, invoke operators and find out what happened. For the time being there is a hack in the userpref to work around this restriction. Fixed by using an ensure function so the context is correct ## Usage * Install the (.zip) template via the "Blender menu" * Launch it with `blender -W --app-template "blender_101"` [20220112_blender_101.zip](https://archive.blender.org/developer/F13763769/20220112_blender_101.zip) {[F10409396](https://archive.blender.org/developer/F10409396/blender-101.png), width=100%} ## TODO * - [ ] There are areas that doesn't work or need blender internal knowledge to setup correctly. This needs to be improved in blender BPY/core * - [ ] Remove asset library selection and filtering from UI (needs some tweaks in blender code of the `template_asset_view`) Use similar API as template_list eg (type=,column=) template=my_first_app.blendapp`. Currently users have to start normal blender instance to install the application template. After that they will be able to use such application template. * - [ ] Silence warnings in console of missing operators (needs tweaks in blender code.) - [done for empty keymaps ](https://developer.blender.org/rB73ed07648901c047887f2e8e94750a3eae9afb08). * - [ ] Support LMB rotation (and RMB panning) - #91538 * - [ ] Support mouse hover highlight for UIList elements - [D12549](https://archive.blender.org/developer/D12549) * [] ... ## Wish list * - [ ] Way to launch the template from a folder, without having to install it (for development). * - [ ] Application launcher (like the Blender benchmark, where it downloads blender on first launch, and run the app - it could have an option to embed Blender with it as well). * - [ ] Maybe to have a .blend bundle with all the templates that can be opened by Blender. * - [ ] Easier way how to install an application template. eg. double click on an `.blendapp` file should install the file in the user app templates (if not already existing and latest version) and start a new blender with the app template. `blender --app-
Jeroen Bakker self-assigned this 2021-07-21 16:52:42 +02:00
Author
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Member

Added subscriber: @Jeroen-Bakker

Added subscriber: @Jeroen-Bakker
Author
Member
* https://developer.blender.org/source/bf-app-templates/ repository with app templates. * There would be a VSE annotation tool, but not able to find it right now.
Member

Added subscriber: @JulianEisel

Added subscriber: @JulianEisel
Member

From what I know the idea was that the assets still use drag & drop, so not the mentioned click-to-activate behavior.

The main things I see missing are:

  • Asset Libraries as part of App Templates - We could support a builtin Current Application Template asset library, like the Current File library. Should be trivial to add.
  • Ability to hide specific buttons - I could imagine a simple whitelist system, where a configuration file defines which RNA properties and operators should be visible in the UI, others will be hidden. For more flexibility a way to override panels, headers menus and UI lists could be added (later on).
  • Possibly: Ability to remove action zones to open sidebars, headers and such.

Besides that the important bits should all be supported by app templates already:

  • Custom startup.blend
    • Allows setting the up the minimal screen layout, active tool, active asset library and such.
  • Custom userpref.blend
    • Includes custom keymap support, {nav Preferences > Interface > Corner Splitting} option, UI scale, ...

Further, we may want to look into simplifying the app template installation process. Ideally it should be possible to just download an app template (e.g. a .zip) and drag it into Blender. This may be out of scope of this experiment though.

From what I know the idea was that the assets still use drag & drop, so not the mentioned click-to-activate behavior. The main things I see missing are: * Asset Libraries as part of App Templates - We could support a builtin `Current Application Template` asset library, like the `Current File` library. Should be trivial to add. * Ability to hide specific buttons - I could imagine a simple whitelist system, where a configuration file defines which RNA properties and operators should be visible in the UI, others will be hidden. For more flexibility a way to override panels, headers menus and UI lists could be added (later on). * Possibly: Ability to remove action zones to open sidebars, headers and such. Besides that the important bits should all be supported by app templates already: * Custom startup.blend * Allows setting the up the minimal screen layout, active tool, active asset library and such. * Custom userpref.blend * Includes custom keymap support, {nav Preferences > Interface > Corner Splitting} option, UI scale, ... Further, we may want to look into simplifying the app template installation process. Ideally it should be possible to just download an app template (e.g. a .zip) and drag it into Blender. This may be out of scope of this experiment though.

Added subscriber: @GeorgiaPacific

Added subscriber: @GeorgiaPacific
Contributor

Added subscriber: @AndresStephens

Added subscriber: @AndresStephens
Contributor

Is this like an asset reviewer standalone?

Is this like an asset reviewer standalone?

Added subscriber: @user1

Added subscriber: @user1

I have a vision that in a few years Blender might become in Europe what "Scratch" is now in Britain - the open standard tool for teaching young pupil (age >=6) holisticly. I forsee them learning vector maths (intrinsicly!), logically thinking, speaking English, as young artists they'll learn to observe their environment better, and they might even philosophize over the rather numerical than material nature of the Multiverse - using Blender. Apart from just having lots of fun by creating and animating stuff.
I love what you are doing. It is important. Thank you!

I have a vision that in a few years Blender might become in Europe what "Scratch" is now in Britain - the open standard tool for teaching young pupil (age >=6) holisticly. I forsee them learning vector maths (intrinsicly!), logically thinking, speaking English, as young artists they'll learn to observe their environment better, and they might even philosophize over the rather numerical than material nature of the Multiverse - using Blender. Apart from just having lots of fun by creating and animating stuff. I love what you are doing. It is important. Thank you!
Author
Member

Added subscribers: @dfelinto, @pablovazquez

Added subscribers: @dfelinto, @pablovazquez
Dalai Felinto changed title from Blender 101: Monkey App. to Blender 101: Monkey App 2021-09-16 18:31:16 +02:00

Added subscriber: @Harley

Added subscriber: @Harley

For the records, I uploaded the current version of the Blender 101 template to the svn .

For the records, I uploaded the current version of the Blender 101 template to the [svn ](https://developer.blender.org/source/bf-app-templates/browse/trunk/).

Added subscriber: @dr.sybren

Added subscriber: @dr.sybren
Jeroen Bakker was unassigned by Sybren A. Stüvel 2021-10-11 14:41:59 +02:00
Dalai Felinto was assigned by Sybren A. Stüvel 2021-10-11 14:41:59 +02:00

According to @Jeroen-Bakker, @dfelinto took over.

According to @Jeroen-Bakker, @dfelinto took over.

Added subscriber: @Garek

Added subscriber: @Garek

Added subscriber: @AndyCuccaro

Added subscriber: @AndyCuccaro

Added subscriber: @KevinCurry_Unity

Added subscriber: @KevinCurry_Unity

Added subscriber: @edward88

Added subscriber: @edward88

Added subscriber: @Rathe-Hollingum

Added subscriber: @Rathe-Hollingum

Added subscriber: @ReyDiaz

Added subscriber: @ReyDiaz

Added subscriber: @Cjhosken

Added subscriber: @Cjhosken

@Jeroen-Bakker , i was testing the app template and it works well in Blender 3.3 LTS.
While in Blender 4.0 does not work.

Where i can find more example/documentations ?

for now i can find only the manual documentation:
https://docs.blender.org/manual/en/latest/advanced/app_templates.html

and the "media-viewer-by-blender-studio" :
https://studio.blender.org/blog/media-viewer-by-blender-studio/
https://projects.blender.org/studio/blender-studio-pipeline/src/branch/main/application-templates

I am aware about the Blender Apps project:
https://code.blender.org/2022/11/blender-apps/

but for what i understand the development is in "Medium and long-term"
https://www.blender.org/development/projects-to-look-forward-in-2024/

In the meanwhile it would be interesting to test more about it because it is a very interesting project in particular for teaching opportunities !

Thank you.

@Jeroen-Bakker , i was testing the app template and it works well in Blender 3.3 LTS. While in Blender 4.0 does not work. Where i can find more example/documentations ? for now i can find only the manual documentation: https://docs.blender.org/manual/en/latest/advanced/app_templates.html and the "media-viewer-by-blender-studio" : https://studio.blender.org/blog/media-viewer-by-blender-studio/ https://projects.blender.org/studio/blender-studio-pipeline/src/branch/main/application-templates I am aware about the Blender Apps project: https://code.blender.org/2022/11/blender-apps/ but for what i understand the development is in "Medium and long-term" https://www.blender.org/development/projects-to-look-forward-in-2024/ In the meanwhile it would be interesting to test more about it because it is a very interesting project in particular for teaching opportunities ! Thank you.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
15 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#90025
No description provided.