PageSourceSearch

https://cdn.webgamedev.com/_next/static/chunks/pages/newsletter-17012e1ac182035b.js

js webgamedev.com collected 2026-09-25 21:03:13 UTC 9,232 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1533],{6154:(e,s,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/newsletter",function(){return r(4633)}])},4633:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>o,useTOC:()=>c});var n=r(5893),t=r(7812),l=r(1304),i=r(8925),h=r(8445),d=r(3173),a=r(7654);function c(e){return[{value:"Previous issues",id:"previous-issues",depth:2},{value:"Want to submit content?",id:"want-to-submit-content",depth:2}]}let o=(0,t.c)(function(e){let{toc:s=c(e)}=e,r={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h1,{children:"\uD83D\uDC8C Web Game Dev Newsletter"}),"\n",(0,n.jsxs)(r.p,{children:["Don’t have time to scroll through Twitter to ",(0,n.jsx)(r.strong,{children:"stay up-to-date"})," with what’s going on in the web game dev world? No problem! Get a recap of the latest ",(0,n.jsx)(r.strong,{children:"news"}),", ",(0,n.jsx)(r.strong,{children:"tools"}),", ",(0,n.jsx)(r.strong,{children:"articles"}),", and coolest JavaScript / HTML5 ",(0,n.jsx)(r.strong,{children:"games and tech demos"})," delivered right to your inbox! This newsletter covers all web engines: ",(0,n.jsx)(a.k9,{})," Three.js, ",(0,n.jsx)(a.oO,{})," React Three Fiber, ",(0,n.jsx)(a.lS,{})," PlayCanvas, ",(0,n.jsx)(a.Ru,{})," Babylon.js, ",(0,n.jsx)(a.rM,{})," Phaser, ",(0,n.jsx)(a.Up,{})," PixiJS, and more!"]}),"\n",(0,n.jsx)(h.ZP,{}),"\n",(0,n.jsxs)(r.p,{children:["\uD83D\uDD12 Your email address will only be used to send you this newsletter. There is also a ",(0,n.jsx)(h.O5,{})," and ",(0,n.jsx)(r.a,{href:"https://buttondown.email/webgamedev/rss",children:"RSS feed"}),"."]}),"\n",(0,n.jsx)(r.h2,{id:s[0].id,children:s[0].value}),"\n","\n",(0,n.jsxs)(r.ul,{children:["\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/031",children:"Issue 031 – 2026-06-25"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/030",children:"Issue 030 – 2026-03-17"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/029",children:"Issue 029 – 2026-01-14"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/028",children:"Issue 028 – 2025-10-29"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/027",children:"Issue 027 – 2025-08-13"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/026",children:"Issue 026 – 2025-05-07"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/025",children:"Issue 025 – 2025-03-04"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/024",children:"Issue 024 – 2024-12-19"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/023",children:"Issue 023 – 2024-09-25"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/022",children:"Issue 022 – 2024-06-12"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/021",children:"Issue 021 – 2024-03-12"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/020",children:"Issue 020 – 2024-01-16"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/019",children:"Issue 019 – 2023-11-08"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/018",children:"Issue 018 – 2023-09-21"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/017",children:"Issue 017 – 2023-07-19"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/016",children:"Issue 016 – 2023-06-01"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/015",children:"Issue 015 – 2023-05-03"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/014",children:"Issue 014 – 2023-04-13"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/013",children:"Issue 013 – 2023-03-30"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/012",children:"Issue 012 – 2023-03-15"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/011",children:"Issue 011 – 2023-03-01"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/010",children:"Issue 010 – 2023-02-21"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/009",children:"Issue 009 – 2023-02-15"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/008",children:"Issue 008 – 2023-02-08"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/007",children:"Issue 007 – 2023-01-31"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/006",children:"Issue 006 – 2023-01-24"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/005",children:"Issue 005 – 2023-01-17"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/004",children:"Issue 004 – 2023-01-10"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/003",children:"Issue 003 – 2023-01-03"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/002",children:"Issue 002 – 2022-12-20"})}),"\n",(0,n.jsx)(r.li,{children:(0,n.jsx)(r.a,{href:"/newsletter/001",children:"Issue 001 – 2022-12-12"})}),"\n"]}),"\n",(0,n.jsx)(r.h2,{id:s[1].id,children:s[1].value}),"\n",(0,n.jsxs)(r.p,{children:["Feel free to message me (",(0,n.jsx)(r.strong,{children:"verekia"}),") on ",(0,n.jsx)(r.a,{href:"https://www.webgamedev.com/discord",children:"Discord"}),", ",(0,n.jsx)(r.a,{href:"https://x.com/verekia",children:"Twitter"}),", or email me at ",(0,n.jsx)(d.Z,{email:"[email protected]",fakeEmail:"[email protected]"}),"."]})]})},"/newsletter",{filePath:"src/pages/newsletter.mdx",pageMap:l.v,frontMatter:{},title:"\uD83D\uDC8C Web Game Dev Newsletter"},"undefined"==typeof RemoteContent?c:RemoteContent.useTOC)},3173:(e,s,r)=>{"use strict";r.d(s,{Z:()=>l});var n=r(5893),t=r(7294);let l=e=>{let{email:s,fakeEmail:r,...l}=e,[i,h]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{h(!0)},[]),(0,n.jsx)("a",{className:"_text-primary-600 _underline _decoration-from-font [text-underline-position:under]",href:"mailto:".concat(i?s:r),...l,children:i?s:r})}},8445:(e,s,r)=>{"use strict";r.d(s,{O5:()=>c,ZP:()=>
1o,lz:()=>a,mN:()=>d});var n=r(5893),t=r(1664),l=r.n(t),i=r(2702);let h=()=>(0,n.jsx)("div",{style:{margin:"16px auto",borderRadius:5,maxWidth:338,overflow:"hidden",display:"flex",justifyContent:"center"},children:(0,n.jsx)("iframe",{className:"newsletter-iframe",scrolling:"no",src:"https://buttondown.email/webgamedev?as_embed=true"})}),d=()=>(0,n.jsxs)("p",{style:{textAlign:"center"},children:["You can also ",(0,n.jsx)("b",{children:"subscribe"})," to the \uD83D\uDC8C"," ",(0,n.jsx)(l(),{href:"/newsletter",className:"_text-primary-600 _underline _decoration-from-font [text-underline-position:under]",children:(0,n.jsx)("b",{children:"newsletter"})})," ","to keep up with the web game dev world!"]}),a=e=>{let{tweetId:s,blueskyUrl:r}=e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("p",{style:{textAlign:"center",marginTop:30,marginBottom:0},children:["Liked this issue? \uD83D\uDC26"," ",(0,n.jsx)(i.Z,{href:"https://x.com/intent/retweet?tweet_id=".concat(s),target:"_blank",rel:"noopener",children:(0,n.jsx)("b",{children:"Retweet it"})}),","," ",r&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.Z,{href:r,target:"_blank",rel:"noopener",children:(0,n.jsx)("b",{children:"\uD83E\uDD8B Repost it on Bluesky"})}),","," "]}),"join our"," ",(0,n.jsx)(i.Z,{href:"https://www.webgamedev.com/discord",children:(0,n.jsx)("b",{children:"Discord"})}),", and ",(0,n.jsx)("b",{children:"Subscribe"})," below!"]}),(0,n.jsx)(h,{})]})},c=()=>(0,n.jsx)(i.Z,{href:"https://www.webgamedev.com/discord",target:"_blank",rel:"noopener",children:(0,n.jsx)("b",{children:"Discord"})}),o=h},8925:(e,s,r)=>{"use strict";r.d(s,{a:()=>d});var n=r(1151),t=r(5675),l=r.n(t),i=r(7294);let h={img:e=>(0,i.createElement)("object"==typeof e.src?l():"img",e)},d=e=>(0,n.a)({...h,...e})},7812:(e,s,r)=>{"use strict";r.d(s,{c:()=>a});var n=r(5893),t=r(3665),l=r(8644);let i=(0,r(7294).createContext)({}),h=i.Provider;i.displayName="SSG";var d=r(8925);function a(e,s,r,n){let l=globalThis[t.ud];return l.route=s,l.pageMap=r.pageMap,l.context[s]={Content:e,pageOpts:r,useTOC:n},c}function c({__nextra_pageMap:e=[],__nextra_dynamic_opts:s,...r}){let i=globalThis[t.ud],{Layout:d,themeConfig:a}=i,{route:c,locale:x}=(0,l.t)(),j=i.context[c];if(!j)throw Error(`No content found for the "${c}" route. Please report it as a bug.`);let{pageOpts:u,useTOC:w,Content:f}=j;if(c.startsWith("/["))u.pageMap=e;else for(let{route:s,children:r}of e){let e=s.split("/").slice(x?2:1);(function e(s,[r,...n]){for(let t of s)if("children"in t&&r===t.name)return n.length?e(t.children,n):t})(u.pageMap,e).children=r}if(s){let{title:e,frontMatter:r}=s;u={...u,title:e,frontMatter:r}}return(0,n.jsx)(d,{themeConfig:a,pageOpts:u,pageProps:r,children:(0,n.jsx)(h,{value:r,children:(0,n.jsx)(o,{useTOC:w,children:(0,n.jsx)(f,{...r})})})})}function o({children:e,useTOC:s}){let{wrapper:r}=(0,d.a)();return(0,n.jsx)(x,{useTOC:s,wrapper:r,children:e})}function x({children:e,useTOC:s,wrapper:r,...t}){let l=s(t);return r?(0,n.jsx)(r,{toc:l,children:e}):e}}},e=>{var s=s=>e(e.s=s);e.O(0,[1304,7654,2888,9774,179],()=>s(6154)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.