[{"data":1,"prerenderedAt":566},["ShallowReactive",2],{"project-44023144":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":42,"post_text":45,"what":46,"said":65,"maker_in_thread":173,"shape":182,"grid":186,"attempts":530,"same_week":531,"maker_shows":41,"maker_hidden":558,"reader_version":559,"card":560},"44023144","Vaev","A browser engine built from scratch (It renders google.com)","title","Show HN: Vaev – A browser engine built from scratch (It renders google.com)","https:\u002F\u002Fgithub.com\u002Fskift-org\u002Fvaev","github.com","monax",1747590852,2025,233,142,262,3837,7,"notable","dev_tools","browser engine","library",[21,24,25,26],"html css renderer","pdf rendering","c++ browser","debated",0.115,{"positive":30,"neutral":31,"mixed":32,"critical":33},11,12,0,8,31,{"execution":36,"idea":38,"docs":40},{"positive":37,"critical":37},3,{"positive":39,"critical":37},4,{"positive":32,"critical":41},1,[39,37,32,41,43,37,43,32,32,32,32,37,32,37,32,32,32,32,32,32,32,41,32,32,32,43,32,43,41,43,32,37,43,37,37,32,32,44,32,43],5,2,"We’ve been working on Vaev, a minimal web browser engine built from scratch. It supports HTML\u002FXHTML, the CSS cascade, @page rules for pagination, and print-to-PDF rendering. It even handles calc(), var(), and percentage units—and yes, it renders Google.com (mostly).\n\nThis is an experimental project focused on learning and exploration. Networking is basic (http:\u002F\u002F and file:\u002F\u002F only), and grid layouts aren’t supported yet, but we’re making progress fast.\n\nWe’d love your thoughts and feedback.",{"problem":47,"audience":54,"pricing":54,"motivation":55,"time_to_build":54,"stack":61,"openness":62,"stage":63,"team_size":64},{"value":48,"source":49,"evidence":50},"Rendering static documents to PDF, with paginated print support, as the core of paper-muncher","maker",[51],{"id":52,"by":11,"text":53},"44023507","The main goal is great support for static documents rendering as it's being used at the core of the paper-muncher [1] PDF rendering engine, meant to replace wkhtmltopdf at odoo.…",null,{"value":56,"source":49,"evidence":57},"Learning and exploration; main goal is static document rendering for paper-muncher PDF engine",[58,60],{"id":59},"post",{"id":52,"by":11,"text":53},[],"open_source","prototype","unknown",{"praise":66,"objections":90,"requests":113,"questions":128,"alternatives":144},[67,79],{"value":68,"source":69,"evidence":70},"Clean, modern C++ codebase that is easy to read","commenter",[71,75],{"id":72,"by":73,"text":74},"44027186","mirsadm","Well done, this is really cool. It is nice to see more modern C++ in use. The codebase is really easy to read and understand. People here need to get over the fact that it's not…",{"id":76,"by":77,"text":78},"44026229","throwaway2037","This C++ code is wildly modern. Very impressive. Using only the GitHub web interface, I could not find the definition for Gc::Ref. Where can I find it?",{"value":80,"source":69,"evidence":81},"Impressive achievement building a browser engine from scratch",[82,86],{"id":83,"by":84,"text":85},"44026313","guywithahat","I don't mean this as a slight against you but it's incredible how much code it takes to write a browser that barely works. I've always thought it would be fun to write a browser…",{"id":87,"by":88,"text":89},"44028455","Koshima","This is really cool! Building a browser engine from scratch is no small feat, especially when handling complex CSS features like calc(), var(), and percentage units. It’s a great…",[91,106],{"value":92,"source":69,"evidence":93},"C++ is risky for a browser given memory-safety security concerns",[94,98,102],{"id":95,"by":96,"text":97},"44025713","danpalmer","I'm interested in why C++ was chosen for this? Browsers are notoriously hard to secure, they're effectively mean to be RCE vulnerabilities! Securing C++ binaries is hard and has…",{"id":99,"by":100,"text":101},"44025737","landr0id","I had the same thought. The project's description: >secure HTML\u002FCSS engine No offense to these folks, but I see no evidence of any fuzzing which makes it hard to believe there…",{"id":103,"by":104,"text":105},"44028209","sylware","dudes... c++... definitive nono. Please, move to plain and simple C99+.",{"value":107,"source":69,"evidence":108},"Marketing of lightweight and secure is misleading given missing features",[109],{"id":110,"by":111,"text":112},"44027841","ivanjermakov","> A lightning-fast, lightweight, and secure Let me guess, it's lightning-fast because it lacks many features and secure because it's a thousand times less code than the…",[114,121],{"value":115,"source":69,"evidence":116},"Expand documentation; the tldraw architecture file is hard to view",[117],{"id":118,"by":119,"text":120},"44032895","potato-peeler","Hoping you will expand the documentation. That tldraw file is almost unusable, no online service exists to view the file. Only thing I got was a vscode extension. Unless I have…",{"value":122,"source":69,"evidence":123},"Accepting contributions for a non-Chromium wkhtmltopdf alternative",[124],{"id":125,"by":126,"text":127},"44024650","quibono","Are you open to contributions? I would love if there was a non-chromium alternative to wkhtmltopdf!",[129,136,140],{"value":130,"source":69,"evidence":131},"What is the long-term goal beyond learning?",[132],{"id":133,"by":134,"text":135},"44023465","abhisek","What’s the long term goal of this project beyond learning? Building a browser to support the modern web is a humongous work IMHO.",{"value":137,"source":69,"evidence":138},"Will networking support HTTPS or WebSockets?",[139],{"id":87,"by":88,"text":89},{"value":141,"source":69,"evidence":142},"Why was C++ chosen?",[143],{"id":95,"by":96,"text":97},[145,152,159,166],{"value":146,"source":69,"evidence":147},"Typst for PDF generation",[148],{"id":149,"by":150,"text":151},"44025100","giovannibonetti","At work we recently switched from Wkhtmltopdf to Typst, which is a breath of fresh air. It is very fast and generates PDFs from scratch without needing to involve HTML or a…",{"value":153,"source":69,"evidence":154},"WeasyPrint HTML to PDF",[155],{"id":156,"by":157,"text":158},"44025309","karteum","I also love Typst and use it regularly. But just to note it : there is also https:\u002F\u002Fweasyprint.org that takes HTML as input",{"value":160,"source":69,"evidence":161},"Ladybird and Servo browser engines",[162],{"id":163,"by":164,"text":165},"44024337","graypegg","I think that would be really neat for small scale web publishing, but making it a subset of browser standards could be a really difficult sell to the people making browsers.…",{"value":167,"source":69,"evidence":168},"Sciter",[169],{"id":170,"by":171,"text":172},"44027068","mingodad","There is also https:\u002F\u002Fsciter.com\u002F that the author tried to find finance to make it opensource but couldn't find enough supporters.",{"comments":43,"answered":37,"key":174},[175,178,179],{"id":176,"text":177},"44026392","It's just a placeholder implementation, we will have a proper GC when we get to it",{"id":52,"text":53},{"id":180,"text":181},"44028140","Yes !",{"commenters":183,"max_depth":33,"maker_replies":43,"first_comment_mins":184,"lifespan_hours":185},90,50,67,[187,189,191,194,196,199,201,203,207,210,212,216,219,223,224,227,228,231,232,235,237,239,242,245,249,250,253,256,258,261,264,266,269,272,275,278,281,285,288,291,293,296,298,301,304,306,309,312,315,318,321,323,326,328,330,333,335,338,341,343,345,347,349,351,354,357,360,363,366,367,370,373,375,378,381,384,386,389,391,394,396,399,401,404,407,409,411,413,416,419,422,424,427,430,433,434,436,438,440,442,444,446,450,453,458,462,466,469,472,475,478,481,483,486,488,490,493,496,499,501,504,506,509,512,514,518,521,524,527],[72,32,43,188,73,32],"project\u002Fpositive\u002Fexecution",[76,41,37,190,77,32],"project\u002Fneutral\u002Fexecution",[192,41,37,190,193,32],"44026358","Lockal",[176,41,32,195,11,41],"maker\u002Fneutral\u002Fexecution",[197,41,37,190,198,32],"44026626","lodovic",[133,44,37,200,134,32],"project\u002Fneutral\u002Fidea",[52,44,32,202,11,41],"maker\u002Fneutral\u002Fidea",[204,44,32,205,206,32],"44023859","other\u002Fneutral\u002Fnone","dmkolobov",[208,44,32,205,209,32],"44024371","sshine",[211,44,32,205,206,32],"44025004",[213,44,41,214,215,32],"44026835","project\u002Fcritical\u002Fidea","mherrmann",[217,44,32,218,206,32],"44032911","commenter\u002Fneutral\u002Fnone",[220,44,43,221,222,32],"44024835","maker\u002Fpositive\u002Fnone","Teever",[149,44,32,205,150,32],[225,44,32,205,226,32],"44025244","stevage",[156,44,32,205,157,32],[229,44,37,190,230,32],"44026661","kabes",[180,44,32,190,11,41],[233,44,37,200,234,32],"44023516","pierrelf",[236,44,32,202,11,41],"44023645",[87,37,43,238,88,32],"project\u002Fpositive\u002Fidea",[240,39,32,205,241,32],"44026420","firefoxd",[243,39,32,218,244,32],"44026644","munchler",[246,43,32,247,248,32],"44024102","other\u002Fneutral\u002Fidea","khimaros",[163,43,32,247,164,32],[251,43,32,205,252,32],"44024480","userbinator",[254,43,32,247,255,32],"44024770","shiomiru",[257,43,32,247,252,32],"44024442",[259,43,32,205,260,32],"44024611","ghayes",[262,43,32,205,263,32],"44024807","edoceo",[265,43,32,205,252,32],"44024982",[267,43,32,205,268,32],"44025158","dmd",[270,43,32,205,271,32],"44031340","WorldMaker",[273,43,32,205,274,32],"44026920","shakna",[276,43,32,205,277,32],"44026990","notpushkin",[279,43,32,205,280,32],"44024625","poisonborz",[282,43,37,283,284,32],"44024768","maker\u002Fneutral\u002Fnone","5-",[286,43,32,247,287,32],"44024884","robocat",[289,43,32,205,290,32],"44030991","GoblinSlayer",[292,43,32,205,226,32],"44025202",[294,43,32,205,295,32],"44026019","Inviz",[297,43,32,205,271,32],"44031377",[299,43,37,200,300,32],"44027027","sn0n",[302,43,32,205,303,32],"44028487","nulld3v",[305,43,32,205,290,32],"44028547",[307,43,32,205,308,32],"44024575","enos_feedler",[310,43,32,247,311,32],"44024868","idle_zealot",[313,43,32,205,314,32],"44026336","OJFord",[316,43,32,205,317,32],"44026590","avmich",[319,43,32,205,320,32],"44026917","fshafique",[322,43,32,205,277,32],"44026974",[324,43,32,205,325,32],"44028378","MrLeap",[327,43,32,205,277,32],"44028439",[329,43,32,218,314,32],"44032111",[331,43,32,205,332,32],"44026342","43920",[334,43,32,205,277,32],"44026966",[336,43,32,205,337,32],"44027454","OptionX",[339,43,32,205,340,32],"44027869","jeroenhd",[342,43,32,205,277,32],"44028465",[344,43,32,205,271,32],"44031151",[346,43,32,218,277,32],"44031521",[348,43,32,205,271,32],"44031220",[350,43,32,205,271,32],"44031295",[352,43,32,205,353,32],"44027725","codedokode",[355,43,32,218,356,32],"44027817","brettermeier",[358,43,32,205,359,32],"44036733","ksec",[361,43,32,205,362,32],"44041548","pkphilip",[95,364,41,365,96,32],6,"project\u002Fcritical\u002Fexecution",[99,364,41,365,100,32],[368,364,32,218,369,32],"44026074","postalrat",[371,364,32,218,372,32],"44026513","whitten",[374,364,32,218,96,32],"44026800",[376,364,32,205,377,32],"44026430","zarzavat",[379,364,32,205,380,32],"44026510","01HNNWZ0MV43FF",[382,364,32,205,383,32],"44026953","WD-42",[385,364,32,205,377,32],"44027152",[387,364,32,205,388,32],"44027295","norman784",[390,364,32,205,383,32],"44038202",[392,364,32,205,393,32],"44026975","dtech",[395,364,32,205,377,32],"44027121",[397,364,43,188,398,32],"44027061","const_cast",[400,364,32,205,388,32],"44027326",[402,18,32,205,403,32],"44025399","DarkmSparks",[405,18,32,218,406,32],"44025516","flexagoon",[408,18,32,205,77,32],"44026248",[410,18,32,205,403,32],"44034160",[412,18,32,218,406,32],"44039689",[414,18,32,205,415,32],"44026374","exikyut",[417,33,43,238,418,32],"44031574","Aeyxen",[420,33,32,218,421,32],"44033618","TApplencourt",[170,423,32,205,171,32],9,[425,423,41,214,426,32],"44027918","mathverse",[118,428,41,429,119,32],10,"project\u002Fcritical\u002Fdocs",[431,30,37,283,432,32],"44027005","madmod",[125,31,43,221,126,32],[435,31,32,205,284,32],"44024754",[437,31,32,205,263,32],"44024888",[439,31,32,218,406,32],"44025546",[441,31,32,218,126,32],"44050824",[83,443,43,188,84,32],13,[445,443,32,205,388,32],"44027353",[447,448,32,205,449,32],"44025800",14,"est",[110,451,41,452,111,32],15,"project\u002Fcritical\u002Fnone",[454,455,43,456,457,32],"44043046",16,"project\u002Fpositive\u002Fnone","lorikmor",[459,460,43,456,461,32],"44034478",17,"sudhar172",[463,464,37,200,465,32],"44023540",18,"busymom0",[467,464,32,468,11,41],"44023560","project\u002Fneutral\u002Fnone",[470,464,37,468,471,32],"44023701","dymk",[473,464,32,218,474,32],"44027070","saagarjha",[476,464,37,468,477,32],"44023721","tos1",[479,464,32,205,480,32],"44024158","revskill",[482,464,32,205,465,32],"44024174",[484,464,32,218,485,32],"44025840","jdironman",[487,464,32,218,465,32],"44025887",[489,464,32,205,474,32],"44027075",[491,464,32,205,492,32],"44024329","II2II",[494,464,32,205,495,32],"44026729","pndy",[497,464,32,205,498,32],"44024531","Telemakhos",[500,464,32,218,226,32],"44025259",[502,464,43,238,503,32],"44024712","Hashex129542",[103,505,41,365,104,32],19,[507,508,41,214,215,32],"44027081",20,[510,508,32,218,511,32],"44027143","SCLeo",[513,508,32,218,215,32],"44027247",[515,508,32,516,517,32],"44027344","commenter\u002Fpositive\u002Fidea","sjogress",[519,508,32,218,520,32],"44027362","devgoncalo",[522,508,32,516,523,32],"44027932","aguacaterojo",[525,508,43,238,526,32],"44030361","Mathilde411",[528,508,32,516,529,32],"44039180","tomhow",[],[532,537,541,545,550,554],{"id":533,"name":534,"points":535,"category":536},"44022353","Voynich NLP analysis",381,"learning_science",{"id":538,"name":539,"points":540,"category":20},"44042371","90s.dev",352,{"id":542,"name":543,"points":544,"category":20},"44042490","Jwno",297,{"id":546,"name":547,"points":548,"category":549},"44009321","KVSplit",272,"ai",{"id":551,"name":552,"points":553,"category":20},"44006231","Erlang-RED",243,{"id":555,"name":556,"points":557,"category":20},"44020734","Hardtime.nvim",214,false,"v2",{"id":561,"name":5,"line":6,"ai":558,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":562,"top":18,"kw":563,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":564,"url":9,"mix":565,"praise":68,"objection":92,"sub":21},44023144,0.12,[21,24,25,26],"4301535000030300000001000505150353300205",[30,31,32,33],1794036675076]