imaginu 0.4.0

AI-drivable procedural 3D asset compiler: JSON recipes -> beautiful game-ready GLB for Babylon.js
Documentation
{"kind":"custom","name":"windmill","seed":3,
 "physics":{"collider":"auto","mass":0,"friction":0.8},
 "bones":[
   {"name":"root","translation":[0,0,0]},
   {"name":"hub","parent":"root","translation":[0,5.0,1.15]}],
 "animations":[
   {"name":"spin","duration":4,
    "channels":[{"bone":"hub","path":"rotation","axis":[0,0,1],"keys":[0,90,180,270,360]}]}],
 "parts":[
  {"material":{"roughness":0.95},
   "nodes":[
     {"shape":"lathe","profile":[[2.3,0],[2.0,0.4],[1.5,4.4],[1.45,5.0]],"segments":10,
      "color":"#c9b795","color_top":"#b5a181"},
     {"shape":"cone","radius":1.75,"height":1.6,"segments":10,"color":"#7a4b2e",
      "transform":{"translate":[0,5.0,0]}},
     {"shape":"box","size":[0.9,1.6,0.2],"color":"#6b4a32",
      "transform":{"translate":[0,0.8,2.05]}},
     {"shape":"box","size":[0.7,0.7,0.15],"color":"#87b6c4",
      "transform":{"translate":[0,3.4,1.62]}},
     {"shape":"cylinder","radius":0.16,"height":0.9,"segments":8,"color":"#4a3826",
      "transform":{"translate":[0,4.8,0.7],"rotate_deg":[90,0,0]}}]},
  {"material":{"roughness":0.85},
   "nodes":[
     {"shape":"box","size":[0.34,4.4,0.07],"color":"#e8dcc2","bone":"hub",
      "transform":{"rotate_deg":[0,0,0],"translate":[0,7.2,1.15]}},
     {"shape":"box","size":[0.34,4.4,0.07],"color":"#e8dcc2","bone":"hub",
      "transform":{"rotate_deg":[0,0,90],"translate":[-2.2,5.0,1.15]}},
     {"shape":"box","size":[0.34,4.4,0.07],"color":"#e8dcc2","bone":"hub",
      "transform":{"rotate_deg":[0,0,180],"translate":[0,2.8,1.15]}},
     {"shape":"box","size":[0.34,4.4,0.07],"color":"#e8dcc2","bone":"hub",
      "transform":{"rotate_deg":[0,0,270],"translate":[2.2,5.0,1.15]}},
     {"shape":"sphere","radius":0.32,"subdiv":1,"color":"#4a3826","bone":"hub",
      "transform":{"translate":[0,5.0,1.25]}}]},
  {"material":{"roughness":0.4,"emissive":"#ffc864","emissive_strength":1.6},
   "nodes":[
     {"shape":"sphere","radius":0.14,"subdiv":1,"color":"#ffd88a",
      "transform":{"translate":[0.75,1.7,2.0]}}]}
 ]}