<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tchayen</title>
    <link>https://tchayen.com</link>
    <atom:link href="https://tchayen.com/rss.xml" rel="self" type="application/rss+xml" />
    <description>Tomek&apos;s programming blog.</description>
    <item>
      <guid>https://tchayen.com/notes-from-benchmarking-wasm-and-optimized-js</guid>
      <link>https://tchayen.com/notes-from-benchmarking-wasm-and-optimized-js</link>
      <title>Notes from benchmarking WASM and optimized JS</title>
      <description>One night I got an intrusive thought: I never compared the fast CDT Zig code to some baseline JS implementation.</description>
      <pubDate>Sun, 19 Oct 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/webgpu-obj-loading-and-perspective-camera</guid>
      <link>https://tchayen.com/webgpu-obj-loading-and-perspective-camera</link>
      <title>WebGPU: OBJ Loading and Perspective Camera</title>
      <description>Tiny guide how to get started with WebGPU – loading OBJ files and an interactive perspective camera.</description>
      <pubDate>Sun, 04 May 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/handmade-pathfinding-mesh-for-games</guid>
      <link>https://tchayen.com/handmade-pathfinding-mesh-for-games</link>
      <title>Handmade pathfinding mesh for games</title>
      <description>Ever thought that implementing dynamic constrained Delaunay triangulation shouldn&apos;t be that hard?</description>
      <pubDate>Sun, 23 Feb 2025 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/unicode-text-rendering-in-zig-with-freetype-and-harfbuzz</guid>
      <link>https://tchayen.com/unicode-text-rendering-in-zig-with-freetype-and-harfbuzz</link>
      <title>Unicode Text Rendering in Zig with FreeType and HarfBuzz</title>
      <description>For a change I am not reinventing the wheel but using state-of-the-art libraries to render (almost) any text.</description>
      <pubDate>Fri, 18 Oct 2024 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/open-problems-of-a-star-for-any-angle-pathfinding</guid>
      <link>https://tchayen.com/open-problems-of-a-star-for-any-angle-pathfinding</link>
      <title>Open Problems of A* for Any Angle Pathfinding</title>
      <description>Exploration of various ways to apply A* for any angle Euclidean path search problem.</description>
      <pubDate>Wed, 08 May 2024 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/constrained-delaunay-triangulation-from-a-paper</guid>
      <link>https://tchayen.com/constrained-delaunay-triangulation-from-a-paper</link>
      <title>Constrained Delaunay Triangulation from a Paper</title>
      <description>Sloan&apos;s fast algorithm for generating constrained Delaunay triangulation implemented from a paper.</description>
      <pubDate>Sat, 23 Mar 2024 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/drawing-text-in-webgpu-using-just-the-font-file</guid>
      <link>https://tchayen.com/drawing-text-in-webgpu-using-just-the-font-file</link>
      <title>Drawing Text in WebGPU Using Just the Font File</title>
      <description>How to parse TTF font file to render text using the SDF (Signed Distance Field) method.</description>
      <pubDate>Fri, 29 Sep 2023 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/thousands-styled-rectangles-in-120fps-on-gpu</guid>
      <link>https://tchayen.com/thousands-styled-rectangles-in-120fps-on-gpu</link>
      <title>Thousands of Styled Rectangles at 120 FPS on the GPU</title>
      <description>Secrets of rendering extremely fast UIs in WebGPU by minimizing overhead on the GPU.</description>
      <pubDate>Tue, 29 Aug 2023 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/pbr-in-webgpu-implementation-details</guid>
      <link>https://tchayen.com/pbr-in-webgpu-implementation-details</link>
      <title>PBR in WebGPU: Implementation Details</title>
      <description>Short write-up on how to implement a physically based renderer with Image Based Lighting using WebGPU.</description>
      <pubDate>Sat, 15 Jul 2023 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/how-to-write-a-flexbox-layout-engine</guid>
      <link>https://tchayen.com/how-to-write-a-flexbox-layout-engine</link>
      <title>How to Write a Flexbox Layout Engine</title>
      <description>You won&apos;t guess how little code it takes to write a Flexbox-like layout engine that can arrange many common UIs.</description>
      <pubDate>Sun, 25 Jun 2023 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/using-zig-for-writing-opengl-in-browsers</guid>
      <link>https://tchayen.com/using-zig-for-writing-opengl-in-browsers</link>
      <title>Using Zig for Writing OpenGL in Browsers</title>
      <description>What if, instead of running JS everywhere, we went all-in hardcore low-level coding?</description>
      <pubDate>Sat, 29 Apr 2023 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/understanding-react-by-implementing-it</guid>
      <link>https://tchayen.com/understanding-react-by-implementing-it</link>
      <title>Understanding React by Implementing It</title>
      <description>From the creator of broken Google Maps clone, now a broken React ready to conquer your node_modules.</description>
      <pubDate>Thu, 12 Aug 2021 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/baked-lighting-in-r3f</guid>
      <link>https://tchayen.com/baked-lighting-in-r3f</link>
      <title>Baked Lighting in react-three-fiber</title>
      <description>Technique of baking light used for achieving very well performing Three.js scene with amazing visuals.</description>
      <pubDate>Mon, 18 Jan 2021 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/making-of-3d-chess-in-react</guid>
      <link>https://tchayen.com/making-of-3d-chess-in-react</link>
      <title>Making of: 3D Chess in React</title>
      <description>Summary of how I made a playable Chess game in React using React Three Fiber and 3D assets I made in Blender.</description>
      <pubDate>Wed, 06 Jan 2021 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/ttf-file-parsing</guid>
      <link>https://tchayen.com/ttf-file-parsing</link>
      <title>TTF File Parsing</title>
      <description>Font files, although binary, are not hard to parse. Even in JavaScript.</description>
      <pubDate>Sat, 02 Nov 2019 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/making-our-own-tiny-google-maps</guid>
      <link>https://tchayen.com/making-our-own-tiny-google-maps</link>
      <title>Making Our Own Tiny Google Maps</title>
      <description>Have you ever dreamed about creating your own interactive maps like the Google Maps?</description>
      <pubDate>Sat, 07 Sep 2019 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/fetching-data-from-the-open-street-maps</guid>
      <link>https://tchayen.com/fetching-data-from-the-open-street-maps</link>
      <title>Fetching Data from OpenStreetMap</title>
      <description>A non-obvious task of downloading data from OSM has unexpected, highly programmable solutions.</description>
      <pubDate>Thu, 05 Sep 2019 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/triangulation-of-polygons</guid>
      <link>https://tchayen.com/triangulation-of-polygons</link>
      <title>Triangulation of Polygons</title>
      <description>Triangulation is the thing you need when you have polygons, but GPU can only render triangles.</description>
      <pubDate>Sun, 13 Jan 2019 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/wireframes-with-barycentric-coordinates</guid>
      <link>https://tchayen.com/wireframes-with-barycentric-coordinates</link>
      <title>Wireframes with Barycentric Coordinates</title>
      <description>A handy hack to render wireframe of a mesh. Use barycentric coordinates to achieve uniform edge width.</description>
      <pubDate>Sat, 05 Jan 2019 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/brief-explanation-of-webgl</guid>
      <link>https://tchayen.com/brief-explanation-of-webgl</link>
      <title>Brief Explanation of WebGL</title>
      <description>Short guide on the concepts of 3D rendering and the maths behind it. Matrices, perspective and lighting.</description>
      <pubDate>Wed, 26 Dec 2018 00:00:00 GMT</pubDate>
    </item>
    <item>
      <guid>https://tchayen.com/web-mercator-projection</guid>
      <link>https://tchayen.com/web-mercator-projection</link>
      <title>Web Mercator Projection</title>
      <description>A short note on the Web Mercator projection and its coordinate conversion formulas.</description>
      <pubDate>Sun, 23 Dec 2018 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
