[{"data":1,"prerenderedAt":280},["ShallowReactive",2],{"project-8334767":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":34,"aspects":35,"strip":42,"post_text":43,"what":44,"said":69,"maker_in_thread":159,"shape":172,"grid":176,"attempts":241,"same_week":242,"maker_shows":38,"maker_hidden":272,"reader_version":273,"card":274},"8334767","Paths.js","Generate SVG paths for geometric shapes","title","Show HN: Paths.js – Generate SVG paths for geometric shapes","https:\u002F\u002Fgithub.com\u002Fandreaferretti\u002Fpaths-js","github.com","pathsjs",1411042297,2014,86,27,337,2272,15,"notable","languages","javascript graphics library","library",[24,25,26,27],"svg path","javascript","d3 alternative","svg charts","debated",0.038,{"positive":31,"neutral":32,"mixed":33,"critical":31},5,3,1,14,{"docs":36,"idea":37,"performance":39,"design":41},{"positive":33,"critical":32},{"positive":38,"critical":33},2,{"positive":40,"critical":40},0,{"positive":33,"critical":33},[32,32,40,40,33,40,31,40,40,33,40,40,32,40,32,40,33,31,31,33,33,40,31,40,40,40,31],null,{"problem":45,"audience":43,"pricing":43,"motivation":43,"time_to_build":43,"stack":55,"openness":68,"stage":68,"team_size":68},{"value":46,"source":47,"evidence":48},"Generating SVG path descriptor strings for shapes and graphs without rendering","maker",[49,52],{"id":50,"by":11,"text":51},"8334949","Well, there are a few. The main one is that Paths.js only builds a descriptor of your path (the string that goes into the \"d\" attribute of the SVG path tag), and leaves to you…",{"id":53,"by":11,"text":54},"8335195","Well, if you are familiar with SVG and you just want to write at this level of abstraction, yes. But of course, this is only the lowest level API. The actual purpose of library…",[56,64],{"value":57,"source":58,"evidence":59},"JavaScript","commenter",[60],{"id":61,"by":62,"text":63},"8335371","josteink","Looks nice, but I would really prefer the samples on the sample-site to be in plain Javascript. Coffescript isn't for everyone, on the web Javascript should be considered the…",{"value":65,"source":58,"evidence":66},"CoffeeScript",[67],{"id":61,"by":62,"text":63},"unknown",{"praise":70,"objections":94,"requests":116,"questions":132,"alternatives":146},[71,86],{"value":72,"source":58,"evidence":73},"Useful, well-layered library that is easy to hack on",[74,78,82],{"id":75,"by":76,"text":77},"8336695","chrisdevereux","This is a brilliantly conceived library. It does one thing well and even within that, decomposes into clear layers of abstraction. I've been using it at work and found the…",{"id":79,"by":80,"text":81},"8335225","bshimmin","I guess you didn't make it more than a third of the way through the README. This looks super useful for the many circumstances where interpolating things into strings to generate…",{"id":83,"by":84,"text":85},"8336640","ffn","Hey, this is actually pretty useful. Thanks",{"value":87,"source":58,"evidence":88},"Helpful for avoiding string interpolation of SVG paths",[89,90],{"id":79,"by":80,"text":81},{"id":91,"by":92,"text":93},"8335492","untog","Yes, which is actually very useful once you start doing things like working with variables.",[95,105,112],{"value":96,"source":58,"evidence":97},"Docs need inline examples and images, too much text",[98,102],{"id":99,"by":100,"text":101},"8334804","imaginenore","Your documentation needs images (or, you know, actual SVG).",{"id":103,"by":100,"text":104},"8335083","I'm talking about the documentation examples, not the demo. They are simple enough to include the results right next.",{"value":106,"source":58,"evidence":107},"No explanation of differences from D3 in README",[108],{"id":109,"by":110,"text":111},"8335271","mshark","You should have a section in your README discussing differences from D3. I've used D3 a little and understand some of the pain points. Looking at your library I'm asking myself…",{"value":113,"source":58,"evidence":114},"Demo written in CoffeeScript rather than plain JavaScript",[115],{"id":61,"by":62,"text":63},[117,121,128],{"value":118,"source":58,"evidence":119},"Add README section comparing with D3",[120],{"id":109,"by":110,"text":111},{"value":122,"source":58,"evidence":123},"Use CanvasPathMethods naming for compatibility",[124],{"id":125,"by":126,"text":127},"8337436","spb","This is OK, but it would be a lot more useful if the low level API used the standard names from CanvasPathMethods for compatibility with Canvas and Path2D:…",{"value":129,"source":58,"evidence":130},"Add more chart features such as stacked bar charts",[131],{"id":75,"by":76,"text":77},[133,140],{"value":134,"source":58,"evidence":135},"Differences from D3",[136],{"id":137,"by":138,"text":139},"8334912","girinambari","Any core differences between Path.js and D3?",{"value":141,"source":58,"evidence":142},"Memory leak behaviour over time",[143],{"id":144,"by":138,"text":145},"8335243","Thanks! make sense. I have observed that lot of JS based SVG libraries having memory leaks and slowing down browser over the time, how paths.js behaves in this context?",[147,155],{"value":148,"source":58,"evidence":149},"D3",[150,151],{"id":137,"by":138,"text":139},{"id":152,"by":153,"text":154},"8336652","woah","If this is viable for making dataviz, it will be a great relief to get away from D3's disorganized mishmash of data wrangling and dom manipulation code!",{"value":156,"source":58,"evidence":157},"High-level charting libraries built on d3",[158],{"id":75,"by":76,"text":77},{"comments":160,"answered":161,"key":162},6,4,[163,166,169],{"id":164,"text":165},"8334838","Hi, you can find a working demo on http:\u002F\u002Fandreaferretti.github.io\u002Fpaths-js-demo\u002F It is mentioned in the README (How does it look like?) but maybe it is not apparent enough",{"id":167,"text":168},"8335057","Done, thank you!",{"id":170,"text":171},"8335097","Ah ok, I understand. Yes, the docs now look too much like a giant wall of text. My plan for 0.4 is (among other things) to organize the documentation a little better, and I will…",{"commenters":173,"max_depth":161,"maker_replies":160,"first_comment_mins":174,"lifespan_hours":175},18,13,8,[177,179,182,186,190,192,194,198,199,203,204,205,208,210,212,214,217,218,220,222,225,229,230,231,235,237,238],[61,40,32,178,62,40],"project\u002Fmixed\u002Fdocs",[180,40,32,181,92,40],"8335497","project\u002Fneutral\u002Fdocs",[183,40,40,184,185,40],"8335531","commenter\u002Fneutral\u002Fdocs","jasallen",[187,33,40,188,189,40],"8334944","commenter\u002Fpositive\u002Fnone","sidcool",[99,38,33,191,100,40],"project\u002Fcritical\u002Fdocs",[164,38,40,193,11,33],"maker\u002Fneutral\u002Fdocs",[195,38,31,196,197,40],"8335043","project\u002Fpositive\u002Fdocs","catfive",[167,38,40,193,11,33],[200,38,40,201,202,40],"8335546","other\u002Fneutral\u002Fnone","bsimpson",[103,38,33,191,100,40],[170,38,40,193,11,33],[206,32,40,201,207,40],"8337069","akx",[137,161,32,209,138,40],"project\u002Fneutral\u002Fidea",[50,161,40,211,11,33],"maker\u002Fneutral\u002Fidea",[144,161,32,213,138,40],"project\u002Fneutral\u002Fperformance",[215,161,40,216,11,33],"8335344","maker\u002Fneutral\u002Fperformance",[109,161,33,191,110,40],[75,31,31,219,76,40],"project\u002Fpositive\u002Fdesign",[152,160,31,221,153,40],"project\u002Fpositive\u002Fidea",[125,223,33,224,126,40],7,"project\u002Fcritical\u002Fdesign",[226,175,33,227,228,40],"8335172","project\u002Fcritical\u002Fidea","dgreensp",[53,175,40,211,11,33],[79,175,31,221,80,40],[232,175,40,233,234,40],"8335309","commenter\u002Fneutral\u002Fnone","mambodog",[236,175,40,233,62,40],"8335398",[91,175,40,233,92,40],[83,239,31,240,84,40],9,"project\u002Fpositive\u002Fnone",[],[243,248,253,258,263,268],{"id":244,"name":245,"points":246,"category":247},"8356778","ParseHub",143,"data",{"id":249,"name":250,"points":251,"category":252},"8355876","Waffle",68,"consumer_social",{"id":254,"name":255,"points":256,"category":257},"8361258","Beyondpad",59,"productivity",{"id":259,"name":260,"points":261,"category":262},"8355721","Branch",57,"infrastructure",{"id":264,"name":265,"points":266,"category":267},"8344877","Battleboat.js",52,"games",{"id":269,"name":270,"points":271,"category":247},"8340109","zfs-snap-diff",50,false,"v2",{"id":275,"name":5,"line":6,"ai":272,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":276,"top":18,"kw":277,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":278,"url":9,"mix":279,"praise":72,"objection":96,"sub":21},8334767,0.04,[24,25,26,27],"330010500100303015511050005",[31,32,33,31],1793990912359]