[{"data":1,"prerenderedAt":326},["ShallowReactive",2],{"project-41095839":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":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":44,"post_text":47,"what":48,"said":74,"maker_in_thread":179,"shape":191,"grid":195,"attempts":285,"same_week":290,"maker_shows":35,"maker_hidden":318,"reader_version":319,"card":320},"41095839","statsbomb-3d-viz","A football\u002Fsoccer pass visualizer made with Three.js","title","Show HN: A football\u002Fsoccer pass visualizer made with Three.js","https:\u002F\u002Fstatsbomb-3d-viz.vercel.app\u002F","statsbomb-3d-viz.vercel.app","carlos-menezes",1722199517,2024,182,34,441,3515,13,"notable","creative","sports data visualization","web_app",[24,25,26,27,28],"football pass visualizer","statsbomb open data","three.js","soccer analytics","pass map","mixed",0.122,{"positive":32,"neutral":33,"mixed":34,"critical":35},6,8,1,4,19,{"design":38,"execution":40,"idea":42,"docs":43},{"positive":34,"critical":39},2,{"positive":41,"critical":34},0,{"positive":34,"critical":41},{"positive":39,"critical":34},[41,41,41,41,45,41,41,41,45,45,45,41,45,34,46,45,34,41,45,46,45,41,34,41,41,34,46,46,45,41,46,41,46,41],3,5,"I've been working on a football pass visualiser for the past week.\n\nIt uses open data from StatsBomb to analyse and visualise passing patterns, allowing users to explore and filter the data by pass distance, team and players.",{"problem":49,"audience":55,"pricing":55,"motivation":56,"time_to_build":62,"stack":66,"openness":72,"stage":72,"team_size":73},{"value":50,"source":51,"evidence":52},"Explore and filter football passing patterns by distance, team and player","maker",[53],{"id":54},"post",null,{"value":57,"source":51,"evidence":58},"Built as a way to get started with RTF and Three.js",[59],{"id":60,"by":11,"text":61},"41099691","I did this as a way to get started with RTF + Three.js.",{"value":63,"source":51,"evidence":64},"About a week",[65],{"id":54},[67],{"value":68,"source":51,"evidence":69},"Three.js",[70,71],{"id":54},{"id":60,"by":11,"text":61},"unknown","solo",{"praise":75,"objections":99,"requests":126,"questions":150,"alternatives":167},[76,88],{"value":77,"source":78,"evidence":79},"Load Example button helped understand the tool","commenter",[80,84],{"id":81,"by":82,"text":83},"41097434","rocauc","\"Load Example\" was very helpful to get a sense of what this does. Awesome build. +1 to the other comment wanting a breakdown of what the colors mean. Also, combining this with…",{"id":85,"by":86,"text":87},"41096112","navis05","Would love if there was a way to instantly see an example url Like a “try example button” Lower friction to test",{"value":89,"source":78,"evidence":90},"Clean interface and good build",[91,95],{"id":92,"by":93,"text":94},"41096141","chaosprint","Great interface. Maybe provide a direct example, if I want to change to something else, I will find the raw json myself through the guidance you provided. After loading it, I…",{"id":96,"by":97,"text":98},"41097326","deanrtaylor","Really impressive work",[100,107,115],{"value":101,"source":78,"evidence":102},"Lines are hard to see when filtering by team and player",[103],{"id":104,"by":105,"text":106},"41096269","SushiHippie","I don't know how you decide the colors for the lines, but when I filter by a team and a specific player I need to search for the lines as they are basically invisible.",{"value":108,"source":78,"evidence":109},"Pass colors are unexplained",[110,114],{"id":111,"by":112,"text":113},"41096570","airstrike","What do the colors mean? I assume this is complete passes only, not intercepted ones? How about displaying some heatmap of passes instead of individual vectors for a different…",{"id":81,"by":82,"text":83},{"value":116,"source":78,"evidence":117},"Loading a file via GitHub URL fails with errors or CORS issues",[118,122],{"id":119,"by":120,"text":121},"41098060","luispauloml","I am trying to load a file but it fails. I tried different URL formats: ``` - https:\u002F\u002Fgithub.com\u002Fstatsbomb\u002Fopen-data\u002Fblob\u002Fmaster\u002Fdata\u002Fevents\u002F15956.json -…",{"id":123,"by":124,"text":125},"41100334","freedomben","I get a CORS error when the page tries to GET the github link, with both Chrome and Firefox. Even the \"example\" button hits that issue. Are others working around this somehow or…",[127,138,142],{"value":128,"source":78,"evidence":129},"Replay passes in time order or animation",[130,134],{"id":131,"by":132,"text":133},"41096267","vessenes","This is cool, thanks for sharing it. Any chance you could add a time-based animation? I'd love to see a game play out, maybe with some fading colors. Also, I wonder what the best…",{"id":135,"by":136,"text":137},"41098435","andy_ppp","Looks cool, would be great to be able to replay the passes in time order, then I think you could get a feel for the game.",{"value":139,"source":78,"evidence":140},"Heatmap view and summary stats per player\u002Fteam",[141],{"id":111,"by":112,"text":113},{"value":143,"source":78,"evidence":144},"Clearer example URL format or try-example button",[145,146],{"id":85,"by":86,"text":87},{"id":147,"by":148,"text":149},"41098249","0xrandom","love this; would have to have an example of how the example URL would look like.",[151,156,160],{"value":152,"source":78,"evidence":153},"What do the colors mean?",[154,155],{"id":111,"by":112,"text":113},{"id":81,"by":82,"text":83},{"value":157,"source":78,"evidence":158},"Are only completed passes shown?",[159],{"id":111,"by":112,"text":113},{"value":161,"source":78,"evidence":162},"Where to find the World Cup final file?",[163],{"id":164,"by":165,"text":166},"41102333","alejoar","I'm interested in seeing the World Cup final in this app, but I'm not sure how to find the correct file. Any pointers?",[168,172],{"value":169,"source":78,"evidence":170},"whoscored pass maps",[171],{"id":92,"by":93,"text":94},{"value":173,"source":78,"evidence":174},"deck.gl and kepler.gl",[175],{"id":176,"by":177,"text":178},"41100949","mhalle","Nice work. From another comment I see that you chose this project in part to learn three.js, but you might also consider using deck.gl or kepler.gl. They provide higher level…",{"comments":180,"answered":45,"key":181},9,[182,185,188],{"id":183,"text":184},"41098728","Thank you for your efforts!",{"id":186,"text":187},"41101171","Oh wow! I've used your app multiple times back when I was avidly playing PUBG. Nice to meet you!",{"id":189,"text":190},"41098626","The main engine is in place, now I just gotta get to work! Thanks for the ideas! :D",{"commenters":192,"max_depth":35,"maker_replies":180,"first_comment_mins":193,"lifespan_hours":194},25,44,21,[196,200,202,205,208,210,213,214,216,218,220,222,224,228,230,233,234,236,239,241,246,248,250,253,255,259,261,266,271,275,276,278,280,282],[197,41,41,198,199,41],"41098471","other\u002Fneutral\u002Fnone","thom",[183,41,41,201,11,34],"commenter\u002Fneutral\u002Fnone",[203,41,41,198,204,41],"41098841","walthamstow",[206,41,41,198,207,41],"41099979","oo0shiny",[92,34,45,209,93,41],"project\u002Fmixed\u002Fdesign",[211,39,41,198,212,41],"41101142","apazzolini",[186,39,41,198,11,34],[215,39,41,198,212,41],"41101419",[176,45,45,217,177,41],"project\u002Fneutral\u002Fexecution",[131,35,45,219,132,41],"project\u002Fneutral\u002Fidea",[111,46,45,221,112,41],"project\u002Fneutral\u002Fnone",[189,46,41,223,11,34],"maker\u002Fneutral\u002Fnone",[225,46,45,226,227,41],"41098798","project\u002Fneutral\u002Fdesign","amne",[104,32,34,229,105,41],"project\u002Fcritical\u002Fdesign",[81,231,46,232,82,41],7,"project\u002Fpositive\u002Fdesign",[135,33,45,219,136,41],[119,180,34,235,120,41],"project\u002Fcritical\u002Fdocs",[237,180,41,238,11,34],"41098619","maker\u002Fneutral\u002Fdocs",[164,180,45,240,165,41],"project\u002Fneutral\u002Fdocs",[242,243,46,244,245,41],"41101780",10,"project\u002Fpositive\u002Fnone","heffer",[85,247,45,240,86,41],11,[249,247,41,238,11,34],"41096186",[251,247,34,229,252,41],"41096234","kanche",[254,247,41,238,11,34],"41096241",[256,257,41,198,258,41],"41096661",12,"tacker2000",[123,18,34,260,124,41],"project\u002Fcritical\u002Fexecution",[262,263,46,264,265,41],"41096258",14,"project\u002Fpositive\u002Fdocs","bilekas",[267,268,46,269,270,41],"41096110",15,"project\u002Fpositive\u002Fidea","transformi",[272,273,45,240,274,41],"41099468",16,"akudha",[60,273,41,223,11,34],[147,277,46,264,148,41],17,[279,277,41,238,11,34],"41098629",[96,281,46,244,97,41],18,[283,281,41,284,11,34],"41098630","maker\u002Fpositive\u002Fnone",[286,289],{"id":287,"t":288,"points":46,"comments":41},"41088120",1722101896,{"id":4,"t":12,"points":14,"comments":15},[291,296,300,304,309,314],{"id":292,"name":293,"points":294,"category":295},"41068719","Haystack",546,"dev_tools",{"id":297,"name":298,"points":299,"category":295},"41070428","Wat",393,{"id":301,"name":302,"points":303,"category":295},"41088273","Semantic Grep",356,{"id":305,"name":306,"points":307,"category":308},"41086620","Opslane",319,"infrastructure",{"id":310,"name":311,"points":312,"category":313},"41105130","embedding.io",305,"ai",{"id":315,"name":316,"points":317,"category":295},"41080189","gg",205,false,"v2",{"id":321,"name":5,"line":6,"ai":318,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":322,"top":18,"kw":323,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":324,"url":9,"mix":325,"praise":77,"objection":101,"sub":21},41095839,0.12,[24,25,26,27,28],"0000300033303153103530100155305050",[32,33,34,35],1793991096777]