[{"data":1,"prerenderedAt":322},["ShallowReactive",2],{"project-8832470":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":43,"post_text":44,"what":45,"said":89,"maker_in_thread":196,"shape":209,"grid":213,"attempts":287,"same_week":288,"maker_shows":34,"maker_hidden":314,"reader_version":315,"card":316},"8832470","Primrose","A text editor that draws to Canvas","title","Show HN: Primrose – A text editor that draws to Canvas","http:\u002F\u002Fcapnmidnight.github.io\u002FPrimrose\u002F","capnmidnight.github.io","moron4hire",1420327677,2015,49,34,574,2565,23,"shown","dev_tools","code editor","library",[24,25,26,27],"canvas text editor","webgl text editor","javascript editor","webvr text","mixed",-0.167,{"positive":31,"neutral":32,"mixed":33,"critical":34},3,4,1,7,15,{"docs":37,"execution":39,"idea":41,"performance":42},{"positive":38,"critical":38},0,{"positive":33,"critical":40},5,{"positive":33,"critical":33},{"positive":33,"critical":38},[33,38,31,38,38,38,38,33,33,38,40,38,33,38,33,38,33,33,31,38,40,31,38,38,38,38,38,38,31,40,38,38,31,38],null,{"problem":46,"audience":53,"pricing":44,"motivation":60,"time_to_build":67,"stack":73,"openness":86,"stage":87,"team_size":88},{"value":47,"source":48,"evidence":49},"No way to have editable, highlighted text in a WebGL context","maker",[50],{"id":51,"by":11,"text":52},"8832878","Release early, release often--or, we'll cross that bridge if we ever get to it. Unfortunately, I'm not out to make a tool for everyone in the world. No, I don't have a plan for…",{"value":54,"source":48,"evidence":55},"Developers needing text editing in WebGL\u002FWebVR scenes",[56,57],{"id":51,"by":11,"text":52},{"id":58,"by":11,"text":59},"8833347","Well, the problem with CSS formatting is that it doesn't composite well with 3D scenes in WebGL contexts. That's the ultimate goal here, to have 3D objects in a VR application…",{"value":61,"source":48,"evidence":62},"Needs a canvas element usable as a texture for WebVR text editing",[63,64],{"id":51,"by":11,"text":52},{"id":65,"by":11,"text":66},"8833767","In support of Brian Peiris' RiftSketch, as well as other, similar projects: https:\u002F\u002Fgithub.com\u002Fbrianpeiris\u002FRiftSketch\u002F It was something he and I discussed a few months ago and…",{"value":68,"source":48,"evidence":69},"About a weekend, around 20 hours",[70],{"id":71,"by":11,"text":72},"8832887","Yes, and it could even stand to be cut down more, which I find exciting. This is not going to be anything approaching the complexity of something like Vim. Think more like…",[74,82],{"value":75,"source":76,"evidence":77},"JavaScript","inferred",[78],{"id":79,"by":80,"text":81},"8832847","DennisP","Wow, that's not much code. I'm going to have to study this.",{"value":83,"source":48,"evidence":84},"WebGL",[85],{"id":51,"by":11,"text":52},"open_source","prototype","unknown",{"praise":90,"objections":103,"requests":146,"questions":157,"alternatives":168},[91,99],{"value":92,"source":93,"evidence":94},"Renders well and feels responsive in Chrome","commenter",[95],{"id":96,"by":97,"text":98},"8832870","thomasfoster96","This is awesome. The demo works really well in Chrome, actually almost better than native text editing for me.",{"value":100,"source":93,"evidence":101},"Small, readable codebase",[102],{"id":79,"by":80,"text":81},[104,111,122,129,139],{"value":105,"source":93,"evidence":106},"Does not work in Firefox",[107],{"id":108,"by":109,"text":110},"8832826","kolev","Does not work on Firefox Developer Edition at all.",{"value":112,"source":93,"evidence":113},"Missing word wrap, RTL and CJK support",[114,118],{"id":115,"by":116,"text":117},"8832842","ryanackley","I've encountered the problems you're trying to solve. First, it needs to handle word wrapping which yours doesn't seem to do. After that, it's i18n text that make this a…",{"id":119,"by":120,"text":121},"8833715","hasenj","Any plans to support bidirectional text?",{"value":123,"source":93,"evidence":124},"Selection and delete keys not supported",[125],{"id":126,"by":127,"text":128},"8832910","donatj","Nice demo but far from usable as an actual editor IMHO. Doesn't seem to support a lot of common ways I edit text, like holding shift and using arrow \u002F alt-arrow to select.…",{"value":130,"source":93,"evidence":131},"Uses its own keyboard layout, ignoring OS layout",[132,136],{"id":133,"by":134,"text":135},"8832891","pantalaimon","It seems to use it's own keyboard layout, not the one set in the operating system\u002Fprinted on my keyboard.",{"id":137,"by":134,"text":138},"8832928","There is also this inconsistency that's irritating. I'm typing on a qwertz keyboard and in Primrose, z is z (instead of y). But all 'special' characters are qwerty layout. Great…",{"value":140,"source":93,"evidence":141},"License says contact me, which is unclear",[142],{"id":143,"by":144,"text":145},"8832890","yodon","You clearly get that licenses matter, but you've released your code under the worst of all possible licenses, namely \"contact me for permission.\" This is an easy one to solve, it…",[147,151],{"value":148,"source":93,"evidence":149},"Add bidirectional text support",[150],{"id":119,"by":120,"text":121},{"value":152,"source":93,"evidence":153},"Add a real open source license in the README",[154],{"id":155,"by":144,"text":156},"8832954","awesome, I'd mention GPL3 in your README licensing section - so many projects lack any kind of license file that even when I thought I'd looked for one I missed it and walked…",[158,164],{"value":159,"source":48,"evidence":160},"How to get a textarea or element into a canvas",[161],{"id":162,"by":11,"text":163},"8837422","How do you get the textarea, or any other element, into a canvas?",{"value":165,"source":93,"evidence":166},"Whether bidirectional text will be supported",[167],{"id":119,"by":120,"text":121},[169,176,183,190],{"value":170,"source":93,"evidence":171},"Mozilla Bespin",[172],{"id":173,"by":174,"text":175},"8833015","timothya","This reminds me a bit about the Mozilla Bespin editor from several years ago. They've since merged with the ACE editor, but before the merge they drew everything on a \u003Ccanvas>.…",{"value":177,"source":93,"evidence":178},"Carota editor",[179],{"id":180,"by":181,"text":182},"8833652","maxharris","If you think that Primrose is neat, checkout Daniel Earwicker's carota editor. It's based on a similar idea and has way more features, as well as a license that won't hose your…",{"value":184,"source":93,"evidence":185},"CodeChisel3D",[186],{"id":187,"by":188,"text":189},"8833810","robertkrahn01","My project CodeChisel3D has a similar goal: http:\u002F\u002Frobert.kra.hn\u002Fprojects\u002Flive-programming-with-three-and-webvr",{"value":191,"source":93,"evidence":192},"Ace editor backed canvas approach",[193],{"id":194,"by":188,"text":195},"8868711","Same approach here. Except that I use the ace editor (http:\u002F\u002Face.c9.io\u002F) as the backend. This has the nice advantage that you get full code editing capabilities in 3D.",{"comments":197,"answered":198,"key":199},9,2,[200,203,206],{"id":201,"text":202},"8832908","If you look at the Github repository, you will see that I have a license file that specifies GPLv3. \"Contact me\" really only means \"I haven't setup a site for you to buy a…",{"id":204,"text":205},"8832839","https:\u002F\u002Fgithub.com\u002Fcapnmidnight\u002FPrimrose\u002Fissues\u002F7 \"works in Chrome\" is just all the further I've gotten so far in a weekend. I can eventually get it to work in Firefox, just need…",{"id":207,"text":208},"8833438","No, it wasn't harsh. I'm still learning how to communicate my projects here. Trying to figure out the right level of doneness (somewhere between \"tartar\" and \"shoe leather\")…",{"commenters":210,"max_depth":34,"maker_replies":197,"first_comment_mins":211,"lifespan_hours":212},18,138,170,[214,216,218,219,221,223,227,231,233,234,236,239,241,242,244,247,250,252,255,257,258,260,264,265,266,269,270,273,274,277,279,280,282,285],[143,38,33,215,144,38],"project\u002Fcritical\u002Fnone",[201,38,38,217,11,33],"maker\u002Fneutral\u002Fdocs",[155,38,31,217,144,38],[173,33,38,220,174,38],"other\u002Fneutral\u002Fidea",[180,198,38,222,181,38],"other\u002Fpositive\u002Fidea",[224,198,38,225,226,38],"8833697","other\u002Fpositive\u002Fnone","zaroth",[228,198,38,229,230,38],"8838545","other\u002Fneutral\u002Fnone","danielearwicker",[126,31,33,232,127,38],"project\u002Fcritical\u002Fexecution",[108,32,33,232,109,38],[204,32,38,235,11,33],"maker\u002Fneutral\u002Fexecution",[237,32,40,238,109,38],"8833392","maker\u002Fpositive\u002Fidea",[207,32,38,240,11,33],"commenter\u002Fneutral\u002Fnone",[115,40,33,232,116,38],[51,40,38,243,11,33],"maker\u002Fneutral\u002Fidea",[245,40,33,246,116,38],"8832965","project\u002Fcritical\u002Fidea",[248,40,38,229,249,38],"8850998","mattdesl",[133,251,33,232,134,38],6,[253,251,33,232,254,38],"8832906","birdsareweird",[137,251,31,256,134,38],"project\u002Fmixed\u002Fexecution",[58,251,38,243,11,33],[96,34,40,259,97,38],"project\u002Fpositive\u002Fperformance",[261,262,31,243,263,38],"8833680",8,"blt",[65,262,38,243,11,33],[187,262,38,220,188,38],[267,262,38,220,268,38],"8837130","brian_peiris",[162,262,38,235,11,33],[271,262,38,272,268,38],"8841918","other\u002Fneutral\u002Fexecution",[194,262,38,272,188,38],[275,262,31,276,249,38],"8833829","project\u002Fneutral\u002Fidea",[79,197,40,278,80,38],"project\u002Fpositive\u002Fexecution",[71,197,38,235,11,33],[281,197,38,229,80,38],"8833135",[119,283,31,284,120,38],10,"project\u002Fneutral\u002Fexecution",[286,283,38,235,11,33],"8834934",[],[289,293,297,301,306,310],{"id":290,"name":291,"points":292,"category":20},"8823938","Snabbt.js",323,{"id":294,"name":295,"points":296,"category":20},"8840173","WordsAPI",263,{"id":298,"name":299,"points":300,"category":20},"8844723","Pgcli",227,{"id":302,"name":303,"points":304,"category":305},"8825308","awesome-remote-job",218,"productivity",{"id":307,"name":308,"points":309,"category":305},"8831950","Sitekite",114,{"id":311,"name":312,"points":313,"category":20},"8831912","Crapify",96,false,"v2",{"id":317,"name":5,"line":6,"ai":314,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":318,"top":18,"kw":319,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":320,"url":9,"mix":321,"praise":92,"objection":105,"sub":21},8832470,-0.17,[24,25,26,27],"1030000110501010113053000000350030",[31,32,33,34],1794036526679]