Compare commits

...

3 Commits

Author SHA1 Message Date
Mark Moissette 31ee4df6a6
Merge 33f2809682 into 9b50d77790 2024-08-09 10:24:34 +00:00
kaosat.dev 33f2809682 refactor(Blender): changed all imports to be relative, to be up to spec with Blender 4.2 extensions 2024-08-09 12:22:49 +02:00
kaosat.dev 362d6b214b feat(Blender):
* updated version to match Bevy side
 * added back manifest to do a clean 4.2 extension
 * removed tmp scene ids
2024-08-09 11:03:31 +02:00
25 changed files with 39 additions and 44 deletions

View File

@ -273,6 +273,7 @@ Blender side:
- [ ] auto reload registry if absent/possible - [ ] auto reload registry if absent/possible
- cannot be done from UI possibly polling with increasing timeout - cannot be done from UI possibly polling with increasing timeout
- bpy.ops.blenvy.components_registry_reload() - bpy.ops.blenvy.components_registry_reload()
- double check bpy.context.components_registry
- [x] filter out MaterialInfos from list of "fixable components" - [x] filter out MaterialInfos from list of "fixable components"

View File

@ -1,7 +1,7 @@
bl_info = { bl_info = {
"name": "blenvy", "name": "blenvy",
"author": "kaosigh", "author": "kaosigh",
"version": (0, 1, 0), "version": (0, 1, 0, "alpha.1"),
"blender": (3, 4, 0), "blender": (3, 4, 0),
"location": "File > Import-Export", "location": "File > Import-Export",
"description": "tooling for the Bevy engine", "description": "tooling for the Bevy engine",

View File

@ -2,7 +2,7 @@ import os
import json import json
import pathlib import pathlib
import bpy import bpy
from blenvy.settings import generate_complete_settings_dict from ...settings import generate_complete_settings_dict
from io_scene_gltf2 import ExportGLTF2_Base from io_scene_gltf2 import ExportGLTF2_Base

View File

@ -1,6 +1,5 @@
from blenvy.blueprints.blueprint_helpers import find_blueprints_not_on_disk from ....blueprints.blueprint_helpers import find_blueprints_not_on_disk
def is_blueprint_always_export(blueprint): def is_blueprint_always_export(blueprint):
return blueprint.collection['always_export'] if 'always_export' in blueprint.collection else False return blueprint.collection['always_export'] if 'always_export' in blueprint.collection else False

View File

@ -3,8 +3,7 @@ import os
import bpy import bpy
import traceback import traceback
from blenvy.blueprints.blueprints_scan import blueprints_scan from ....blueprints.blueprint_helpers import inject_export_path_into_internal_blueprints
from blenvy.blueprints.blueprint_helpers import inject_export_path_into_internal_blueprints
from ..blueprints.get_blueprints_to_export import get_blueprints_to_export from ..blueprints.get_blueprints_to_export import get_blueprints_to_export
from ..levels.get_levels_to_export import get_levels_to_export from ..levels.get_levels_to_export import get_levels_to_export

View File

@ -1,7 +1,7 @@
import json import json
import bpy import bpy
from blenvy.core.object_makers import (make_empty) from ....core.object_makers import make_empty
from blenvy.add_ons.bevy_components.utils import is_component_valid_and_enabled from ...bevy_components.utils import is_component_valid_and_enabled
from ..constants import custom_properties_to_filter_out from ..constants import custom_properties_to_filter_out
from ..utils import remove_unwanted_custom_properties from ..utils import remove_unwanted_custom_properties

View File

@ -2,7 +2,7 @@ import json
import os import os
import bpy import bpy
from blenvy.settings import load_settings from ....settings import load_settings
def get_standard_exporter_settings(): def get_standard_exporter_settings():
standard_gltf_exporter_settings = load_settings(".blenvy_gltf_settings") standard_gltf_exporter_settings = load_settings(".blenvy_gltf_settings")

View File

@ -1,6 +1,6 @@
import bpy import bpy
from blenvy.core.helpers_collections import (set_active_collection) from ....core.helpers_collections import set_active_collection
from blenvy.core.object_makers import (make_empty) from ....core.object_makers import make_empty
from .duplicate_object import duplicate_object from .duplicate_object import duplicate_object
from .export_gltf import export_gltf from .export_gltf import export_gltf
from ..constants import custom_properties_to_filter_out from ..constants import custom_properties_to_filter_out

View File

@ -3,7 +3,7 @@ import bpy
from .project_diff import get_changes_per_scene from .project_diff import get_changes_per_scene
from .auto_export import auto_export from .auto_export import auto_export
from .settings_diff import get_setting_changes from .settings_diff import get_setting_changes
from blenvy.settings import load_settings, upsert_settings from ....settings import upsert_settings
# prepare export by gather the changes to the scenes & settings # prepare export by gather the changes to the scenes & settings
def prepare_and_export(): def prepare_and_export():

View File

@ -2,7 +2,7 @@ import json
import traceback import traceback
import bpy import bpy
from .serialize_project import serialize_project from .serialize_project import serialize_project
from blenvy.settings import load_settings, upsert_settings from ....settings import load_settings
def bubble_up_changes(object, changes_per_scene): def bubble_up_changes(object, changes_per_scene):
if object is not None and object.parent: if object is not None and object.parent:
@ -13,12 +13,12 @@ import uuid
def serialize_current(settings): def serialize_current(settings):
# sigh... you need to save & reset the frame otherwise it saves the values AT THE CURRENT FRAME WHICH CAN DIFFER ACROSS SCENES # sigh... you need to save & reset the frame otherwise it saves the values AT THE CURRENT FRAME WHICH CAN DIFFER ACROSS SCENES
current_frames = [scene.frame_current for scene in bpy.data.scenes] current_frames = [scene.frame_current for scene in bpy.data.scenes]
for scene in bpy.data.scenes: """for scene in bpy.data.scenes:
scene.frame_set(0) scene.frame_set(0)
if scene.id_test == '': if scene.id_test == '':
print("GENERATE ID") print("GENERATE ID")
scene.id_test = str(uuid.uuid4()) scene.id_test = str(uuid.uuid4())
print("SCENE ID", scene.id_test) print("SCENE ID", scene.id_test)"""
#https://blender.stackexchange.com/questions/216411/whats-the-replacement-for-id-or-hash-on-bpy-objects #https://blender.stackexchange.com/questions/216411/whats-the-replacement-for-id-or-hash-on-bpy-objects
current_scene = bpy.context.window.scene current_scene = bpy.context.window.scene

View File

@ -1,6 +1,4 @@
import bpy from ....settings import are_settings_identical, load_settings, changed_settings
from blenvy.settings import are_settings_identical, load_settings, changed_settings
# which common settings changes should trigger a re-export # which common settings changes should trigger a re-export
parameter_names_whitelist_common = [ parameter_names_whitelist_common = [

View File

@ -1,5 +1,5 @@
import bpy import bpy
from blenvy.blueprints.blueprint_helpers import check_if_blueprint_on_disk from ....blueprints.blueprint_helpers import check_if_blueprint_on_disk
# IF collection_instances_combine_mode is not 'split' check for each scene if any object in changes_per_scene has an instance in the scene # IF collection_instances_combine_mode is not 'split' check for each scene if any object in changes_per_scene has an instance in the scene
def changed_object_in_scene(scene_name, changes_per_scene, blueprints_data, collection_instances_combine_mode): def changed_object_in_scene(scene_name, changes_per_scene, blueprints_data, collection_instances_combine_mode):

View File

@ -1,8 +1,7 @@
import os import os
import bpy import bpy
from ....core.helpers_collections import traverse_tree
from blenvy.core.helpers_collections import (traverse_tree) from ....core.object_makers import make_cube
from blenvy.core.object_makers import make_cube
from ..common.generate_temporary_scene_and_export import generate_temporary_scene_and_export from ..common.generate_temporary_scene_and_export import generate_temporary_scene_and_export
from ..common.export_gltf import (generate_gltf_export_settings) from ..common.export_gltf import (generate_gltf_export_settings)

View File

@ -1,6 +1,6 @@
import bpy import bpy
from blenvy.materials.materials_helpers import find_materials_not_on_disk from ....materials.materials_helpers import find_materials_not_on_disk
def get_materials_to_export(changes_per_material, changed_export_parameters, blueprints_data, settings): def get_materials_to_export(changes_per_material, changed_export_parameters, blueprints_data, settings):
export_gltf_extension = getattr(settings, "export_gltf_extension", ".glb") export_gltf_extension = getattr(settings, "export_gltf_extension", ".glb")

View File

@ -1,7 +1,7 @@
import bpy import bpy
from bpy_types import (PropertyGroup) from bpy_types import (PropertyGroup)
from bpy.props import (EnumProperty, PointerProperty, StringProperty, BoolProperty, CollectionProperty, IntProperty) from bpy.props import (EnumProperty, PointerProperty, StringProperty, BoolProperty, CollectionProperty, IntProperty)
from blenvy.settings import load_settings, upsert_settings, generate_complete_settings_dict from ...settings import load_settings, upsert_settings, generate_complete_settings_dict
# list of settings we do NOT want to save # list of settings we do NOT want to save
settings_black_list = ['settings_save_enabled', 'dry_run'] settings_black_list = ['settings_save_enabled', 'dry_run']

View File

@ -1,8 +1,8 @@
import posixpath import posixpath
import bpy import bpy
from pathlib import Path from pathlib import Path
from blenvy.assets.assets_scan import get_blueprint_asset_tree, get_level_scene_assets_tree2 from ...assets.assets_scan import get_blueprint_asset_tree, get_level_scene_assets_tree2
from blenvy.add_ons.bevy_components.utils import is_component_valid_and_enabled from ..bevy_components.utils import is_component_valid_and_enabled
from .constants import custom_properties_to_filter_out from .constants import custom_properties_to_filter_out
from ...assets.assets_scan import get_level_scene_assets_tree2 from ...assets.assets_scan import get_level_scene_assets_tree2

View File

@ -1,7 +1,7 @@
import json import json
from bpy_types import Operator from bpy_types import Operator
from bpy.props import (StringProperty, EnumProperty, IntProperty) from bpy.props import (StringProperty, EnumProperty, IntProperty)
from blenvy.add_ons.bevy_components.utils import get_item_by_type from ..utils import get_item_by_type
class BLENVY_OT_component_list_actions(Operator): class BLENVY_OT_component_list_actions(Operator):
"""Move items up and down, add and remove""" """Move items up and down, add and remove"""

View File

@ -3,7 +3,7 @@ from bpy_types import Operator, UIList
from bpy.props import (StringProperty, EnumProperty, PointerProperty, FloatVectorProperty, IntProperty) from bpy.props import (StringProperty, EnumProperty, PointerProperty, FloatVectorProperty, IntProperty)
from ..propGroups.conversions_from_prop_group import property_group_value_to_custom_property_value from ..propGroups.conversions_from_prop_group import property_group_value_to_custom_property_value
from blenvy.add_ons.bevy_components.utils import get_item_by_type from ..utils import get_item_by_type
class BLENVY_OT_component_map_actions(Operator): class BLENVY_OT_component_map_actions(Operator):
"""Move items up and down, add and remove""" """Move items up and down, add and remove"""

View File

@ -3,8 +3,7 @@ import bpy
from bpy_types import (Operator) from bpy_types import (Operator)
from bpy.props import (StringProperty) from bpy.props import (StringProperty)
from bpy_extras.io_utils import ImportHelper from bpy_extras.io_utils import ImportHelper
from ....settings import upsert_settings
from blenvy.settings import upsert_settings
from ..components.metadata import ensure_metadata_for_all_items from ..components.metadata import ensure_metadata_for_all_items
from ..propGroups.prop_groups import generate_propertyGroups_for_components from ..propGroups.prop_groups import generate_propertyGroups_for_components

View File

@ -2,7 +2,8 @@ import os
import bpy import bpy
from bpy_types import (PropertyGroup) from bpy_types import (PropertyGroup)
from bpy.props import (EnumProperty, PointerProperty, StringProperty, BoolProperty, CollectionProperty, FloatProperty) from bpy.props import (EnumProperty, PointerProperty, StringProperty, BoolProperty, CollectionProperty, FloatProperty)
from blenvy.settings import load_settings, upsert_settings, generate_complete_settings_dict from ...settings import load_settings, upsert_settings, generate_complete_settings_dict
from .propGroups.prop_groups import generate_propertyGroups_for_components from .propGroups.prop_groups import generate_propertyGroups_for_components
from .components.metadata import ensure_metadata_for_all_items from .components.metadata import ensure_metadata_for_all_items
from .utils import add_component_to_ui_list from .utils import add_component_to_ui_list

View File

@ -1,10 +1,9 @@
import json
import bpy import bpy
from .constants import HIDDEN_COMPONENTS
from bpy.props import StringProperty, EnumProperty from bpy.props import StringProperty, EnumProperty
from bpy_types import Operator from bpy_types import Operator
from blenvy.core.helpers_collections import (set_active_collection) from ...core.helpers_collections import set_active_collection
from .constants import HIDDEN_COMPONENTS
import json
def select_area(context, area_name): def select_area(context, area_name):
for area in context.screen.areas: for area in context.screen.areas:

View File

@ -1,7 +1,7 @@
schema_version = "1.0.0" schema_version = "1.0.0"
id = "Blenvy" id = "Blenvy"
version = "0.1.0" version = "0.1.0-alpha.1"
name = "Blenvy" name = "Blenvy"
tagline = "Tools to add/edit components of objects, collections etc & create blueprints & levels for the Bevy Engine in Blender" tagline = "Tools to add/edit components of objects, collections etc & create blueprints & levels for the Bevy Engine in Blender"
maintainer = "kaosat-dev <https://github.com/kaosat-dev/>" maintainer = "kaosat-dev <https://github.com/kaosat-dev/>"

View File

@ -2,7 +2,7 @@ import os
import bpy import bpy
from bpy_types import (Operator) from bpy_types import (Operator)
from bpy.props import (StringProperty) from bpy.props import (StringProperty)
from blenvy.core.helpers_collections import set_active_collection from ..core.helpers_collections import set_active_collection
class BLENVY_OT_blueprint_select(Operator): class BLENVY_OT_blueprint_select(Operator):
"""Select blueprint """ """Select blueprint """

View File

@ -3,9 +3,8 @@ import bpy
from bpy_types import (PropertyGroup) from bpy_types import (PropertyGroup)
from bpy.props import (BoolProperty, EnumProperty, PointerProperty, StringProperty, CollectionProperty, IntProperty) from bpy.props import (BoolProperty, EnumProperty, PointerProperty, StringProperty, CollectionProperty, IntProperty)
from ..settings import upsert_settings, load_settings, generate_complete_settings_dict from ..settings import upsert_settings, load_settings, generate_complete_settings_dict
import blenvy.add_ons.auto_export.settings as auto_export_settings from ..add_ons.auto_export.settings import AutoExportSettings
import blenvy.add_ons.bevy_components.settings as component_settings from ..add_ons.bevy_components.settings import ComponentsSettings
# list of settings we do NOT want to save # list of settings we do NOT want to save
settings_black_list = ['settings_save_enabled', 'level_scene_selector', 'library_scene_selector'] settings_black_list = ['settings_save_enabled', 'level_scene_selector', 'library_scene_selector']
@ -127,8 +126,8 @@ class BlenvyManager(PropertyGroup):
) # type: ignore ) # type: ignore
# sub ones # sub ones
auto_export: PointerProperty(type=auto_export_settings.AutoExportSettings) # type: ignore auto_export: PointerProperty(type=AutoExportSettings) # type: ignore
components: PointerProperty(type=component_settings.ComponentsSettings) # type: ignore components: PointerProperty(type=ComponentsSettings) # type: ignore
level_scene_selector: PointerProperty(type=bpy.types.Scene, name="level scene", description="level scene picker", poll=is_scene_already_in_use, update=save_settings)# type: ignore level_scene_selector: PointerProperty(type=bpy.types.Scene, name="level scene", description="level scene picker", poll=is_scene_already_in_use, update=save_settings)# type: ignore
library_scene_selector: PointerProperty(type=bpy.types.Scene, name="library scene", description="library scene picker", poll=is_scene_already_in_use, update=save_settings)# type: ignore library_scene_selector: PointerProperty(type=bpy.types.Scene, name="library scene", description="library scene picker", poll=is_scene_already_in_use, update=save_settings)# type: ignore

View File

@ -1,7 +1,8 @@
import bpy import bpy
import blenvy.add_ons.bevy_components.ui as components_ui
import blenvy.add_ons.auto_export.ui as auto_export_ui
# from ...bevy_components.components import ui# as components_ui # from ...bevy_components.components import ui# as components_ui
from ...add_ons.bevy_components import ui as components_ui
from ...add_ons.auto_export import ui as auto_export_ui
###################################################### ######################################################
## ui logic & co ## ui logic & co