[{"data":1,"prerenderedAt":354},["ShallowReactive",2],{"project-49937916":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":42,"post_text":44,"what":45,"said":81,"maker_in_thread":173,"shape":186,"grid":189,"attempts":316,"same_week":317,"maker_shows":34,"maker_hidden":346,"reader_version":347,"card":348},"49937916","ldraw-nova","An open-source Lego AI generator","title","Show HN: Made an open-source Lego AI generator","https:\u002F\u002Fgithub.com\u002Fanteloc\u002Fldraw-nova","github.com","antelocnova",1790971215,2026,170,52,362,4366,9,"notable","ai","ai model generation for lego cad","web_app",[24,25,26,27],"ldraw","lego cad","llm agents","lego models","loved",0.544,{"positive":31,"neutral":32,"mixed":33,"critical":34},14,7,0,1,22,{"idea":37,"execution":39,"pricing":40,"performance":41},{"positive":38,"critical":34},5,{"positive":34,"critical":33},{"positive":33,"critical":33},{"positive":33,"critical":33},[38,33,43,43,33,33,38,33,33,33,33,38,33,33,33,43,38,33,33,38,43,33,43,38,34,38,38,38,33,38,38,38,38,33,33,33,43,33,33,33],3,"Hi there :-) New on HN, first time posting.\n\nPast year, around December, I started experimenting with making ChatGPT and Claude generate source code in LDraw language.\n\nThis LDraw is literally an \"assembly\" language, a low-level programming language that describes how to assemble LEGO pieces together into models, one placement instruction at a time.\n\nWhen executed by specific tools, like e.g. LDView, LeoCAD, Studio... these instructions become LEGO CAD models, that can be interacted with, modified, etc.\n\nOr, in other words: one LDraw source file in .mpd or .ldr format is equivalent to one LEGO",{"problem":46,"audience":52,"pricing":52,"motivation":53,"time_to_build":52,"stack":57,"openness":78,"stage":79,"team_size":80},{"value":47,"source":48,"evidence":49},"Generating buildable LEGO CAD models automatically with LLM agents.","maker",[50],{"id":51},"post",null,{"value":54,"source":48,"evidence":55},"Curiosity about whether LLMs can write LDraw source to build physical-style models.",[56],{"id":51},[58,62,66,70,74],{"value":59,"source":48,"evidence":60},"Python",[61],{"id":51},{"value":63,"source":48,"evidence":64},"Docker",[65],{"id":51},{"value":67,"source":48,"evidence":68},"OpenAI",[69],{"id":51},{"value":71,"source":48,"evidence":72},"Claude",[73],{"id":51},{"value":75,"source":48,"evidence":76},"OpenRouter",[77],{"id":51},"open_source","launched","solo",{"praise":82,"objections":118,"requests":123,"questions":144,"alternatives":159},[83,111],{"value":84,"source":85,"evidence":86},"Fun, cool idea and interesting project.","commenter",[87,91,95,99,103,107],{"id":88,"by":89,"text":90},"49938699","khazhoux","Fun idea. Congrats on building and releasing! That said, LLMs encroaching into the pure-imagination world of Lego gives me a bit of the icks...",{"id":92,"by":93,"text":94},"49939886","qlasisi15","Actually very cool and interesting stuff!",{"id":96,"by":97,"text":98},"49941588","Pantera87","That's so cool!",{"id":100,"by":101,"text":102},"49941704","quoveo","Really interesting",{"id":104,"by":105,"text":106},"49938877","shakamd","This is great",{"id":108,"by":109,"text":110},"49941607","aarontian0","This is a really interesting idea. I've never seen something unique like this in a long time, thank you for sharing!",{"value":112,"source":85,"evidence":113},"Mechanisms and Technic examples impressive.",[114],{"id":115,"by":116,"text":117},"49938542","ash_091","It seems to be able to! https:\u002F\u002Fgithub.com\u002Fanteloc\u002Fldraw-nova\u002Fblob\u002Fmaster\u002Fexamples\u002Fmechanism-atlas\u002FREADME.md",[119],{"value":120,"source":85,"evidence":121},"Using LLMs in the pure-imagination world of Lego is unsettling.",[122],{"id":88,"by":89,"text":90},[124,138],{"value":125,"source":85,"evidence":126},"Physics and stability checking for generated models.",[127,131,135],{"id":128,"by":129,"text":130},"49938782","josh-wrale","I'm interested in this for robotics. Probably need physics to do that well.",{"id":132,"by":133,"text":134},"49938812","jasonmarker","Thats pretty cool, i wonder how far it goes with mechanisms where the parts actually have to move correctly, rather than just being assembled correctly",{"id":136,"by":11,"text":137},"49939762","Physics modeling is something Nova is currently lacking, and I think very interesting, given that agents currently don't verify physics, stability... only placements.",{"value":139,"source":85,"evidence":140},"Constrain designs to available parts.",[141],{"id":142,"by":116,"text":143},"49938598","> the 51515 Lego set On that note- have you considered adding constraints for part availability? It would be useful to be able to create designs using only parts which are on…",[145,152],{"value":146,"source":85,"evidence":147},"Token cost of generating models.",[148],{"id":149,"by":150,"text":151},"49938345","CptBroccoli","Any estimates for token costs to generate these models? Curious about costs for Astra, Opus and Jev for some of the examples you have in the video.",{"value":153,"source":85,"evidence":154},"Does it work with local models.",[155],{"id":156,"by":157,"text":158},"49940613","SillyUsername","How well does this work with local models like https:\u002F\u002Fgithub.com\u002Freceptron\u002Flaya (open source Jev) and vision capable models like Qwen 3.8 Flash Next, or even Qwen 3.8 27B on…",[160,167],{"value":161,"source":85,"evidence":162},"BrickGPT (CMU) text-to-brick generation.",[163],{"id":164,"by":165,"text":166},"49940158","jasonhong","You might also be interested in this research at CMU: https:\u002F\u002Favalovelace1.github.io\u002FBrickGPT\u002F We introduce BrickGPT, the first approach for generating physically stable toy…",{"value":168,"source":85,"evidence":169},"BrickIt photo cataloguing of Lego.",[170],{"id":171,"by":116,"text":172},"49938722","https:\u002F\u002Fbrickit.app\u002F :)",{"comments":174,"answered":175,"key":176},17,6,[177,180,183],{"id":178,"text":179},"49938584","Thanks! I've been experimenting with FreeCAD and freecad-mcp too, even managed for Claude to create a new LDraw benchmark for it. However, given the amount of parts some LDraw…",{"id":181,"text":182},"49938924","A mix of both, I think. When giving them enough examples, like e.g. houses, they tend to do well in that category, but not perfect. My guess is that what happens is, given that…",{"id":184,"text":185},"49940473","A very similar idea crossed my mind several times, but with a twist: altering LEGO CAD parts, but keeping the connectors the same. Main idea was, if LEGO parts don't cover the…",{"commenters":187,"max_depth":32,"maker_replies":174,"first_comment_mins":33,"lifespan_hours":188},28,87,[190,193,195,198,199,201,205,209,210,215,217,218,220,223,224,226,229,232,236,239,242,244,245,247,249,252,254,256,258,260,262,264,267,268,270,272,276,278,282,284,285,287,289,293,296,299,302,305,307,310,312,314],[191,33,38,192,116,33],"49938490","project\u002Fpositive\u002Fidea",[178,33,33,194,11,34],"maker\u002Fneutral\u002Fnone",[196,33,43,197,116,33],"49938682","project\u002Fneutral\u002Fexecution",[181,33,33,197,11,34],[142,33,43,200,116,33],"project\u002Fneutral\u002Fidea",[202,33,33,203,204,33],"49938761","other\u002Fneutral\u002Fnone","nico",[206,34,33,207,208,33],"49939755","other\u002Fpositive\u002Fnone","dchuk",[184,34,33,200,11,34],[211,212,38,213,214,33],"49938219",2,"project\u002Fpositive\u002Fnone","vunderba",[216,212,33,200,11,34],"49938767",[164,212,33,203,165,33],[219,212,33,200,11,34],"49940549",[221,43,33,203,222,33],"49938628","ttul",[171,43,33,203,116,33],[225,43,38,213,222,33],"49956238",[227,43,33,207,228,33],"49939263","pj_mukh",[230,43,33,203,231,33],"49943077","_bernd",[233,234,33,203,235,33],"49943200",4,"jjohnson5253",[237,234,33,203,238,33],"49944010","nylonstrung",[240,38,43,200,241,33],"49938500","1e1a",[115,38,38,243,116,33],"project\u002Fpositive\u002Fexecution",[132,38,43,197,133,33],[246,38,33,197,11,34],"49939023",[248,38,33,200,11,34],"49939009",[250,175,38,192,251,33],"49938259","dy",[136,175,33,253,11,34],"project\u002Fneutral\u002Fnone",[149,32,43,255,150,33],"project\u002Fneutral\u002Fpricing",[257,32,33,255,11,34],"49939082",[156,32,43,259,157,33],"project\u002Fneutral\u002Fperformance",[261,32,33,259,11,34],"49945799",[263,32,38,213,157,33],"49976867",[88,265,34,266,89,33],8,"project\u002Fcritical\u002Fidea",[108,18,38,192,109,33],[269,18,33,194,11,34],"49945748",[128,271,38,192,129,33],10,[273,274,38,192,275,33],"49938956",11,"thomasfl",[277,274,33,200,11,34],"49939709",[279,280,38,213,281,33],"49969987",12,"tarekabouzeid",[92,283,38,213,93,33],13,[96,31,38,213,97,33],[100,286,38,213,101,33],15,[104,288,38,213,105,33],16,[290,174,33,291,292,33],"49939558","commenter\u002Fneutral\u002Fnone","cyclopeanutopia",[294,174,33,291,295,33],"49940635","bcraven",[297,298,33,194,11,34],"49937917",18,[300,298,33,207,301,33],"49938039","dang",[303,298,33,304,11,34],"49938134","maker\u002Fpositive\u002Fnone",[306,298,43,253,301,33],"49938251",[308,298,33,309,11,34],"49939629","project\u002Fneutral\u002Fdocs",[311,298,33,203,301,33],"49939803",[313,298,33,194,11,34],"49940085",[315,298,33,253,11,34],"49939810",[],[318,323,328,333,337,342],{"id":319,"name":320,"points":321,"category":322},"49994443","Bigwords.page",728,"productivity",{"id":324,"name":325,"points":326,"category":327},"49928566","stillwet.art",392,"creative",{"id":329,"name":330,"points":331,"category":332},"49930439","Glashütte Trash Clock",236,"hardware",{"id":334,"name":335,"points":336,"category":20},"49952111","SCM",184,{"id":338,"name":339,"points":340,"category":341},"49992057","Art From Pixels",174,"learning_science",{"id":343,"name":344,"points":345,"category":327},"49931031","Audionaut",155,false,"v2",{"id":349,"name":5,"line":6,"ai":346,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":350,"top":18,"kw":351,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":352,"url":9,"mix":353,"praise":84,"objection":120,"sub":21},49937916,0.54,[24,25,26,27],"5033005000050003500530351555055550003000",[31,32,33,34],1794036711310]