diff options
author | Julien Duroure <julien.duroure@gmail.com> | 2021-02-10 22:18:06 +0300 |
---|---|---|
committer | Julien Duroure <julien.duroure@gmail.com> | 2021-02-10 22:18:06 +0300 |
commit | e5a2d98c827b54052688c90113a12e5c661149c3 (patch) | |
tree | 9601ddb6bc451a1a96517a413be781e64ee650cc /blenderkit | |
parent | 4791208720cee54a76e92431a92bc81937d1f46a (diff) | |
parent | 3ce41afdfa56a9eef6934dc012e5621a74ebbb7b (diff) |
Merge branch 'blender-v2.92-release'
Diffstat (limited to 'blenderkit')
-rw-r--r-- | blenderkit/__init__.py | 16 | ||||
-rw-r--r-- | blenderkit/data/categories.json | 4569 | ||||
-rw-r--r-- | blenderkit/download.py | 24 | ||||
-rw-r--r-- | blenderkit/image_utils.py | 13 | ||||
-rw-r--r-- | blenderkit/ratings.py | 2 | ||||
-rw-r--r-- | blenderkit/search.py | 6 | ||||
-rw-r--r-- | blenderkit/ui.py | 28 | ||||
-rw-r--r-- | blenderkit/ui_panels.py | 58 | ||||
-rw-r--r-- | blenderkit/utils.py | 10 |
9 files changed, 3788 insertions, 938 deletions
diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py index 679c83e8..8fb99fba 100644 --- a/blenderkit/__init__.py +++ b/blenderkit/__init__.py @@ -1402,7 +1402,7 @@ class BlenderKitModelSearchProps(PropertyGroup, BlenderKitCommonSearchProps): ), description="Appended objects are editable in your scene. Linked assets are saved in original files, " "aren't editable but also don't increase your file size", - default="LINK_COLLECTION" + default="APPEND_OBJECTS" ) append_link: EnumProperty( name="How to Attach", @@ -1498,7 +1498,19 @@ class BlenderKitSceneSearchProps(PropertyGroup, BlenderKitCommonSearchProps): default="", update=search.search_update ) - + append_link: EnumProperty( + name="Append or link", + items=( + ('LINK', 'Link', ''), + ('APPEND', 'Append', ''), + ), + description="choose if the scene will be linked or appended", + default="APPEND" + ) + switch_after_append: BoolProperty( + name = 'Switch to scene after download', + default = False + ) def fix_subdir(self, context): '''Fixes project subdicrectory settings if people input invalid path.''' diff --git a/blenderkit/data/categories.json b/blenderkit/data/categories.json index 8bf6c85c..58889a96 100644 --- a/blenderkit/data/categories.json +++ b/blenderkit/data/categories.json @@ -180,8 +180,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 2, - "assetCountCumulative": 2 + "assetCount": 4, + "assetCountCumulative": 4 }, { "name": "human", @@ -248,8 +248,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 7, - "assetCountCumulative": 7 + "assetCount": 9, + "assetCountCumulative": 9 }, { "name": "nature", @@ -405,8 +405,8 @@ "assetCountCumulative": 0 } ], - "assetCount": 104, - "assetCountCumulative": 104 + "assetCount": 108, + "assetCountCumulative": 108 }, { "name": "HDR", @@ -435,9 +435,61 @@ "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "children": [ + { + "name": "Industrial", + "slug": "hdr-industrial", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Industrial", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 2, + "assetCountCumulative": 2 + }, + { + "name": "Residential", + "slug": "residential", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Residential", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Studio", + "slug": "hdr-studio", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Studio", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 5, + "assetCountCumulative": 5 + } + ], + "assetCount": 8, + "assetCountCumulative": 8 }, { "name": "Outdoor", @@ -452,13 +504,48 @@ "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], + "children": [ + { + "name": "Nature", + "slug": "hdr-nature", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Nature", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Urban", + "slug": "hdr-urban", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Urban", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], "assetCount": 0, "assetCountCumulative": 0 } ], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 9, + "assetCountCumulative": 9 }, { "name": "material", @@ -488,8 +575,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 24, - "assetCountCumulative": 24 + "assetCount": 25, + "assetCountCumulative": 25 }, { "name": "asphalt", @@ -505,8 +592,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 45, - "assetCountCumulative": 45 + "assetCount": 49, + "assetCountCumulative": 49 }, { "name": "bricks", @@ -522,8 +609,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 106, - "assetCountCumulative": 106 + "assetCount": 109, + "assetCountCumulative": 109 }, { "name": "ceramic", @@ -556,8 +643,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 89, - "assetCountCumulative": 89 + "assetCount": 91, + "assetCountCumulative": 91 }, { "name": "dirt", @@ -590,8 +677,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 192, - "assetCountCumulative": 192 + "assetCount": 201, + "assetCountCumulative": 201 }, { "name": "floor", @@ -607,8 +694,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 68, - "assetCountCumulative": 68 + "assetCount": 73, + "assetCountCumulative": 73 }, { "name": "food", @@ -624,8 +711,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 35, - "assetCountCumulative": 35 + "assetCount": 37, + "assetCountCumulative": 37 }, { "name": "fx", @@ -641,8 +728,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 28, - "assetCountCumulative": 28 + "assetCount": 36, + "assetCountCumulative": 36 }, { "name": "glass", @@ -658,8 +745,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 50, - "assetCountCumulative": 50 + "assetCount": 51, + "assetCountCumulative": 51 }, { "name": "grass", @@ -675,8 +762,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 4, - "assetCountCumulative": 4 + "assetCount": 7, + "assetCountCumulative": 7 }, { "name": "ground", @@ -692,8 +779,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 96, - "assetCountCumulative": 96 + "assetCount": 102, + "assetCountCumulative": 102 }, { "name": "human", @@ -743,8 +830,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 53, - "assetCountCumulative": 53 + "assetCount": 56, + "assetCountCumulative": 56 }, { "name": "liquid", @@ -760,8 +847,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 10, - "assetCountCumulative": 10 + "assetCount": 11, + "assetCountCumulative": 11 }, { "name": "marble", @@ -777,8 +864,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 3, + "assetCountCumulative": 3 }, { "name": "metal", @@ -794,8 +881,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 214, - "assetCountCumulative": 214 + "assetCount": 240, + "assetCountCumulative": 240 }, { "name": "organic", @@ -828,8 +915,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 14, - "assetCountCumulative": 14 + "assetCount": 20, + "assetCountCumulative": 20 }, { "name": "paper", @@ -845,8 +932,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 41, - "assetCountCumulative": 41 + "assetCount": 44, + "assetCountCumulative": 44 }, { "name": "paving", @@ -862,8 +949,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 39, - "assetCountCumulative": 39 + "assetCount": 48, + "assetCountCumulative": 48 }, { "name": "plaster", @@ -879,8 +966,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 53, - "assetCountCumulative": 53 + "assetCount": 59, + "assetCountCumulative": 59 }, { "name": "plastic", @@ -896,8 +983,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 41, - "assetCountCumulative": 41 + "assetCount": 42, + "assetCountCumulative": 42 }, { "name": "rock", @@ -930,8 +1017,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 16, - "assetCountCumulative": 16 + "assetCount": 21, + "assetCountCumulative": 21 }, { "name": "rubber", @@ -1015,8 +1102,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 136, - "assetCountCumulative": 136 + "assetCount": 142, + "assetCountCumulative": 142 }, { "name": "tech", @@ -1049,8 +1136,8 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 118, - "assetCountCumulative": 118 + "assetCount": 119, + "assetCountCumulative": 119 }, { "name": "wood", @@ -1066,12 +1153,12 @@ "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 193, - "assetCountCumulative": 193 + "assetCount": 218, + "assetCountCumulative": 218 } ], - "assetCount": 1939, - "assetCountCumulative": 1939 + "assetCount": 2078, + "assetCountCumulative": 2078 }, { "name": "model", @@ -1088,96 +1175,319 @@ "metaExtra": "", "children": [ { - "name": "aircraft", - "slug": "aircraft", + "name": "Architecture", + "slug": "architecture", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "aircraft", + "alternateTitle": "Architecture", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [ { - "name": "commercial", - "slug": "commercial", + "name": "Building", + "slug": "building", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "commercial", + "alternateTitle": "Building", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 10, - "assetCountCumulative": 10 + "children": [ + { + "name": "Commercial", + "slug": "public", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Commercial", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 6, + "assetCountCumulative": 6 + }, + { + "name": "Historic", + "slug": "historic", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Historic", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 5, + "assetCountCumulative": 5 + }, + { + "name": "Other", + "slug": "stadium", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Other", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 4, + "assetCountCumulative": 4 + }, + { + "name": "Private", + "slug": "house", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Private", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 16, + "assetCountCumulative": 16 + }, + { + "name": "Sci-fi", + "slug": "sci-fi", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Sci-fi", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], + "assetCount": 32, + "assetCountCumulative": 32 }, { - "name": "helicopter", - "slug": "helicopter", + "name": "Door", + "slug": "door", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "helicopter", + "alternateTitle": "Door", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 80, + "assetCountCumulative": 80 }, { - "name": "historic", - "slug": "historic-aircraft", + "name": "Exterior element", + "slug": "exterior", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "historic", + "alternateTitle": "Exterior element", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "children": [ + { + "name": "Bench", + "slug": "bench", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Bench", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 32, + "assetCountCumulative": 32 + }, + { + "name": "Facade element", + "slug": "facade-element", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Facade element", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 6, + "assetCountCumulative": 6 + }, + { + "name": "Fence", + "slug": "fence", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Fence", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 17, + "assetCountCumulative": 17 + }, + { + "name": "Fountain", + "slug": "fountain", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Fountain", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 2, + "assetCountCumulative": 2 + }, + { + "name": "Other", + "slug": "exterior-other", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Other", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 43, + "assetCountCumulative": 43 + }, + { + "name": "Playground", + "slug": "playground", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Playground", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 3, + "assetCountCumulative": 3 + }, + { + "name": "Swimming pool", + "slug": "swimming-pool", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Swimming pool", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 6, + "assetCountCumulative": 6 + }, + { + "name": "Urban Environment", + "slug": "cityspace", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Urban Environment", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 47, + "assetCountCumulative": 47 + } + ], + "assetCount": 156, + "assetCountCumulative": 156 }, { - "name": "jet", - "slug": "jet", + "name": "Floor Covering", + "slug": "floor-covering", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "jet", + "alternateTitle": "Floor Covering", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 3, + "assetCountCumulative": 3 }, { - "name": "part", - "slug": "part-aircraft", + "name": "Molding / Carving", + "slug": "molding-carving", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "part", + "alternateTitle": "Molding / Carving", "alternateUrl": "", "description": "", "metaKeywords": "", @@ -1187,306 +1497,837 @@ "assetCountCumulative": 0 }, { - "name": "private", - "slug": "private", + "name": "Other", + "slug": "elements", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "private", + "alternateTitle": "Other", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 - } - ], - "assetCount": 10, - "assetCountCumulative": 10 - }, - { - "name": "architecture", - "slug": "architecture", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "Architecture", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [ + "assetCount": 18, + "assetCountCumulative": 18 + }, { - "name": "elements", - "slug": "elements", + "name": "Scenes", + "slug": "landmark", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "elements", + "alternateTitle": "Scenes", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 225, - "assetCountCumulative": 225 - } - ], - "assetCount": 229, - "assetCountCumulative": 229 - }, - { - "name": "art", - "slug": "art", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "art", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [ + "assetCount": 1, + "assetCountCumulative": 1 + }, { - "name": "design", - "slug": "design", + "name": "Stairs", + "slug": "stairs", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "design", + "alternateTitle": "Stairs", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 6, - "assetCountCumulative": 6 + "assetCount": 4, + "assetCountCumulative": 4 }, { - "name": "drawing", - "slug": "drawing", + "name": "Structure", + "slug": "street", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "drawing", + "alternateTitle": "Structure", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 4, + "assetCountCumulative": 4 }, { - "name": "literature", - "slug": "literature", + "name": "Wall Panel", + "slug": "wall-panel", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "literature", + "alternateTitle": "Wall Panel", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 17, - "assetCountCumulative": 17 + "children": [ + { + "name": "3D Panel", + "slug": "3d-panel", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "3D Panel", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 2, + "assetCountCumulative": 2 + }, + { + "name": "Stone Panel", + "slug": "stone-panel", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Stone Panel", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 2, + "assetCountCumulative": 2 + }, + { + "name": "Upholstery Panel", + "slug": "upholstery-panel", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Upholstery Panel", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Wood Panel", + "slug": "wood-panel", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Wood Panel", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 3, + "assetCountCumulative": 3 + } + ], + "assetCount": 7, + "assetCountCumulative": 7 }, { - "name": "painting", - "slug": "painting", + "name": "Window", + "slug": "window", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "painting", + "alternateTitle": "Window", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 39, - "assetCountCumulative": 39 - }, + "assetCount": 33, + "assetCountCumulative": 33 + } + ], + "assetCount": 338, + "assetCountCumulative": 338 + }, + { + "name": "Character", + "slug": "character", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Character", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [ { - "name": "photo", - "slug": "photo", + "name": "Anatomy", + "slug": "anatomy", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "photo", + "alternateTitle": "Anatomy", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "children": [ + { + "name": "Full Body", + "slug": "full-body", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Full Body", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Head", + "slug": "head", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Head", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 8, + "assetCountCumulative": 8 + }, + { + "name": "Internal organ", + "slug": "internal-organ", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Internal organ", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 2, + "assetCountCumulative": 2 + }, + { + "name": "Limbs", + "slug": "limbs", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Limbs", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Musculature", + "slug": "musculature", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Musculature", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Skeleton", + "slug": "skeleton", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Skeleton", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 2, + "assetCountCumulative": 2 + } + ], + "assetCount": 13, + "assetCountCumulative": 13 }, { - "name": "sculpture", - "slug": "sculpture", + "name": "Animal", + "slug": "animal-nature", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "sculpture", + "alternateTitle": "Animal", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 25, - "assetCountCumulative": 25 + "children": [ + { + "name": "Bird", + "slug": "bird", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Bird", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Dinosaur", + "slug": "dinosaur", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Dinosaur", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Fish", + "slug": "fish", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Fish", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Insect", + "slug": "insect", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Insect", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 4, + "assetCountCumulative": 4 + }, + { + "name": "Mammal", + "slug": "mammal", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Mammal", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 6, + "assetCountCumulative": 6 + }, + { + "name": "Other", + "slug": "animal", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Other", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Reptile", + "slug": "reptile", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Reptile", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], + "assetCount": 11, + "assetCountCumulative": 11 }, { - "name": "supplies", - "slug": "supplies", + "name": "Clothing", + "slug": "clothing", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "supplies", + "alternateTitle": "Clothing", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 7, - "assetCountCumulative": 7 - } - ], - "assetCount": 95, - "assetCountCumulative": 95 - }, - { - "name": "character", - "slug": "character", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "character", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [ + "children": [ + { + "name": "Accessories", + "slug": "clothing-accessories", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Accessories", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 14, + "assetCountCumulative": 14 + }, + { + "name": "Footwear", + "slug": "footwear", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Footwear", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 13, + "assetCountCumulative": 13 + }, + { + "name": "Headwear", + "slug": "headwear", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Headwear", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 4, + "assetCountCumulative": 4 + }, + { + "name": "Lingerie", + "slug": "lingerie", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Lingerie", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Man Clothing", + "slug": "man-clothing", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Man Clothing", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 7, + "assetCountCumulative": 7 + }, + { + "name": "Woman Clothing", + "slug": "woman-clothing", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Woman Clothing", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 4, + "assetCountCumulative": 4 + } + ], + "assetCount": 42, + "assetCountCumulative": 42 + }, { - "name": "anatomy", - "slug": "anatomy", + "name": "Humanoids", + "slug": "people", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "anatomy", + "alternateTitle": "Humanoids", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 16, - "assetCountCumulative": 16 + "children": [ + { + "name": "Child", + "slug": "child", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Child", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Fantasy Hero", + "slug": "fantasy", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Fantasy Hero", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 13, + "assetCountCumulative": 13 + }, + { + "name": "Medical", + "slug": "humanoids-medical", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Medical", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Men", + "slug": "man", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Men", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 17, + "assetCountCumulative": 17 + }, + { + "name": "Military", + "slug": "humanoids-military", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Military", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Police", + "slug": "police", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Police", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Sci-Fi", + "slug": "sci-fi-character", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Sci-Fi", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Sports", + "slug": "humanoids-sports", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Sports", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Women", + "slug": "woman", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Women", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 15, + "assetCountCumulative": 15 + } + ], + "assetCount": 46, + "assetCountCumulative": 46 }, { - "name": "child", - "slug": "child", + "name": "Monster / Creature", + "slug": "monster-creature", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "child", + "alternateTitle": "Monster / Creature", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 1, + "assetCountCumulative": 1 }, { - "name": "clothing", - "slug": "clothing", + "name": "Robot", + "slug": "robot", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "clothing", + "alternateTitle": "Robot", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 18, - "assetCountCumulative": 18 - }, + "assetCount": 3, + "assetCountCumulative": 3 + } + ], + "assetCount": 116, + "assetCountCumulative": 116 + }, + { + "name": "Decoration", + "slug": "decoration", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Decoration", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [ { - "name": "fantasy", - "slug": "fantasy", + "name": "Bag / Suitcase", + "slug": "bag-case", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "fantasy", + "alternateTitle": "Bag / Suitcase", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 10, - "assetCountCumulative": 10 + "assetCount": 16, + "assetCountCumulative": 16 }, { - "name": "man", - "slug": "man", + "name": "Bed sheet", + "slug": "bed-sheet", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "man", + "alternateTitle": "Bed sheet", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 18, - "assetCountCumulative": 18 + "assetCount": 0, + "assetCountCumulative": 0 }, { - "name": "people", - "slug": "people", + "name": "Blanket", + "slug": "blanket", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "people", + "alternateTitle": "Blanket", "alternateUrl": "", "description": "", "metaKeywords": "", @@ -1496,117 +2337,99 @@ "assetCountCumulative": 0 }, { - "name": "sci-fi", - "slug": "sci-fi-character", + "name": "Book", + "slug": "literature", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "sci-fi", + "alternateTitle": "Book", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 26, + "assetCountCumulative": 26 }, { - "name": "woman", - "slug": "woman", + "name": "Carpet", + "slug": "carpet", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "woman", + "alternateTitle": "Carpet", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 8, - "assetCountCumulative": 8 - } - ], - "assetCount": 71, - "assetCountCumulative": 71 - }, - { - "name": "exterior", - "slug": "exterior", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "exterior", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [ + "assetCount": 22, + "assetCountCumulative": 22 + }, { - "name": "building", - "slug": "building", + "name": "Clock / Watch", + "slug": "design", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "building", + "alternateTitle": "Clock / Watch", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 31, - "assetCountCumulative": 31 + "assetCount": 28, + "assetCountCumulative": 28 }, { - "name": "cityspace", - "slug": "cityspace", + "name": "Curtain", + "slug": "curtain", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "cityspace", + "alternateTitle": "Curtain", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 30, - "assetCountCumulative": 30 + "assetCount": 13, + "assetCountCumulative": 13 }, { - "name": "historic", - "slug": "historic", + "name": "Decoration Set", + "slug": "photo", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "historic", + "alternateTitle": "Decoration Set", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 7, + "assetCountCumulative": 7 }, { - "name": "house", - "slug": "house", + "name": "Fabrics", + "slug": "fabrics", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "house", + "alternateTitle": "Fabrics", "alternateUrl": "", "description": "", "metaKeywords": "", @@ -1616,801 +2439,1608 @@ "assetCountCumulative": 0 }, { - "name": "industrial", - "slug": "industrial-exterior", + "name": "Fireplace", + "slug": "fireplace", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "industrial", + "alternateTitle": "Fireplace", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 15, + "assetCountCumulative": 15 }, { - "name": "landmark", - "slug": "landmark", + "name": "Food / Drinks", + "slug": "food-drink", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "landmark", + "alternateTitle": "Food / Drinks", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "children": [ + { + "name": "Beverage", + "slug": "drink", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Beverage", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 54, + "assetCountCumulative": 54 + }, + { + "name": "Food", + "slug": "food", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Food", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 50, + "assetCountCumulative": 50 + }, + { + "name": "Fruit / Vegetable", + "slug": "fruitvegetable", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Fruit/Vegetable", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 21, + "assetCountCumulative": 21 + }, + { + "name": "Kitchenware", + "slug": "container", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Kitchenware", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 123, + "assetCountCumulative": 123 + }, + { + "name": "Other", + "slug": "drugs", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Other", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 7, + "assetCountCumulative": 7 + }, + { + "name": "Sweets / Dessert", + "slug": "sweetsdessert", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Sweets/Dessert", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 19, + "assetCountCumulative": 19 + }, + { + "name": "Tableware set", + "slug": "tableware-set", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Tableware set", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 150, + "assetCountCumulative": 150 + } + ], + "assetCount": 424, + "assetCountCumulative": 424 }, { - "name": "landscape", - "slug": "landscape", + "name": "Holiday Decoration", + "slug": "supplies", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "landscape", + "alternateTitle": "Holiday Decoration", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 43, - "assetCountCumulative": 43 + "assetCount": 26, + "assetCountCumulative": 26 }, { - "name": "public", - "slug": "public", + "name": "Mirror", + "slug": "mirror", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "public", + "alternateTitle": "Mirror", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 22, - "assetCountCumulative": 22 + "assetCount": 30, + "assetCountCumulative": 30 }, { - "name": "sci-fi", - "slug": "sci-fi", + "name": "Miscellaneous", + "slug": "art", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "sci-fi", + "alternateTitle": "Miscellaneous", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 127, + "assetCountCumulative": 127 }, { - "name": "stadium", - "slug": "stadium", + "name": "Money", + "slug": "money", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "stadium", + "alternateTitle": "Money", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 4, + "assetCountCumulative": 4 }, { - "name": "street", - "slug": "street", + "name": "Other textile", + "slug": "other-textile", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "street", + "alternateTitle": "Other textile", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 45, - "assetCountCumulative": 45 - } - ], - "assetCount": 174, - "assetCountCumulative": 174 - }, - { - "name": "food & drink", - "slug": "food-drink", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "food & drink", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [ + "assetCount": 0, + "assetCountCumulative": 0 + }, { - "name": "container", - "slug": "container", + "name": "Picture", + "slug": "painting", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "container", + "alternateTitle": "Picture", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 99, - "assetCountCumulative": 99 + "assetCount": 107, + "assetCountCumulative": 107 }, { - "name": "drink", - "slug": "drink", + "name": "Pillow", + "slug": "pillow", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "drink", + "alternateTitle": "Pillow", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 83, - "assetCountCumulative": 83 + "assetCount": 47, + "assetCountCumulative": 47 }, { - "name": "drugs", - "slug": "drugs", + "name": "Sculpture", + "slug": "sculpture", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "drugs", + "alternateTitle": "Sculpture", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 7, - "assetCountCumulative": 7 + "assetCount": 49, + "assetCountCumulative": 49 }, { - "name": "food", - "slug": "food", + "name": "Vase", + "slug": "drawing", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "food", + "alternateTitle": "Vase", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 73, - "assetCountCumulative": 73 + "assetCount": 49, + "assetCountCumulative": 49 } ], - "assetCount": 269, - "assetCountCumulative": 269 + "assetCount": 995, + "assetCountCumulative": 995 }, { - "name": "furniture", - "slug": "furniture", + "name": "Industrial", + "slug": "industrial", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "furniture", + "alternateTitle": "Industrial", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [ { - "name": "bed", - "slug": "bed", + "name": "Container", + "slug": "container-industrial", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "bed", + "alternateTitle": "Container", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 36, - "assetCountCumulative": 36 + "assetCount": 59, + "assetCountCumulative": 59 }, { - "name": "carpet", - "slug": "carpet", + "name": "Equipment", + "slug": "utility-industrial", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "carpet", + "alternateTitle": "Equipment", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 13, - "assetCountCumulative": 13 + "assetCount": 10, + "assetCountCumulative": 10 }, { - "name": "desk", - "slug": "desk", + "name": "Machinery", + "slug": "machine", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "desk", + "alternateTitle": "Machinery", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 27, - "assetCountCumulative": 27 + "assetCount": 16, + "assetCountCumulative": 16 }, { - "name": "fireplace", - "slug": "fireplace", + "name": "Other", + "slug": "agriculture", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "fireplace", + "alternateTitle": "Other", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 8, - "assetCountCumulative": 8 + "assetCount": 16, + "assetCountCumulative": 16 }, { - "name": "lighting", - "slug": "lighting", + "name": "Parts", + "slug": "construction", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "lighting", + "alternateTitle": "Parts", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 143, - "assetCountCumulative": 143 + "assetCount": 45, + "assetCountCumulative": 45 }, { - "name": "seating", - "slug": "seating", + "name": "Sign", + "slug": "communication", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "seating", + "alternateTitle": "Sign", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 276, - "assetCountCumulative": 276 + "assetCount": 30, + "assetCountCumulative": 30 }, { - "name": "shelving", - "slug": "shelving", + "name": "Tools", + "slug": "tool", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Tools", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [ + { + "name": "Handtools", + "slug": "handtools", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Handtools", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 22, + "assetCountCumulative": 22 + }, + { + "name": "Powertools", + "slug": "powertools", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Powertools", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 13, + "assetCountCumulative": 13 + } + ], + "assetCount": 35, + "assetCountCumulative": 35 + } + ], + "assetCount": 211, + "assetCountCumulative": 211 + }, + { + "name": "Interior", + "slug": "interior", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Interior", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [ + { + "name": "Armchair", + "slug": "furniture", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "shelving", + "alternateTitle": "Armchair", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 65, - "assetCountCumulative": 65 + "assetCount": 119, + "assetCountCumulative": 119 }, { - "name": "sofa", - "slug": "sofa", + "name": "Bathroom furniture", + "slug": "bathroom", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "sofa", + "alternateTitle": "Bathroom furniture", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 101, - "assetCountCumulative": 101 + "children": [ + { + "name": "Accessories", + "slug": "utility", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Accessories", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 59, + "assetCountCumulative": 59 + }, + { + "name": "Bathhub", + "slug": "bathhub", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Bathhub", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 11, + "assetCountCumulative": 11 + }, + { + "name": "Faucet", + "slug": "bathroomfurniture-faucet", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Faucet", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 7, + "assetCountCumulative": 7 + }, + { + "name": "Furniture Set", + "slug": "bathroomfurniture-furniture-set", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Furniture Set", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 11, + "assetCountCumulative": 11 + }, + { + "name": "Laundry", + "slug": "laundry", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Laundry", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 8, + "assetCountCumulative": 8 + }, + { + "name": "Shower", + "slug": "shower", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Shower", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 17, + "assetCountCumulative": 17 + }, + { + "name": "Toilet / Bidet", + "slug": "toilet-bidet", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Toilet / Bidet", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 12, + "assetCountCumulative": 12 + }, + { + "name": "Towel rail", + "slug": "towel-rail", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Towel rail", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 9, + "assetCountCumulative": 9 + }, + { + "name": "Wash Basin", + "slug": "wash-basin", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Wash Basin", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 15, + "assetCountCumulative": 15 + } + ], + "assetCount": 150, + "assetCountCumulative": 150 }, { - "name": "storage", - "slug": "storage", + "name": "Bed", + "slug": "bed", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "storage", + "alternateTitle": "Bed", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 102, - "assetCountCumulative": 102 + "assetCount": 40, + "assetCountCumulative": 40 }, { - "name": "table", - "slug": "table", + "name": "Cabinets", + "slug": "cabinets", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "table", + "alternateTitle": "Cabinets", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 184, - "assetCountCumulative": 184 - } - ], - "assetCount": 955, - "assetCountCumulative": 955 - }, - { - "name": "industrial", - "slug": "industrial", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "industrial", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [ + "children": [ + { + "name": "Bookcase", + "slug": "bookcase", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Bookcase", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Commode", + "slug": "commode", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Commode", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 10, + "assetCountCumulative": 10 + }, + { + "name": "Shelving", + "slug": "shelving", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Shelving", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 93, + "assetCountCumulative": 93 + }, + { + "name": "TV Cabinets", + "slug": "tv-cabinets", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "TV Cabinets", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], + "assetCount": 103, + "assetCountCumulative": 103 + }, { - "name": "agriculture", - "slug": "agriculture", + "name": "Chair", + "slug": "chair", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "agriculture", + "alternateTitle": "Chair", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "children": [ + { + "name": "Bar Chair", + "slug": "bar-chair", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Bar Chair", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 39, + "assetCountCumulative": 39 + }, + { + "name": "Regular Chair", + "slug": "regular-chair", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Regular Chair", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 180, + "assetCountCumulative": 180 + } + ], + "assetCount": 224, + "assetCountCumulative": 224 }, { - "name": "communication", - "slug": "communication", + "name": "Console", + "slug": "bedroom", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "communication", + "alternateTitle": "Console", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 19, + "assetCountCumulative": 19 }, { - "name": "construction", - "slug": "construction", + "name": "Dressing Table", + "slug": "living-room", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "construction", + "alternateTitle": "Dressing Table", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 3, + "assetCountCumulative": 3 }, { - "name": "container", - "slug": "container-industrial", + "name": "Kids furniture", + "slug": "kids-room", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "container", + "alternateTitle": "Kids furniture", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 66, - "assetCountCumulative": 66 + "children": [ + { + "name": "Bed", + "slug": "kidsfurniture-bed", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Bed", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 8, + "assetCountCumulative": 8 + }, + { + "name": "Chair", + "slug": "kidsfurniture-chair", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Chair", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 2, + "assetCountCumulative": 2 + }, + { + "name": "Furniture Set", + "slug": "furniture-set", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Furniture Set", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 7, + "assetCountCumulative": 7 + }, + { + "name": "Miscellaneous", + "slug": "miscellaneous", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Miscellaneous", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 12, + "assetCountCumulative": 12 + }, + { + "name": "Table", + "slug": "tablechair", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Table", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Toy", + "slug": "toy", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Toy", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 30, + "assetCountCumulative": 30 + }, + { + "name": "Wardrobe", + "slug": "kidsfurniture-wardrobe", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Wardrobe", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 2, + "assetCountCumulative": 2 + } + ], + "assetCount": 61, + "assetCountCumulative": 61 }, { - "name": "machine", - "slug": "machine", + "name": "Kitchen Furniture", + "slug": "kitchen", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "machine", + "alternateTitle": "Kitchen Furniture", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 18, - "assetCountCumulative": 18 + "children": [ + { + "name": "Faucet", + "slug": "faucet", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Faucet", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 25, + "assetCountCumulative": 25 + }, + { + "name": "Kitchen Appliance", + "slug": "kitchen-appliance", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Kitchen Appliance", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 91, + "assetCountCumulative": 91 + }, + { + "name": "Kitchen Set", + "slug": "kitchen-set", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Kitchen Set", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 8, + "assetCountCumulative": 8 + }, + { + "name": "Sink", + "slug": "sink", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Sink", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 19, + "assetCountCumulative": 19 + }, + { + "name": "Storage", + "slug": "storage", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Storage", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 102, + "assetCountCumulative": 102 + } + ], + "assetCount": 247, + "assetCountCumulative": 247 }, { - "name": "tool", - "slug": "tool", + "name": "Lights", + "slug": "lighting", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "tool", + "alternateTitle": "Lights", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 62, - "assetCountCumulative": 62 + "children": [ + { + "name": "Ceiling Light", + "slug": "ceiling-light", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Ceiling Light", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 102, + "assetCountCumulative": 102 + }, + { + "name": "Floor Lamp", + "slug": "floor-lamp", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Floor Lamp", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 34, + "assetCountCumulative": 34 + }, + { + "name": "IES Light", + "slug": "ies-light", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "IES Light", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Industrial Light", + "slug": "industrial-light", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Industrial Light", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 14, + "assetCountCumulative": 14 + }, + { + "name": "Outdoor Light", + "slug": "outdoor-light", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Outdoor Light", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 30, + "assetCountCumulative": 30 + }, + { + "name": "Table Lamp", + "slug": "table-lamps", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Table Lamp", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 68, + "assetCountCumulative": 68 + }, + { + "name": "Wall Light", + "slug": "wall-light", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Wall Light", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 26, + "assetCountCumulative": 26 + } + ], + "assetCount": 277, + "assetCountCumulative": 277 }, { - "name": "utility", - "slug": "utility-industrial", + "name": "Office Furniture", + "slug": "office", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "part", + "alternateTitle": "Office Furniture", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 - } - ], - "assetCount": 157, - "assetCountCumulative": 157 - }, - { - "name": "interior", - "slug": "interior", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "interior", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [ + "children": [ + { + "name": "Chair", + "slug": "office-chair", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Chair", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 15, + "assetCountCumulative": 15 + }, + { + "name": "Desk", + "slug": "desk", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Desk", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 44, + "assetCountCumulative": 44 + }, + { + "name": "Stationery", + "slug": "stationery", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Stationery", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 25, + "assetCountCumulative": 25 + }, + { + "name": "Storage", + "slug": "office-storage", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Storage", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 12, + "assetCountCumulative": 12 + }, + { + "name": "Table", + "slug": "office-table", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Table", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], + "assetCount": 96, + "assetCountCumulative": 96 + }, { - "name": "bathroom", - "slug": "bathroom", + "name": "Outdoor Furniture", + "slug": "outdoor-furniture", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "bathroom", + "alternateTitle": "Outdoor Furniture", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 133, - "assetCountCumulative": 133 + "assetCount": 15, + "assetCountCumulative": 15 }, { - "name": "bedroom", - "slug": "bedroom", + "name": "Pouf", + "slug": "pouf", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "bedroom", + "alternateTitle": "Pouf", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 83, - "assetCountCumulative": 83 + "assetCount": 29, + "assetCountCumulative": 29 }, { - "name": "decoration", - "slug": "decoration", + "name": "Restaurant / Bar", + "slug": "restaurant-bar", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "decoration", + "alternateTitle": "Restaurant / Bar", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 385, - "assetCountCumulative": 385 + "assetCount": 4, + "assetCountCumulative": 4 }, { - "name": "hall", - "slug": "hall", + "name": "Seating Set", + "slug": "seating", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "hall", + "alternateTitle": "Seating Set", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 12, - "assetCountCumulative": 12 + "children": [ + { + "name": "Chair-table Set", + "slug": "chair-table-set", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Chair-table Set", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 7, + "assetCountCumulative": 7 + }, + { + "name": "Sofa-table Set", + "slug": "sofa-table-set", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Sofa-table Set", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], + "assetCount": 19, + "assetCountCumulative": 19 }, { - "name": "kids room", - "slug": "kids-room", + "name": "Shopping / Retail", + "slug": "shopping-retail", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "kids room", + "alternateTitle": "Shopping / Retail", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 47, - "assetCountCumulative": 47 + "assetCount": 1, + "assetCountCumulative": 1 }, { - "name": "kitchen", - "slug": "kitchen", + "name": "Sideboard / Drawers Chest", + "slug": "hall", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "kitchen", + "alternateTitle": "Sideboard / Drawers Chest", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 258, - "assetCountCumulative": 258 + "assetCount": 54, + "assetCountCumulative": 54 }, { - "name": "living room", - "slug": "living-room", + "name": "Sofa", + "slug": "sofa", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "living room", + "alternateTitle": "Sofa", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 170, - "assetCountCumulative": 170 + "assetCount": 149, + "assetCountCumulative": 149 }, { - "name": "office", - "slug": "office", + "name": "Table", + "slug": "table", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "office", + "alternateTitle": "Table", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 60, - "assetCountCumulative": 60 + "assetCount": 246, + "assetCountCumulative": 246 }, { - "name": "utility", - "slug": "utility", + "name": "Wardrobe", + "slug": "wardrobe", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "part", + "alternateTitle": "Wardrobe", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 150, - "assetCountCumulative": 150 + "assetCount": 10, + "assetCountCumulative": 10 } ], - "assetCount": 1299, - "assetCountCumulative": 1299 + "assetCount": 1866, + "assetCountCumulative": 1866 }, { - "name": "military", + "name": "Military", "slug": "military", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "military", + "alternateTitle": "Military", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [ { - "name": "air", + "name": "Aircraft", "slug": "air", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "air", + "alternateTitle": "Aircraft", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 2, - "assetCountCumulative": 2 - }, - { - "name": "equipment", - "slug": "equipment", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "equipment", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [], - "assetCount": 5, - "assetCountCumulative": 5 + "assetCount": 1, + "assetCountCumulative": 1 }, { - "name": "ground", + "name": "Vehicles", "slug": "ground", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "ground", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 - }, - { - "name": "historic", - "slug": "historic-military", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "historic", + "alternateTitle": "Vehicles", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 9, - "assetCountCumulative": 9 + "assetCount": 1, + "assetCountCumulative": 1 }, { - "name": "naval", + "name": "Watercraft", "slug": "naval", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "naval", + "alternateTitle": "Watercraft", "alternateUrl": "", "description": "", "metaKeywords": "", @@ -2420,135 +4050,377 @@ "assetCountCumulative": 0 }, { - "name": "weapon", + "name": "Weapon / Armor", "slug": "weapon", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "weapon", + "alternateTitle": "Weapon / Armor", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 44, - "assetCountCumulative": 44 + "children": [ + { + "name": "Historic", + "slug": "historic-military", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Historic", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 36, + "assetCountCumulative": 36 + }, + { + "name": "Modern", + "slug": "equipment", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Modern", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 22, + "assetCountCumulative": 22 + }, + { + "name": "Sci-Fi", + "slug": "military-sci-fi", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Sci-Fi", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 13, + "assetCountCumulative": 13 + } + ], + "assetCount": 72, + "assetCountCumulative": 72 } ], - "assetCount": 64, - "assetCountCumulative": 64 + "assetCount": 74, + "assetCountCumulative": 74 }, { - "name": "music", - "slug": "music", + "name": "Nature", + "slug": "nature", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "music", + "alternateTitle": "Nature", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [ { - "name": "accessories", - "slug": "accessories", + "name": "Atmosphere", + "slug": "atmosphere", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "accessories", + "alternateTitle": "Atmosphere", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 22, - "assetCountCumulative": 22 + "children": [ + { + "name": "Cloud", + "slug": "weather", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Cloud", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Fog", + "slug": "fog", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Fog", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Smoke / Fire", + "slug": "smoke-fire", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Smoke / Fire", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Wind Setup", + "slug": "wind-setup", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Wind Setup", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], + "assetCount": 1, + "assetCountCumulative": 1 }, { - "name": "instruments", - "slug": "instruments", + "name": "Grass", + "slug": "nature-grass", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "instruments", + "alternateTitle": "Grass", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 5, - "assetCountCumulative": 5 + "assetCount": 7, + "assetCountCumulative": 7 }, { - "name": "stage", - "slug": "stage", + "name": "Landscape", + "slug": "landscape-nature", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "stage", + "alternateTitle": "Landscape", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "children": [ + { + "name": "Environment Elements", + "slug": "environment-elements", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Environment Elements", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 76, + "assetCountCumulative": 76 + }, + { + "name": "Terrain", + "slug": "landscape", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Terrain", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 14, + "assetCountCumulative": 14 + } + ], + "assetCount": 90, + "assetCountCumulative": 90 }, { - "name": "studio", - "slug": "studio", + "name": "Plant", + "slug": "plant", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "studio", + "alternateTitle": "Plant", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [ + { + "name": "Bouquet", + "slug": "bouquet", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Bouquet", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 8, + "assetCountCumulative": 8 + }, + { + "name": "Fitowall", + "slug": "fitowall", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Fitowall", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 3, + "assetCountCumulative": 3 + }, + { + "name": "Indoor", + "slug": "nature-indoor", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Indoor", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 58, + "assetCountCumulative": 58 + }, + { + "name": "Outdoor", + "slug": "nature-outdoor", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Outdoor", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 56, + "assetCountCumulative": 56 + } + ], + "assetCount": 125, + "assetCountCumulative": 125 + }, + { + "name": "Tree", + "slug": "tree", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Tree", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 129, + "assetCountCumulative": 129 } ], - "assetCount": 27, - "assetCountCumulative": 27 + "assetCount": 352, + "assetCountCumulative": 352 }, { - "name": "nature", - "slug": "nature", + "name": "Science", + "slug": "science", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "nature", + "alternateTitle": "Science", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [ { - "name": "animal", - "slug": "animal-nature", + "name": "Lab Equipment", + "slug": "medicine", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "animal", + "alternateTitle": "Lab Equipment", "alternateUrl": "", "description": "", "metaKeywords": "", @@ -2558,203 +4430,203 @@ "assetCountCumulative": 11 }, { - "name": "atmosphere", - "slug": "atmosphere", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "atmosphere", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [], - "assetCount": 2, - "assetCountCumulative": 2 - }, - { - "name": "landscape", - "slug": "landscape-nature", + "name": "Medical Equipment", + "slug": "medical", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "landscape", + "alternateTitle": "Medical Equipment", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 47, - "assetCountCumulative": 47 + "assetCount": 6, + "assetCountCumulative": 6 }, { - "name": "plant", - "slug": "plant", + "name": "Microbiology", + "slug": "microbiology", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "plant", + "alternateTitle": "Microbiology", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 80, - "assetCountCumulative": 80 + "assetCount": 0, + "assetCountCumulative": 0 }, { - "name": "tree", - "slug": "tree", + "name": "Miscellaneous", + "slug": "science-miscellaneous", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "tree", + "alternateTitle": "Miscellaneous", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 109, - "assetCountCumulative": 109 + "assetCount": 16, + "assetCountCumulative": 16 }, { - "name": "weather", - "slug": "weather", + "name": "Pharmacy", + "slug": "pharmacy", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "weather", + "alternateTitle": "Pharmacy", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 3, + "assetCountCumulative": 3 } ], - "assetCount": 251, - "assetCountCumulative": 251 + "assetCount": 36, + "assetCountCumulative": 36 }, { - "name": "space", + "name": "Space", "slug": "space", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "space", + "alternateTitle": "Space", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [ { - "name": "astronomy", - "slug": "astronomy", + "name": "Miscellaneous", + "slug": "sci-fi-space", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "astronomy", + "alternateTitle": "Miscellaneous", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 5, + "assetCountCumulative": 5 }, { - "name": "planets", + "name": "Planet", "slug": "planets", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "planets", + "alternateTitle": "Planet", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 16, + "assetCountCumulative": 16 }, { - "name": "sci-fi", - "slug": "sci-fi-space", + "name": "Satellite", + "slug": "satellite", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "sci-fi", + "alternateTitle": "Satellite", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 1, + "assetCountCumulative": 1 }, { - "name": "spacecraft", + "name": "Spacecraft", "slug": "spacecraft", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "spacecraft", + "alternateTitle": "Spacecraft", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 9, + "assetCountCumulative": 9 + }, + { + "name": "Station", + "slug": "astronomy", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Station", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 21, - "assetCountCumulative": 21 + "assetCount": 0, + "assetCountCumulative": 0 } ], - "assetCount": 22, - "assetCountCumulative": 22 + "assetCount": 31, + "assetCountCumulative": 31 }, { - "name": "sports", + "name": "Sport / Hobby", "slug": "sports", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "sports", + "alternateTitle": "Sport / Hobby", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [ { - "name": "animal", - "slug": "animal", + "name": "Fishing", + "slug": "outdoor", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "animal", + "alternateTitle": "Fishing", "alternateUrl": "", "description": "", "metaKeywords": "", @@ -2764,219 +4636,494 @@ "assetCountCumulative": 0 }, { - "name": "exercise", - "slug": "exercise", + "name": "Gym", + "slug": "individual", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "exercise", + "alternateTitle": "Gym", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 14, - "assetCountCumulative": 14 + "assetCount": 20, + "assetCountCumulative": 20 }, { - "name": "extreme", - "slug": "extreme", + "name": "Hobby Accessories", + "slug": "team", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "extreme", + "alternateTitle": "Hobby Accessories", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 7, - "assetCountCumulative": 7 + "assetCount": 8, + "assetCountCumulative": 8 }, { - "name": "individual", - "slug": "individual", + "name": "Miscellaneous", + "slug": "exercise", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "individual", + "alternateTitle": "Miscellaneous", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 6, - "assetCountCumulative": 6 + "assetCount": 15, + "assetCountCumulative": 15 }, { - "name": "outdoor", - "slug": "outdoor", + "name": "Music", + "slug": "music", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "outdoor", + "alternateTitle": "Music", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 8, - "assetCountCumulative": 8 + "children": [ + { + "name": "Accessories", + "slug": "accessories", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Accessories", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 7, + "assetCountCumulative": 7 + }, + { + "name": "Instruments", + "slug": "instruments", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Instruments", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 21, + "assetCountCumulative": 21 + }, + { + "name": "Stage", + "slug": "stage", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Stage", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 2, + "assetCountCumulative": 2 + }, + { + "name": "Studio", + "slug": "studio", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Studio", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], + "assetCount": 30, + "assetCountCumulative": 30 }, { - "name": "team", - "slug": "team", + "name": "Sport", + "slug": "extreme", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "team", + "alternateTitle": "Sport", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 15, - "assetCountCumulative": 15 + "assetCount": 27, + "assetCountCumulative": 27 } ], - "assetCount": 50, - "assetCountCumulative": 50 + "assetCount": 100, + "assetCountCumulative": 100 }, { - "name": "technology", + "name": "Technology", "slug": "technology", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "technology", + "alternateTitle": "Technology", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [ { - "name": "ai", - "slug": "ai", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "ai", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [], - "assetCount": 6, - "assetCountCumulative": 6 - }, - { - "name": "audio", + "name": "Audio Devices", "slug": "audio", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "audio", + "alternateTitle": "Audio Devices", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 33, - "assetCountCumulative": 33 + "assetCount": 40, + "assetCountCumulative": 40 }, { - "name": "computer", + "name": "Computer", "slug": "computer", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "computer", + "alternateTitle": "Computer", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 140, - "assetCountCumulative": 140 + "children": [ + { + "name": "Components / Hardware", + "slug": "components-hardware", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Components / Hardware", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 69, + "assetCountCumulative": 69 + }, + { + "name": "Desktop", + "slug": "desktop", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Desktop", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 10, + "assetCountCumulative": 10 + }, + { + "name": "Game Console", + "slug": "game-console", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Game Console", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 13, + "assetCountCumulative": 13 + }, + { + "name": "Keyboard", + "slug": "keyboard", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Keyboard", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 7, + "assetCountCumulative": 7 + }, + { + "name": "Laptop", + "slug": "laptop", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Laptop", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 14, + "assetCountCumulative": 14 + }, + { + "name": "Monitor", + "slug": "monitor", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Monitor", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 9, + "assetCountCumulative": 9 + }, + { + "name": "Mouse", + "slug": "mouse", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Mouse", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 2, + "assetCountCumulative": 2 + }, + { + "name": "Peripheral", + "slug": "peripheral", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Peripheral", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 8, + "assetCountCumulative": 8 + } + ], + "assetCount": 134, + "assetCountCumulative": 134 }, { - "name": "medical", - "slug": "medical", + "name": "Devices", + "slug": "devices", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "medical", + "alternateTitle": "Devices", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 2, - "assetCountCumulative": 2 + "children": [ + { + "name": "Celullar Phone", + "slug": "celullar-phone", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Celullar Phone", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Corded Phone", + "slug": "corded-phone", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Corded Phone", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 4, + "assetCountCumulative": 4 + }, + { + "name": "Smartphone", + "slug": "phone", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Smartphone", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 10, + "assetCountCumulative": 10 + }, + { + "name": "Smart Watch", + "slug": "smart-watch", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Smart Watch", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Tablet", + "slug": "tablet", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Tablet", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 3, + "assetCountCumulative": 3 + } + ], + "assetCount": 20, + "assetCountCumulative": 20 }, { - "name": "medicine", - "slug": "medicine", + "name": "Household Appliances", + "slug": "household-appliances", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "medicine", + "alternateTitle": "Household Appliances", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 26, + "assetCountCumulative": 26 }, { - "name": "phone", - "slug": "phone", + "name": "Miscellaneous", + "slug": "industrial-exterior", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "phone", + "alternateTitle": "Miscellaneous", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 15, - "assetCountCumulative": 15 + "assetCount": 96, + "assetCountCumulative": 96 }, { - "name": "photography", + "name": "Photography", "slug": "photography", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "photography", + "alternateTitle": "Photography", "alternateUrl": "", "description": "", "metaKeywords": "", @@ -2986,254 +5133,719 @@ "assetCountCumulative": 11 }, { - "name": "science", - "slug": "science", + "name": "Robotics", + "slug": "ai", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "science", + "alternateTitle": "Robotics", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 1, - "assetCountCumulative": 1 + "assetCount": 5, + "assetCountCumulative": 5 }, { - "name": "video", + "name": "Video devices", "slug": "video", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "video", + "alternateTitle": "Video devices", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 6, - "assetCountCumulative": 6 + "assetCount": 12, + "assetCountCumulative": 12 } ], - "assetCount": 222, - "assetCountCumulative": 222 + "assetCount": 345, + "assetCountCumulative": 345 }, { - "name": "vehicle", + "name": "Transport", "slug": "vehicle", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "vehicle", + "alternateTitle": "Transport", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [ { - "name": "bicycle", - "slug": "bicycle", + "name": "Aircraft", + "slug": "aircraft", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "bicycle", + "alternateTitle": "Aircraft", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "children": [ + { + "name": "Accessories / Part", + "slug": "part-aircraft", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Accessories / Part", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Air Baloon", + "slug": "air-baloon", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Air Baloon", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Airplane", + "slug": "commercial", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Airplane", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 7, + "assetCountCumulative": 7 + }, + { + "name": "Drone", + "slug": "drone", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Drone", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Glider", + "slug": "glider", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Glider", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Helicopter", + "slug": "helicopter", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Helicopter", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Historic Plane", + "slug": "historic-aircraft", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Historic Plane", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Private Jet", + "slug": "private", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Private Jet", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Seaplane", + "slug": "jet", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Seaplane", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + } + ], + "assetCount": 11, + "assetCountCumulative": 11 }, { - "name": "bus", - "slug": "bus", + "name": "Bicycle", + "slug": "bicycle", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "bus", + "alternateTitle": "Bicycle", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 2, - "assetCountCumulative": 2 + "assetCount": 6, + "assetCountCumulative": 6 }, { - "name": "car", + "name": "Car", "slug": "car", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "car", + "alternateTitle": "Car", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 63, - "assetCountCumulative": 63 + "children": [ + { + "name": "Buggy", + "slug": "buggy", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Buggy", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Concept", + "slug": "concept", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Concept", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 12, + "assetCountCumulative": 12 + }, + { + "name": "Historical", + "slug": "historic-vehicle", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Historical", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 13, + "assetCountCumulative": 13 + }, + { + "name": "Luxury / Supercar", + "slug": "luxury-supercar", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Luxury / Supercar", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 13, + "assetCountCumulative": 13 + }, + { + "name": "Racing", + "slug": "racing", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Racing", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Sci-Fi", + "slug": "transport-sci-fi", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Sci-Fi", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Standard", + "slug": "standard", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Standard", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 22, + "assetCountCumulative": 22 + } + ], + "assetCount": 62, + "assetCountCumulative": 62 }, { - "name": "historic", - "slug": "historic-vehicle", + "name": "Emergency", + "slug": "emergency", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "historic", + "alternateTitle": "Emergency", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "children": [ + { + "name": "Ambulance", + "slug": "ambulance", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Ambulance", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Fire Department", + "slug": "fire-department", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Fire Department", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Police", + "slug": "transport-police", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Police", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + } + ], + "assetCount": 1, + "assetCountCumulative": 1 }, { - "name": "industrial", - "slug": "industrial-vehicle", + "name": "Heavy Vehicle", + "slug": "heavy-vehicle", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "industrial", + "alternateTitle": "Heavy Vehicle", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 7, - "assetCountCumulative": 7 + "children": [ + { + "name": "Industrial", + "slug": "industrial-vehicle", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Industrial", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 3, + "assetCountCumulative": 3 + }, + { + "name": "Trailer", + "slug": "trailer", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Trailer", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Truck", + "slug": "truck", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Truck", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Van", + "slug": "van", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Van", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], + "assetCount": 4, + "assetCountCumulative": 4 }, { - "name": "motorcycle", + "name": "Motocycle", "slug": "motorcycle", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "motorcycle", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 - }, - { - "name": "part", - "slug": "part-vehicle", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "part", + "alternateTitle": "Motocycle", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 54, - "assetCountCumulative": 54 + "children": [ + { + "name": "Historical", + "slug": "historical", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Historical", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Sport", + "slug": "sport", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Sport", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Standard", + "slug": "transport-standard", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Standard", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + } + ], + "assetCount": 1, + "assetCountCumulative": 1 }, { - "name": "train", - "slug": "train", + "name": "Public Transport", + "slug": "public-transport", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "train", + "alternateTitle": "Public Transport", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "children": [ + { + "name": "Bus", + "slug": "bus", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Bus", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Taxi", + "slug": "taxi", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Taxi", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], + "assetCount": 1, + "assetCountCumulative": 1 }, { - "name": "truck", - "slug": "truck", + "name": "Railed vehicle", + "slug": "railed-vehicle", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "truck", + "alternateTitle": "Railed vehicle", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 - } - ], - "assetCount": 129, - "assetCountCumulative": 129 - }, - { - "name": "watercraft", - "slug": "watercraft", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "watercraft", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [ - { - "name": "historic", - "slug": "historic-watercraft", - "active": true, - "thumbnail": null, - "thumbnailWidth": null, - "thumbnailHeight": null, - "order": 0, - "alternateTitle": "historic", - "alternateUrl": "", - "description": "", - "metaKeywords": "", - "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "children": [ + { + "name": "Cargo", + "slug": "cargo", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Cargo", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Passenger", + "slug": "train", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Passenger", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + } + ], + "assetCount": 4, + "assetCountCumulative": 4 }, { - "name": "industrial", - "slug": "industrial-watercraft", + "name": "Small Electric Vehicles", + "slug": "small-electric-vehicles", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "industrial", + "alternateTitle": "Small Electric Vehicles", "alternateUrl": "", "description": "", "metaKeywords": "", @@ -3243,63 +5855,236 @@ "assetCountCumulative": 0 }, { - "name": "part", - "slug": "part-watercraft", + "name": "Vehicle Parts", + "slug": "part-vehicle", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "part", + "alternateTitle": "Vehicle Parts", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 68, + "assetCountCumulative": 68 }, { - "name": "personal", - "slug": "personal", + "name": "Watercraft", + "slug": "watercraft", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "personal", + "alternateTitle": "Watercraft", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", - "children": [], - "assetCount": 0, - "assetCountCumulative": 0 - }, + "children": [ + { + "name": "Accessories / Part", + "slug": "part-watercraft", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Accessories / Part", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Boat", + "slug": "recreational", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Boat", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Hovercraft", + "slug": "hovercraft", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Hovercraft", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Ship", + "slug": "industrial-watercraft", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Ship", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Submarine", + "slug": "historic-watercraft", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Submarine", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "Yacht", + "slug": "personal", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Yacht", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + } + ], + "assetCount": 2, + "assetCountCumulative": 2 + } + ], + "assetCount": 160, + "assetCountCumulative": 160 + } + ], + "assetCount": 4628, + "assetCountCumulative": 4628 + }, + { + "name": "Scene", + "slug": "scene", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "scene", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [ + { + "name": "Indoor", + "slug": "scene-indoor", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Indoor", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 1, + "assetCountCumulative": 1 + }, + { + "name": "Outdoor", + "slug": "scene-outdoor", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "Outdoor", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [], + "assetCount": 0, + "assetCountCumulative": 0 + }, + { + "name": "templates", + "slug": "templates", + "active": true, + "thumbnail": null, + "thumbnailWidth": null, + "thumbnailHeight": null, + "order": 0, + "alternateTitle": "templates", + "alternateUrl": "", + "description": "", + "metaKeywords": "", + "metaExtra": "", + "children": [ { - "name": "recreational", - "slug": "recreational", + "name": "brush templates", + "slug": "brush-templates", "active": true, "thumbnail": null, "thumbnailWidth": null, "thumbnailHeight": null, "order": 0, - "alternateTitle": "recreational", + "alternateTitle": "brush templates", "alternateUrl": "", "description": "", "metaKeywords": "", "metaExtra": "", "children": [], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 4, + "assetCountCumulative": 4 } ], - "assetCount": 0, - "assetCountCumulative": 0 + "assetCount": 4, + "assetCountCumulative": 4 } ], - "assetCount": 4025, - "assetCountCumulative": 4025 + "assetCount": 6, + "assetCountCumulative": 6 }, { "name": "texture", diff --git a/blenderkit/download.py b/blenderkit/download.py index 7a233c6f..20e5bc14 100644 --- a/blenderkit/download.py +++ b/blenderkit/download.py @@ -26,6 +26,7 @@ import shutil, sys, os import uuid import copy import logging + bk_logger = logging.getLogger('blenderkit') import bpy @@ -303,8 +304,7 @@ def append_asset(asset_data, **kwargs): # downloaders=[], location=None, ##### # how to do particle drop: # link the group we are interested in( there are more groups in File!!!! , have to get the correct one!) - # - scene = bpy.context.scene + s = bpy.context.scene user_preferences = bpy.context.preferences.addons['blenderkit'].preferences @@ -312,16 +312,22 @@ def append_asset(asset_data, **kwargs): # downloaders=[], location=None, user_preferences.asset_counter += 1 if asset_data['assetType'] == 'scene': - scene = append_link.append_scene(file_names[0], link=False, fake_user=False) - props = scene.blenderkit - asset_main = scene + sprops = s.blenderkit_scene + + scene = append_link.append_scene(file_names[0], link=sprops.append_link == 'LINK', fake_user=False) + print('scene appended') + if scene is not None: + props = scene.blenderkit + asset_main = scene + print(sprops.switch_after_append) + if sprops.switch_after_append: + bpy.context.window_manager.windows[0].scene = scene if asset_data['assetType'] == 'hdr': - hdr = append_link.load_HDR(file_name = file_names[0], name = asset_data['name']) + hdr = append_link.load_HDR(file_name=file_names[0], name=asset_data['name']) props = hdr.blenderkit asset_main = hdr - s = bpy.context.scene if asset_data['assetType'] == 'model': downloaders = kwargs.get('downloaders') @@ -899,7 +905,7 @@ def check_existing(asset_data, resolution='blend', can_return_others=False): file_names = paths.get_download_filepaths(asset_data, resolution, can_return_others=can_return_others) - bk_logger.debug('check if file already exists'+ str( file_names)) + bk_logger.debug('check if file already exists' + str(file_names)) if len(file_names) == 2: # TODO this should check also for failed or running downloads. # If download is running, assign just the running thread. if download isn't running but the file is wrong size, @@ -1147,7 +1153,7 @@ def start_download(asset_data, **kwargs): # check if there are files already. This check happens 2x once here(for free assets), # once in thread(for non-free) fexists = check_existing(asset_data, resolution=kwargs['resolution']) - bk_logger.debug('does file exist?'+ str( fexists)) + bk_logger.debug('does file exist?' + str(fexists)) bk_logger.debug('asset is in scene' + str(ain)) if ain and not kwargs.get('replace_resolution'): # this goes to appending asset - where it should duplicate the original asset already in scene. diff --git a/blenderkit/image_utils.py b/blenderkit/image_utils.py index 96bad204..fce1cafd 100644 --- a/blenderkit/image_utils.py +++ b/blenderkit/image_utils.py @@ -54,6 +54,17 @@ def img_save_as(img, filepath='//', file_format='JPEG', quality=90, color_mode=' set_orig_render_settings(ors) +def set_colorspace(img, colorspace): + '''sets image colorspace, but does so in a try statement, because some people might actually replace the default + colorspace settings, and it literally can't be guessed what these people use, even if it will mostly be the filmic addon. + ''' + try: + if colorspace == 'Non-Color': + img.colorspace_settings.is_data = True + else: + img.colorspace_settings.name = colorspace + except: + print(f'Colorspace {colorspace} not found.') def generate_hdr_thumbnail(): scene = bpy.context.scene @@ -79,7 +90,7 @@ def generate_hdr_thumbnail(): hdr_image.pixels.foreach_get(tempBuffer) inew.filepath = thumb_path - inew.colorspace_settings.name = 'Linear' + set_colorspace(inew, 'Linear') inew.pixels.foreach_set(tempBuffer) bpy.context.view_layer.update() diff --git a/blenderkit/ratings.py b/blenderkit/ratings.py index 86d204e2..c7e3d76b 100644 --- a/blenderkit/ratings.py +++ b/blenderkit/ratings.py @@ -337,7 +337,7 @@ class FastRateMenu(Operator): rating_work_hours: FloatProperty(name="Work Hours", description="How many hours did this work take?", default=0.00, - min=0.0, max=150, update=update_ratings_work_hours + min=0.0, max=300, update=update_ratings_work_hours ) rating_work_hours_ui: EnumProperty(name="Work Hours", diff --git a/blenderkit/search.py b/blenderkit/search.py index c902104c..836c29b0 100644 --- a/blenderkit/search.py +++ b/blenderkit/search.py @@ -17,7 +17,7 @@ # ##### END GPL LICENSE BLOCK ##### from blenderkit import paths, utils, categories, ui, colors, bkit_oauth, version_checker, tasks_queue, rerequests, \ - resolutions + resolutions, image_utils import blenderkit from bpy.app.handlers import persistent @@ -474,9 +474,9 @@ def load_previews(): img.reload() if r['assetType'] == 'hdr': # to display hdr thumbnails correctly, we use non-color, otherwise looks shifted - img.colorspace_settings.name = 'Non-Color' + image_utils.set_colorspace(img, 'Non-Color') else: - img.colorspace_settings.name = 'sRGB' + image_utils.set_colorspace(img, 'sRGB') i += 1 # print('previews loaded') diff --git a/blenderkit/ui.py b/blenderkit/ui.py index 72d0ad7e..4c70f14e 100644 --- a/blenderkit/ui.py +++ b/blenderkit/ui.py @@ -1672,6 +1672,12 @@ class AssetBarOperator(bpy.types.Operator): target_slot = temp_mesh.polygons[face_index].material_index object_eval.to_mesh_clear() else: + if object.is_library_indirect: + ui_panels.ui_message(title='This object is linked from outer file', + message="Please select the model," + "go to the 'Selected Model' panel " + "in BlenderKit and hit 'Bring to Scene' first.") + self.report({'WARNING'}, "Invalid or library object as input:") target_object = '' target_slot = '' @@ -1914,6 +1920,12 @@ def draw_callback_3d_dragging(self, context): if self.has_hit: draw_bbox(self.snapped_location, self.snapped_rotation, self.snapped_bbox_min, self.snapped_bbox_max) +def find_and_activate_instancers(object): + for ob in bpy.context.visible_objects: + if ob.instance_type == 'COLLECTION' and ob.instance_collection and object.name in ob.instance_collection.objects: + utils.activate(ob) + return ob + class AssetDragOperator(bpy.types.Operator): """Draw a line with the mouse""" @@ -1942,6 +1954,11 @@ class AssetDragOperator(bpy.types.Operator): if ui_props.asset_type == 'MATERIAL': # first, test if object can have material applied. object = bpy.data.objects[self.object_name] + # this enables to run Bring to scene automatically when dropping on a linked objects. + # it's however quite a slow operation, that's why not enabled (and finished) now. + # if object is not None and object.is_library_indirect: + # find_and_activate_instancers(object) + # bpy.ops.object.blenderkit_bring_to_scene() if object is not None and not object.is_library_indirect and object.type == 'MESH': target_object = object.name # create final mesh to extract correct material slot @@ -1953,6 +1970,12 @@ class AssetDragOperator(bpy.types.Operator): # elif object.is_library_indirect:#case for bring to scene objects, will be solved through prefs and direct # action else: + if object.is_library_indirect: + ui_panels.ui_message(title = 'This object is linked from outer file', + message = "Please select the model," + "go to the 'Selected Model' panel " + "in BlenderKit and hit 'Bring to Scene' first.") + self.report({'WARNING'}, "Invalid or library object as input:") target_object = '' target_slot = '' @@ -2007,6 +2030,11 @@ class AssetDragOperator(bpy.types.Operator): target_object=target_object) else: + if ui_props.asset_type =='SCENE': + ui_panels.ui_message(title = 'Scene will be appended after download', + message = 'After the scene is appended, you have to switch to it manually.' + 'If you want to switch to scenes automatically after appending,' + ' you can set it in import settings.') bpy.ops.scene.blenderkit_download( # asset_type=ui_props.asset_type, asset_index=self.asset_search_index) diff --git a/blenderkit/ui_panels.py b/blenderkit/ui_panels.py index 91abd446..302e7119 100644 --- a/blenderkit/ui_panels.py +++ b/blenderkit/ui_panels.py @@ -112,7 +112,7 @@ def draw_upload_common(layout, props, asset_type, context): op = layout.operator("object.blenderkit_upload", text=optext, icon='EXPORT') op.asset_type = asset_type op.reupload = False - #make sure everything gets uploaded. + # make sure everything gets uploaded. op.main_file = True op.metadata = True op.thumbnail = True @@ -163,6 +163,7 @@ def prop_needed(layout, props, name, value, is_not_filled=''): icon = None row.prop(props, name) + def draw_panel_hdr_upload(self, context): layout = self.layout ui_props = bpy.context.scene.blenderkitUI @@ -172,7 +173,6 @@ def draw_panel_hdr_upload(self, context): hdr = utils.get_active_HDR() - if hdr is not None: props = hdr.blenderkit @@ -184,6 +184,7 @@ def draw_panel_hdr_upload(self, context): layout.prop(props, 'description') layout.prop(props, 'tags') + def draw_panel_hdr_search(self, context): s = context.scene props = s.blenderkit_HDR @@ -196,6 +197,7 @@ def draw_panel_hdr_search(self, context): utils.label_multiline(layout, text=props.report) + def draw_panel_model_upload(self, context): ob = bpy.context.active_object while ob.parent is not None: @@ -316,7 +318,7 @@ def draw_assetbar_show_hide(layout, props): preferences = bpy.context.preferences.addons['blenderkit'].preferences if preferences.experimental_features: - op = layout.operator('view3d.blenderkit_asset_bar_widget', text = '', icon = icon) + op = layout.operator('view3d.blenderkit_asset_bar_widget', text='', icon=icon) op.keep_running = False op.do_search = False op.tooltip = ttip @@ -510,7 +512,7 @@ class VIEW3D_PT_blenderkit_ratings(Panel): utils.label_multiline(layout, text='Please help BlenderKit community by rating these assets:') for a in assets: - if a.bkit_ratings.rating_work_hours==0: + if a.bkit_ratings.rating_work_hours == 0: draw_rating_asset(self, context, asset=a) @@ -546,7 +548,7 @@ class VIEW3D_PT_blenderkit_profile(Panel): if me is not None: me = me['user'] # user name - if len(me['firstName'])>0 or len(me['lastName'])>0: + if len(me['firstName']) > 0 or len(me['lastName']) > 0: layout.label(text=f"Me: {me['firstName']} {me['lastName']}") else: layout.label(text=f"Me: {me['email']}") @@ -781,7 +783,6 @@ class VIEW3D_PT_blenderkit_advanced_model_search(Panel): layout.prop(props, "free_only") layout.prop(props, "search_style") - # DESIGN YEAR layout.prop(props, "search_design_year", text='Designed in Year') if props.search_design_year: @@ -897,7 +898,7 @@ class VIEW3D_PT_blenderkit_import_settings(Panel): def poll(cls, context): s = context.scene ui_props = s.blenderkitUI - return ui_props.down_up == 'SEARCH' and ui_props.asset_type in ['MATERIAL', 'MODEL', 'HDR'] + return ui_props.down_up == 'SEARCH' and ui_props.asset_type in ['MATERIAL', 'MODEL', 'SCENE', 'HDR'] def draw(self, context): layout = self.layout @@ -926,10 +927,17 @@ class VIEW3D_PT_blenderkit_import_settings(Panel): row = layout.row() row.prop(props, 'append_method', expand=True, icon_only=False) + if ui_props.asset_type == 'SCENE': + props = s.blenderkit_scene + layout.prop(props, 'switch_after_append') + layout.label(text='Import method:') + row = layout.row() + row.prop(props, 'append_link', expand=True, icon_only=False) if ui_props.asset_type == 'HDR': props = s.blenderkit_HDR - layout.prop(props, 'resolution') + if ui_props.asset_type in ['MATERIAL', 'MODEL', 'HDR']: + layout.prop(props, 'resolution') # layout.prop(props, 'unpack_files') @@ -1199,7 +1207,6 @@ def draw_asset_context_menu(layout, context, asset_data, from_panel=False): # if ui_props.asset_type in ('MODEL', 'MATERIAL'): # layout.menu(OBJECT_MT_blenderkit_resolution_menu.bl_idname) - if ui_props.asset_type in ('MODEL', 'MATERIAL', 'HDR') and \ utils.get_param(asset_data, 'textureResolutionMax') is not None and \ utils.get_param(asset_data, 'textureResolutionMax') > 512: @@ -1247,7 +1254,8 @@ def draw_asset_context_menu(layout, context, asset_data, from_panel=False): op.invoke_resolution = True o = utils.get_active_model() if o and o.get('asset_data'): - if o['asset_data']['assetBaseId'] == bpy.context.window_manager['search results'][ui_props.active_index]: + if o['asset_data']['assetBaseId'] == bpy.context.window_manager['search results'][ + ui_props.active_index]: op.model_location = o.location op.model_rotation = o.rotation_euler else: @@ -1302,14 +1310,10 @@ def draw_asset_context_menu(layout, context, asset_data, from_panel=False): if utils.profile_is_validator(): layout.label(text='Admin Tools:') - op = layout.operator('object.blenderkit_print_asset_debug', text='Print asset debug') op.asset_id = asset_data['id'] - - - # def draw_asset_resolution_replace(self, context, resolution): # layout = self.layout # ui_props = bpy.context.scene.blenderkitUI @@ -1392,12 +1396,13 @@ class OBJECT_MT_blenderkit_asset_menu(bpy.types.Menu): # box2.label(text='************') # box2.label(text='dadydadadada') + class AssetPopupCard(bpy.types.Operator): """Generate Cycles thumbnail for model assets""" bl_idname = "wm.blenderkit_asset_popup" bl_label = "BlenderKit asset popup" # bl_options = {'REGISTER', 'INTERNAL'} - bl_options = {'REGISTER',} + bl_options = {'REGISTER', } @classmethod def poll(cls, context): @@ -1418,11 +1423,10 @@ class AssetPopupCard(bpy.types.Operator): split = split.split(factor=0.5) col1 = split.column() box = col1.box() - utils.label_multiline(box,asset_data['tooltip'], width = 300) + utils.label_multiline(box, asset_data['tooltip'], width=300) col2 = split.column() - pcoll = icons.icon_collections["main"] my_icon = pcoll['test'] col2.template_icon(icon_value=my_icon.icon_id, scale=20.0) @@ -1430,7 +1434,7 @@ class AssetPopupCard(bpy.types.Operator): box2 = col2.box() # draw_ratings(box2, context, asset_data) - box2.label(text = 'Ratings') + box2.label(text='Ratings') # print(tp, dir(tp)) # if not hasattr(self, 'first_draw'):# try to redraw because of template preview which needs update # for region in context.area.regions: @@ -1451,8 +1455,9 @@ class AssetPopupCard(bpy.types.Operator): # self.tex = utils.get_hidden_texture(self.img) # self.tex.update_tag() - bl_label = asset_data['name'] - return wm.invoke_props_dialog(self, width = 700) + bl_label = asset_data['name'] + return wm.invoke_props_dialog(self, width=700) + class OBJECT_MT_blenderkit_login_menu(bpy.types.Menu): bl_label = "BlenderKit login/signup:" @@ -1523,14 +1528,14 @@ class UrlPopupDialog(bpy.types.Operator): def draw(self, context): layout = self.layout - utils.label_multiline(layout, text=self.message, width = 300) + utils.label_multiline(layout, text=self.message, width=300) layout.active_default = True op = layout.operator("wm.url_open", text=self.link_text, icon='QUESTION') if not utils.user_logged_in(): utils.label_multiline(layout, text='Already subscribed? You need to login to access your Full Plan.', - width = 300) + width=300) layout.operator_context = 'EXEC_DEFAULT' layout.operator("wm.blenderkit_login", text="Login", @@ -1544,7 +1549,7 @@ class UrlPopupDialog(bpy.types.Operator): def invoke(self, context, event): wm = context.window_manager - return wm.invoke_props_dialog(self,width = 300) + return wm.invoke_props_dialog(self, width=300) class LoginPopupDialog(bpy.types.Operator): @@ -1695,16 +1700,19 @@ def header_search_draw(self, context): # the center snap menu is in edit and object mode if tool settings are off. if context.space_data.show_region_tool_header == True or context.mode[:4] not in ('EDIT', 'OBJE'): layout.separator_spacer() - layout.prop(ui_props, "asset_type", expand = True, icon_only = True, text='', icon='URL') + layout.prop(ui_props, "asset_type", expand=True, icon_only=True, text='', icon='URL') layout.prop(props, "search_keywords", text="", icon='VIEWZOOM') draw_assetbar_show_hide(layout, props) + def ui_message(title, message): def draw_message(self, context): layout = self.layout - utils.label_multiline(layout, text=message) + utils.label_multiline(layout, text=message, width=400) bpy.context.window_manager.popup_menu(draw_message, title=title, icon='INFO') + + # We can store multiple preview collections here, # however in this example we only store "main" preview_collections = {} diff --git a/blenderkit/utils.py b/blenderkit/utils.py index 30f29ab0..0892bdb2 100644 --- a/blenderkit/utils.py +++ b/blenderkit/utils.py @@ -17,7 +17,7 @@ # ##### END GPL LICENSE BLOCK ##### -from blenderkit import paths, rerequests +from blenderkit import paths, rerequests, image_utils import bpy from mathutils import Vector @@ -313,7 +313,6 @@ def get_hidden_texture(img, force_reload=False): t.image = img return t - def get_hidden_image(tpath, bdata_name, force_reload=False, colorspace = 'sRGB'): if bdata_name[0] == '.': hidden_name = bdata_name @@ -340,12 +339,13 @@ def get_hidden_image(tpath, bdata_name, force_reload=False, colorspace = 'sRGB') img.filepath = tpath img.reload() - img.colorspace_settings.name = colorspace + image_utils.set_colorspace(img,colorspace) + elif force_reload: if img.packed_file is not None: img.unpack(method='USE_ORIGINAL') img.reload() - img.colorspace_settings.name = colorspace + image_utils.set_colorspace(img,colorspace) return img @@ -355,7 +355,7 @@ def get_thumbnail(name): img = bpy.data.images.get(name) if img == None: img = bpy.data.images.load(p) - img.colorspace_settings.name = 'sRGB' + image_utils.set_colorspace(img,'sRGB') img.name = name img.name = name |