Templates: Add Storyboarding app template

Implements #144061, part of the Story Tools project #135058

Add a new "Storyboarding" app template, as a quick way to start drawing
on multiple scenes/shots thanks to the VSE Sync Scene setting.

- Created based on the 2D Animation template
- Features an additional Sequencer editor with `Sync Scene` enabled.
- Adds one `Edit` scene used in the Sequencer.
- Adds one Scene asset (`Shot.000`) as example to be used as blueprint,
users can edit it and later add/duplicate in VSE to create new shots.
- Adds two scenes as example (`Shot.001`, `Shot.002`), based on the
  included `Shot.000` Scene asset.

Default Edit scene length is 10 seconds, while the shots are 2 seconds
each. The default of 250 frames for each shot was a bit much and didn't
serve as good example in the Sequencer timeline.

One aspect missing is the Scene range overlay from !146165, but that can
be added via versioning.

See PR for details and screenshots.

Pull Request: https://projects.blender.org/blender/blender/pulls/146658
This commit is contained in:
Pablo Vazquez
2025-09-24 15:14:08 +02:00
committed by Pablo Vazquez
parent db8188a794
commit 039549900b
2 changed files with 62 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
# SPDX-FileCopyrightText: 2025 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# Initialization script for Storyboarding template
import bpy
from bpy.app.handlers import persistent
def update_factory_startup_screens():
# Storyboarding.
screen = bpy.data.screens["Storyboarding"]
for area in screen.areas:
if area.type == 'PROPERTIES':
# Set Tool settings as default in properties panel.
space = area.spaces.active
space.context = 'TOOL'
elif area.type == 'DOPESHEET_EDITOR':
# Open sidebar in Dope-sheet.
space = area.spaces.active
space.show_region_ui = True
# 2D Full Canvas.
screen = bpy.data.screens["2D Full Canvas"]
for area in screen.areas:
if area.type == 'VIEW_3D':
space = area.spaces.active
space.shading.type = 'MATERIAL'
space.shading.use_scene_world = True
def update_factory_startup_scenes():
for scene in bpy.data.scenes:
scene.tool_settings.use_keyframe_insert_auto = True
scene.tool_settings.gpencil_sculpt.use_scale_thickness = True
if scene.name == 'Edit':
scene.tool_settings.use_keyframe_insert_auto = False
def update_factory_startup_grease_pencils():
for grease_pencil in bpy.data.grease_pencils_v3:
grease_pencil.onion_keyframe_type = 'ALL'
@persistent
def load_handler(_):
update_factory_startup_screens()
update_factory_startup_scenes()
update_factory_startup_grease_pencils()
def register():
bpy.app.handlers.load_factory_startup_post.append(load_handler)
def unregister():
bpy.app.handlers.load_factory_startup_post.remove(load_handler)

Binary file not shown.