Skip to content

Initial Alpha release #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 108 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
c6e73bd
added in Create Hive Asset Library
zachEastin Jun 14, 2024
dca8e79
add in python wheel libraries for fuzzy search
zachEastin Jun 17, 2024
61651ec
NEW: Add Asset to Library function
zachEastin Jun 17, 2024
784c79a
blender_assets.cats.txt file class creation
zachEastin Jun 17, 2024
ab2fe20
added categories/subcategories
zachEastin Jun 17, 2024
49175ae
add categories/subcategories documentation
zachEastin Jun 17, 2024
33b1c95
NEW: Add SH Categories to Library
zachEastin Jun 17, 2024
8704953
NEW: Remove Empty Catalogs
zachEastin Jun 17, 2024
cd6f3f0
NEW: Export Library
zachEastin Jun 17, 2024
3688a15
CHANGE: Parallelize compression
zachEastin Jun 17, 2024
687f549
CHANGE: Add library selector to menu instead of search in panel
zachEastin Jun 17, 2024
a8f2982
refactor to use new custom library and asset classes
zachEastin Jun 20, 2024
e79ef55
change: let progress bar show decimal points
zachEastin Jun 20, 2024
e678e1e
fixes
zachEastin Jun 20, 2024
e7d5922
added in unified polls
zachEastin Jun 21, 2024
204866a
NEW: Update Asset (edit non-local asset metadata). No icons yet
zachEastin Jun 21, 2024
7b39ec7
better formatting of blender executable auto naming
zachEastin Jun 21, 2024
49ea415
set correct license info in preferences
zachEastin Jun 21, 2024
3cb9ec0
NEW: Mark object as asset and add to library function in 3D Viewport …
zachEastin Jun 21, 2024
d3a640d
NEW: Reset asset metadata
zachEastin Jun 21, 2024
06e807e
NEW: Batch Update Assets
zachEastin Jun 27, 2024
6e155ba
change: put batch metadata update in side panel too
zachEastin Jun 28, 2024
904fa3c
NEW: Add to Library from Outliner
zachEastin Jul 1, 2024
c2bc97e
reset scene batch update settings option
zachEastin Jul 1, 2024
9e12ea2
NEW: Icon Generation
zachEastin Jul 11, 2024
4dd60bb
creating new libraries will auto save them in the prefs even if auto …
zachEastin Jul 11, 2024
9cb317d
don't sync the ignore folder
zachEastin Jul 12, 2024
d4a8686
CHANGE: Add as Asset to Library - handle if asset will overwrite exis…
zachEastin Jul 12, 2024
b00268a
Add icon rendering/setting to Add as Asset to Library operators
zachEastin Jul 12, 2024
db090de
quick fixes to Add as Asset ops for multi object adding
zachEastin Jul 12, 2024
8f5b1b7
added ability to add selection as asset to library as a collection
zachEastin Jul 18, 2024
93560e2
add blend file packing to add to library
zachEastin Jul 18, 2024
e6073d8
fix for rendering assets with non-applied transforms
zachEastin Jul 18, 2024
d9ab419
change keep blend files as is to remove other objects and assets
zachEastin Jul 18, 2024
7e471a4
NEW: Remove Assets
zachEastin Jul 18, 2024
6b11a18
add progress bar to adding as assets to library
zachEastin Jul 18, 2024
2ccae51
fix for when adding as asset and chose not to replace thumbnail
zachEastin Jul 18, 2024
82abfda
fix unused catalog removal logic
zachEastin Jul 18, 2024
f0957a0
Change name to `Bkeeper`
zachEastin Jul 18, 2024
b317257
FIX: Ensure correct path when creating internal catalog path
zachEastin Jul 19, 2024
00045e8
fix: remap relative filepaths and compress blend file when saving in …
zachEastin Jul 19, 2024
a4a1aea
FIX: Ensure when moving files to remap their relative paths
zachEastin Jul 19, 2024
bcaf34b
CHANGE: Add progress bar to adding to library
zachEastin Jul 19, 2024
7f37d76
ensure purge of unused items when cleaning blend files
zachEastin Jul 19, 2024
01f9d57
Improve error handling and output in utils.py
zachEastin Jul 19, 2024
b053ac6
add option to pack files when moving blend file
zachEastin Jul 19, 2024
d94f7ed
CHANGE: Better exporting-progress bars, external files
zachEastin Jul 25, 2024
ea04169
CHANGE: Added zip file splitting by size
zachEastin Jul 25, 2024
21dab43
use panels instead of custom solution
zachEastin Jul 26, 2024
a37b796
better ui spacing for tags when adding as asset
zachEastin Jul 26, 2024
df887fa
don't track save versions in git (blend1, blend2, blend3, etc.)
zachEastin Jul 26, 2024
6e588d6
setup addon to be built by Blender
zachEastin Jul 26, 2024
01c8a4c
remove unused python wheels
zachEastin Jul 26, 2024
f91c0df
added validate command
zachEastin Jul 26, 2024
443ee85
update version to 0.0.2 to give to SH
zachEastin Jul 26, 2024
b05bce0
removal of invalid tag 'Asset Browser'
zachEastin Jul 26, 2024
197db63
added factory-startup argument to build command for faster building
zachEastin Aug 1, 2024
ccbb4f4
refactor: Update operator bl_idname for Superhive to Bkeeper
zachEastin Aug 1, 2024
09f0ebd
don't show super hive asset settings in file browser
zachEastin Aug 1, 2024
30957b4
support for more object types and black formatting
zachEastin Aug 8, 2024
6fbace3
remove unused imports causing errors
zachEastin Aug 8, 2024
5a73709
v0.0.3
zachEastin Aug 8, 2024
22f3e00
NEW: Import/Mark Assets in Directory
zachEastin Aug 8, 2024
fc7f919
remove unused files
zachEastin Aug 8, 2024
832ae8a
import organizing and auto-formatting
zachEastin Aug 8, 2024
f25b5c3
correct last name for Richard (sorry Richard)
zachEastin Aug 9, 2024
16daaaa
Remove "Superhive" label from creation of library to avoid confusing
zachEastin Aug 9, 2024
1130096
Add "Blender Verions" label in prefs
zachEastin Aug 9, 2024
446f8fa
don't show blend count in import from directory UI
zachEastin Aug 9, 2024
3b9f489
Refactor import_from_directory UI to use clearer labels and icons
zachEastin Aug 9, 2024
3187a2a
CHANGE: Larger width for Export Panel
zachEastin Aug 9, 2024
f382832
NEW: Add in quick start guide in prefs
zachEastin Aug 9, 2024
25db3de
CHANGE: Put save changes button in header
zachEastin Aug 9, 2024
d916ac1
CHANGE: Use "X" instead of "-->" for resetting metadata
zachEastin Aug 9, 2024
83f9693
CHANGE: Only show unsaved data when a single asset is selected
zachEastin Aug 9, 2024
72df777
CHANGE:Don't show side panel stuff when 0 assets are selected
zachEastin Aug 9, 2024
d35e812
CHANGE: Don't show asset update settings if active asset is local
zachEastin Aug 9, 2024
2333311
CHANGE: Allow for custom licenses and catalogs
zachEastin Aug 9, 2024
0ae4db2
capitalize K in BKeeper in addon name
zachEastin Aug 15, 2024
15a3798
Show docs instead of repository for the website
zachEastin Aug 15, 2024
131fd38
make K lowercase in addon name
zachEastin Aug 15, 2024
6228d7d
option to save out asset thumbnails
zachEastin Aug 15, 2024
ae8e31d
NEW: Export thumbnails with zip
zachEastin Aug 15, 2024
ed8b2f2
ruff formatting fixes
zachEastin Aug 15, 2024
ef1e8e1
add (formerly Blender Market) next to "Superhive" and code formatting
zachEastin Aug 15, 2024
3daa772
CHANGE: Superhive to Bkeeper in labels and menus
zachEastin Aug 15, 2024
1cf1f74
added ruff.toml
zachEastin Aug 15, 2024
1d0dd3d
code formatting again
zachEastin Aug 15, 2024
9579f7b
fix: import from dir: ensure cancel only runs if execute has run
zachEastin Aug 16, 2024
2a864e3
fix: import from dir: ensure cancel returns nothing
zachEastin Aug 16, 2024
7086308
CHANGE: Export with JSON file
zachEastin Aug 16, 2024
e565e1f
change: save relative thumbnail path in export json
zachEastin Aug 16, 2024
bb8fe72
fix: ensure nodetree thumbnails are correctly identified for saving p…
zachEastin Aug 16, 2024
3933d2b
ensure blend path is relative to zipfile in json
zachEastin Aug 16, 2024
34e58ee
CHANGE: Remove Asset from Library: remove asset data only option and …
zachEastin Aug 16, 2024
d42073b
fix: weird issues from accidental wrong branch commit issues
zachEastin Aug 16, 2024
33207f3
refactor: put sidepanel open in own function
zachEastin Aug 16, 2024
483f7b6
CHANGE: Move library funcitons into header menu
zachEastin Aug 16, 2024
adfb519
ensure middle mouse press is accepeted in all modals
zachEastin Aug 16, 2024
8b44b2a
CHANGE: Show remove assets progress bar in side panel
zachEastin Aug 16, 2024
a534084
CHANGE: Add to library as asset QOL updates
zachEastin Aug 16, 2024
3dc71ea
CHANGE/FIX: Ensure when adding an asset from one library to another t…
zachEastin Sep 12, 2024
e49b20a
NEW: Import from Non-Blend Files
zachEastin Sep 13, 2024
e324092
CHANGE: Update importers with all of blender importers' settings
zachEastin Sep 20, 2024
3b957e5
dev thing for colored tracebacks. won't affect user
zachEastin Sep 26, 2024
612140a
change: make importing obj, usd, fbx from directories show progress bars
zachEastin Sep 26, 2024
f65095c
move import from directory functions into sub menu
zachEastin Sep 26, 2024
02678a1
Update to v0.0.4
zachEastin Sep 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
__pycache__
.vscode/
__ignore__/
**.blend*
.ruff_cache/
wheels/download_wheels.py
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# superhive-blender-addon
An add-on for Blender to create, publish, and update assets for the Superhive market.
An add-on for Blender to create, publish, and update assets for the Superhive Market (formerly Blender Market).

This add-on is in active development by Autotroph and True VFX.
34 changes: 26 additions & 8 deletions __init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'''
Copyright (C) 2024 Zach Eastin, Richard Traynor, Superhive
"""
Copyright (C) 2024 Zach Eastin, Richard Traynor, Superhive (formerly Blender Market)

Created by Zach Eastin, Richard Traynor, Superhive
Created by Zach Eastin, Richard Traynor, Superhive (formerly Blender Market)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand All @@ -15,11 +15,25 @@

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
'''
"""

try:
import colored_traceback.auto # noqa F401

print("Colored traceback enabled")
except ImportError:
print("Colored traceback disabled")
pass

print()
print()
print(f"Loading {__package__.split('.')[-1].replace('_', ' ').title()}".center(80, '-'))
from . import ui, settings, ops, helpers
print(f"Loading {__package__.split('.')[-1].replace('_', ' ').title()}".center(80, "-"))
from . import handlers as handlers # noqa F402
from . import hive_mind as hive_mind # noqa F402
from . import icons as icons # noqa F402
from . import ops as ops # noqa F402
from . import settings as settings # noqa F402
from . import ui as ui # noqa F402


def _call_globals(attr_name):
Expand All @@ -32,11 +46,15 @@ def register():
print(f"Registering {__package__}")
_call_globals("register")

print(f"Finished Loading {__package__.split('.')[-1].replace('_', ' ').title()}".center(80, '-'))
print(
f"Finished Loading {__package__.split('.')[-1].replace('_', ' ').title()}".center(
80, "-"
)
)
print()
print()


def unregister():
print(f"Unregistering {__package__}")
_call_globals("unregister")
_call_globals("unregister")
49 changes: 32 additions & 17 deletions blender_manifest.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
schema_version = "1.0.0"
id = "superhive_creator_extension" # Unique identifier for the extension.
name = "Superhive Creator Extension"
version = "1.0.0"
tagline = "This is an extension for Superhive asset creators to aid in the creation and uploading of asset libraries"
maintainer = "Zach Eastin, Richard Trainer"
id = "bkeeper" # Unique identifier for the extension.
name = "Bkeeper"
version = "0.0.4"
tagline = "Aid in the creation and uploading of asset libraries"
maintainer = "Zach Eastin, Richard Traynor"
# Supported types: "add-on", "theme"
type = "add-on"

# Optional link to documentation, support, source files, etc
website = "https://github.com/CGCookie/superhive-blender-addon"
# website = "https://github.com/CGCookie/superhive-blender-addon"
website = "https://github.com/CGCookie/superhive-blender-addon/wiki"

# Optional list defined by Blender and server, see:
# https://docs.blender.org/manual/en/dev/advanced/extensions/tags.html
# tags = ["Asset Browser", "Development", "Pipeline"]
tags = ["Development", "Pipeline"]

blender_version_min = "4.2.0"
Expand All @@ -30,14 +32,12 @@ license = [
# ]

# Optional list of supported platforms. If omitted, the extension will be available in all operating systems.
# platforms = ["windows-x64", "macos-arm64", "linux-x64"]
# Other supported platforms: "windows-arm64", "macos-x64"
# platforms = ["windows-amd64", "macos-arm64", "linux-x86_64", "macos-x86_64"]
# Other supported platforms: "windows-arm64"

# Optional: bundle 3rd party Python modules.
# https://docs.blender.org/manual/en/dev/advanced/extensions/python_wheels.html
# wheels = [
# "./wheels/hexdump-3.3-py3-none-any.whl",
# "./wheels/jsmin-3.0.1-py3-none-any.whl",
# ]

## Optional: add-ons can list which resources they will require:
Expand All @@ -56,13 +56,28 @@ license = [
#
# clipboard = "Copy and paste bone transforms"
[permissions]
network = "Need to sync motion-capture data to server"
files = "Import/export FBX from/to disk"
network = "Need to gather data from the server and upload assets"
files = "Import/export files for library creation and upload"

# Optional: build setting.
# https://docs.blender.org/manual/en/dev/advanced/extensions/command_line_arguments.html#command-line-args-extension-build
# [build]
# paths_exclude_pattern = [
# "/.git/",
# "__pycache__/",
# ]
[build]
paths_exclude_pattern = [
"/.git/",
"/.github/",
"/.vscode/",
"/.ruff_cache/",
"/__ignore__/",
"__pycache__/",
".gitignore",
"ruff.toml",
"**.blend*",
"**.zip",
"/wheels/",
]

# Validate Command
# --factory-startup --command extension validate

# Build Command
# --factory-startup --command extension build --output-dir [path_to_parent_directory]/builds
21 changes: 21 additions & 0 deletions handlers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from typing import TYPE_CHECKING

import bpy

if TYPE_CHECKING:
from .settings import scene


def load_post(dummy):
scene_sets: "scene.SH_Scene" = bpy.context.scene.superhive
if len(scene_sets.metadata_update.metadata_items) != 4:
scene_sets.metadata_update.reset()


def register():
bpy.app.handlers.load_post.append(load_post)


def unregister():
if load_post in bpy.app.handlers.load_post:
bpy.app.handlers.load_post.remove(load_post)
1 change: 0 additions & 1 deletion helpers/__init__.py

This file was deleted.

79 changes: 0 additions & 79 deletions helpers/asset_helper.py

This file was deleted.

Loading