From a93edd793078042dac0bd5fa694680a113d7a877 Mon Sep 17 00:00:00 2001 From: jessikitty Date: Sat, 3 Oct 2026 00:53:11 +1000 Subject: [PATCH] Add seed part taxonomy --- app/data/part_taxonomy.json | 121 ++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 app/data/part_taxonomy.json diff --git a/app/data/part_taxonomy.json b/app/data/part_taxonomy.json new file mode 100644 index 0000000..6719eab --- /dev/null +++ b/app/data/part_taxonomy.json @@ -0,0 +1,121 @@ +{ + "_comment": [ + "Seed taxonomy for the parts drawer labelling system.", + "Built from standard LEGO / BrickLink part terminology, arranged as a two-level", + "hierarchy in the style popularised by sorting guides such as brickarchitect.com.", + "It is NOT a copy of anyone else's category numbering - it is a starting point.", + "Edit, rename, add and delete freely from Admin > Parts Labels > Categories.", + "Seeding is idempotent and matches on slug, so re-seeding never duplicates and", + "never overwrites a category you have renamed.", + "", + "Created by: Jess Rogerson (yelling commands at Claude.AI)" + ], + "categories": [ + {"code": "01", "name": "Bricks", "children": [ + {"code": "01.01", "name": "Basic Bricks"}, + {"code": "01.02", "name": "Modified Bricks"}, + {"code": "01.03", "name": "Round & Cylinder Bricks"}, + {"code": "01.04", "name": "Corner & Angled Bricks"}, + {"code": "01.05", "name": "Arches"}, + {"code": "01.06", "name": "Masonry & Profile Bricks"} + ]}, + {"code": "02", "name": "Plates", "children": [ + {"code": "02.01", "name": "Basic Plates"}, + {"code": "02.02", "name": "Modified Plates"}, + {"code": "02.03", "name": "Round & Octagonal Plates"}, + {"code": "02.04", "name": "Wedge Plates"}, + {"code": "02.05", "name": "Hinge & Turntable Plates"}, + {"code": "02.06", "name": "Large Plates & Baseplates"} + ]}, + {"code": "03", "name": "Tiles", "children": [ + {"code": "03.01", "name": "Basic Tiles"}, + {"code": "03.02", "name": "Modified Tiles"}, + {"code": "03.03", "name": "Round & Curved Tiles"}, + {"code": "03.04", "name": "Printed & Decorated Tiles"} + ]}, + {"code": "04", "name": "Slopes", "children": [ + {"code": "04.01", "name": "Standard Slopes"}, + {"code": "04.02", "name": "Inverted Slopes"}, + {"code": "04.03", "name": "Curved Slopes"}, + {"code": "04.04", "name": "Wedge & Roof Slopes"} + ]}, + {"code": "05", "name": "Brackets & Angles", "children": [ + {"code": "05.01", "name": "Brackets"}, + {"code": "05.02", "name": "Angle Plates"}, + {"code": "05.03", "name": "Headlight & SNOT Bricks"} + ]}, + {"code": "06", "name": "Bars, Clips & Hinges", "children": [ + {"code": "06.01", "name": "Bars & Ladders"}, + {"code": "06.02", "name": "Clips & Holders"}, + {"code": "06.03", "name": "Hinges & Couplings"}, + {"code": "06.04", "name": "Ball Joints & Towballs"} + ]}, + {"code": "07", "name": "Round & Curved Elements", "children": [ + {"code": "07.01", "name": "Cones"}, + {"code": "07.02", "name": "Domes & Hemispheres"}, + {"code": "07.03", "name": "Cylinders & Tubes"}, + {"code": "07.04", "name": "Dishes & Radars"} + ]}, + {"code": "08", "name": "Technic", "children": [ + {"code": "08.01", "name": "Beams & Liftarms"}, + {"code": "08.02", "name": "Pins"}, + {"code": "08.03", "name": "Axles"}, + {"code": "08.04", "name": "Connectors"}, + {"code": "08.05", "name": "Gears & Worm Screws"}, + {"code": "08.06", "name": "Bushes & Stops"}, + {"code": "08.07", "name": "Panels & Shells"}, + {"code": "08.08", "name": "Steering & Suspension"} + ]}, + {"code": "09", "name": "Wheels & Vehicles", "children": [ + {"code": "09.01", "name": "Wheels & Hubs"}, + {"code": "09.02", "name": "Tyres"}, + {"code": "09.03", "name": "Vehicle Bases & Chassis"}, + {"code": "09.04", "name": "Mudguards & Spoilers"}, + {"code": "09.05", "name": "Windscreens & Canopies"}, + {"code": "09.06", "name": "Train & Track"} + ]}, + {"code": "10", "name": "Windows, Doors & Fences", "children": [ + {"code": "10.01", "name": "Window Frames & Glass"}, + {"code": "10.02", "name": "Door Frames & Doors"}, + {"code": "10.03", "name": "Fences, Grilles & Lattice"}, + {"code": "10.04", "name": "Panels & Walls"} + ]}, + {"code": "11", "name": "Minifigures", "children": [ + {"code": "11.01", "name": "Heads"}, + {"code": "11.02", "name": "Torsos & Arms"}, + {"code": "11.03", "name": "Legs & Hips"}, + {"code": "11.04", "name": "Hair & Headgear"}, + {"code": "11.05", "name": "Tools & Weapons"}, + {"code": "11.06", "name": "Utensils & Accessories"}, + {"code": "11.07", "name": "Animals & Creatures"} + ]}, + {"code": "12", "name": "Plants & Terrain", "children": [ + {"code": "12.01", "name": "Plants & Foliage"}, + {"code": "12.02", "name": "Rock & Terrain"}, + {"code": "12.03", "name": "Water & Weather Elements"} + ]}, + {"code": "13", "name": "Containers & Furniture", "children": [ + {"code": "13.01", "name": "Boxes & Containers"}, + {"code": "13.02", "name": "Furniture"}, + {"code": "13.03", "name": "Household & Food Items"} + ]}, + {"code": "14", "name": "Signs, Flags & Flexible", "children": [ + {"code": "14.01", "name": "Flags, Sails & Cloth"}, + {"code": "14.02", "name": "Signs & Printed Elements"}, + {"code": "14.03", "name": "String, Chain & Hose"}, + {"code": "14.04", "name": "Rubber & Flexible Parts"} + ]}, + {"code": "15", "name": "Electrical & Power", "children": [ + {"code": "15.01", "name": "Powered Up & Power Functions"}, + {"code": "15.02", "name": "Motors"}, + {"code": "15.03", "name": "Lights & Light Bricks"}, + {"code": "15.04", "name": "Battery Boxes & Cables"} + ]}, + {"code": "16", "name": "Specialty & Uncategorised", "children": [ + {"code": "16.01", "name": "Large Moulded Elements"}, + {"code": "16.02", "name": "Duplo & Other Systems"}, + {"code": "16.03", "name": "Spare Parts & Oddments"}, + {"code": "16.04", "name": "To Be Sorted"} + ]} + ] +}