1<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">Pixelib - Tooling, libraries and infrastructure for the JVM</title><meta name="robots" content="index,follow" data-next-head=""/><meta name="description" content="Pixelib builds PixelScript, a hot-reloading JavaScript and TypeScript runtime for Minecraft servers, and Arca, a repository server for Maven, npm, Docker and Eclipse p2, alongside a set of open source Java libraries." data-next-head=""/><meta name="twitter:card" content="summary_large_image" data-next-head=""/><meta name="twitter:site" content="@PixelibDev" data-next-head=""/><meta name="twitter:creator" content="@PixelibDev" data-next-head=""/><meta property="og:title" content="Pixelib - Tooling, libraries and infrastructure for the JVM" data-next-head=""/><meta property="og:description" content="Pixelib builds PixelScript, a hot-reloading JavaScript and TypeScript runtime for Minecraft servers, and Arca, a repository server for Maven, npm, Docker and Eclipse p2, alongside a set of open source Java libraries." data-next-head=""/><meta property="og:url" content="https://pixelib.dev/" data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:image" content="https://pixelib.dev/logo-512x512.png" data-next-head=""/><meta property="og:image:alt" content="Pixelib Logo" data-next-head=""/><meta property="og:image:secure_url" content="https://pixelib.dev/logo-512x512.png" data-next-head=""/><meta property="og:image:width" content="512" data-next-head=""/><meta property="og:image:height" content="512" data-next-head=""/><meta property="og:locale" content="en_US" data-next-head=""/><meta property="og:site_name" content="Pixelib" data-next-head=""/><link rel="canonical" href="https://pixelib.dev/" data-next-head=""/><meta property="discord:site" content="Pixelib" data-next-head=""/><meta property="discord:description" content="Pixelib builds PixelScript, Arca, and a set of open source Java libraries." data-next-head=""/><meta property="discord:image" content="https://pixelib.dev/logo-512x512.png" data-next-head=""/><meta property="theme-color" content="#2d89ef" data-next-head=""/><link rel="image_src" href="https://pixelib.dev/logo-512x512.png" data-next-head=""/><link rel="icon" type="image/png" href="/favicon-32x32.png" data-next-head=""/><link rel="apple-touch-icon" sizes="48x48" href="/favicon-48x48.png" data-next-head=""/><link rel="apple-touch-icon" sizes="72x72" href="/favicon-72x72.png" data-next-head=""/><link rel="apple-touch-icon" sizes="96x96" href="/favicon-96x96.png" data-next-head=""/><link rel="apple-touch-icon" sizes="256x256" href="/favicon-256x256.png" data-next-head=""/><link rel="apple-touch-icon" sizes="384x384" href="/favicon-384x384.png" data-next-head=""/><link rel="apple-touch-icon" sizes="512x512" href="/favicon-512x512.png" data-next-head=""/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous" data-next-head=""/><link rel="preconnect" href="https://fonts.googleapis.com" data-next-head=""/><link rel="preconnect" href="https://fonts.gstatic.com" data-next-head=""/><link href="https://fonts.googleapis.com/css2?family=VT323&display=swap" rel="stylesheet" data-next-head=""/><link rel="preload" href="/assets/logo/dark.svg" as="image" data-next-head=""/><link rel="preload" href="/_next/static/css/19b035d4a1160a9f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/19b035d4a1160a9f.css" data-n-g=""/><noscript data-n-css=""></noscript>
1<script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script>
1<script src="/_next/static/chunks/webpack-cf297d57d111e1f0.js" defer=""></script>
1<script src="/_next/static/chunks/framework-1ce91eb6f9ecda85.js" defer=""></script>
1<script src="/_next/static/chunks/main-063b6cff31bb8882.js" defer=""></script>
1<script src="/_next/static/chunks/pages/_app-8f531c5f72313fae.js" defer=""></script>
1<script src="/_next/static/chunks/243f8a5c-ad60d0e27beed5ea.js" defer=""></script>
1<script src="/_next/static/chunks/305-c6994c7aa52f24d7.js" defer=""></script>
1<script src="/_next/static/chunks/655-377ec52ecb63cda6.js" defer=""></script>
1<script src="/_next/static/chunks/830-16ab8b326c4711f9.js" defer=""></script>
1<script src="/_next/static/chunks/543-3e21219fa923426a.js" defer=""></script>
1<script src="/_next/static/chunks/pages/projects/meteor-fe5e7c2fce1ab090.js" defer=""></script>
1<script src="/_next/static/s8JdxdFZlpvCMC5vmZ16P/_buildManifest.js" defer=""></script>
1<script src="/_next/static/s8JdxdFZlpvCMC5vmZ16P/_ssgManifest.js" defer=""></script>
1</head><body><div id="__next"><div class="flex flex-col min-h-screen"><header class="bg-white border-b border-gray-100"><nav class="container mx-auto px-4 py-4"><div class="flex justify-between items-center"><a class="flex items-center space-x-2" href="/"><img alt="Pixelib Logo" width="32" height="32" decoding="async" data-nimg="1" style="color:transparent" src="/assets/logo/dark.svg"/><span class="text-xl font-bold text-pixelib-heading">Pixelib</span></a><div class="hidden md:flex items-center space-x-2"><div class="flex space-x-6"><a class="text-pixelib-text hover:text-pixelib-primary transition-colors duration-200" href="/">Home</a><div class="relative"><button class="flex items-center space-x-1 text-pixelib-text hover:text-pixelib-primary transition-colors duration-200"><span>Docs</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down transform transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></div><div class="relative"><button class="flex items-center space-x-1 text-pixelib-text hover:text-pixelib-primary transition-colors duration-200"><span>Projects</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down transform transition-transform duration-200"><path d="m6 9 6 6 6-6"></path></svg></button></div></div><a href="https://github.com/pixelib" target="_blank" rel="noopener noreferrer" class="flex items-center space-x-2 bg-pixelib-heading text-white px-4 py-2 rounded-lg hover:bg-pixelib-primary transition-colors duration-200"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg><span>GitHub</span></a><a href="https://discord.gg/HRcy7S6Tqm" target="_blank" rel="noopener noreferrer" class="flex items-center space-x-2 bg-pixelib-heading text-white px-4 py-2 rounded-lg hover:bg-pixelib-primary transition-colors duration-200"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" size="20"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.07451 1.82584C5.03267 1.81926 4.99014 1.81825 4.94803 1.82284C4.10683 1.91446 2.82673 2.36828 2.07115 2.77808C2.02106 2.80525 1.97621 2.84112 1.93869 2.88402C1.62502 3.24266 1.34046 3.82836 1.11706 4.38186C0.887447 4.95076 0.697293 5.55032 0.588937 5.98354C0.236232 7.39369 0.042502 9.08728 0.0174948 10.6925C0.0162429 10.7729 0.0351883 10.8523 0.0725931 10.9234C0.373679 11.496 1.02015 12.027 1.66809 12.4152C2.32332 12.8078 3.08732 13.1182 3.70385 13.1778C3.85335 13.1922 4.00098 13.1358 4.10282 13.0255C4.2572 12.8581 4.5193 12.4676 4.71745 12.1643C4.80739 12.0267 4.89157 11.8953 4.95845 11.7901C5.62023 11.9106 6.45043 11.9801 7.50002 11.9801C8.54844 11.9801 9.37796 11.9107 10.0394 11.7905C10.1062 11.8957 10.1903 12.0269 10.2801 12.1643C10.4783 12.4676 10.7404 12.8581 10.8947 13.0255C10.9966 13.1358 11.1442 13.1922 11.2937 13.1778C11.9102 13.1182 12.6742 12.8078 13.3295 12.4152C13.9774 12.027 14.6239 11.496 14.925 10.9234C14.9624 10.8523 14.9813 10.7729 14.9801 10.6925C14.9551 9.08728 14.7613 7.39369 14.4086 5.98354C14.3003 5.55032 14.1101 4.95076 13.8805 4.38186C13.6571 3.82836 13.3725 3.24266 13.0589 2.88402C13.0214 2.84112 12.9765 2.80525 12.9264 2.77808C12.1708 2.36828 10.8907 1.91446 10.0495 1.82284C10.0074 1.81825 9.96489 1.81926 9.92305 1.82584C9.71676 1.85825 9.5391 1.96458 9.40809 2.06355C9.26977 2.16804 9.1413 2.29668 9.0304 2.42682C8.86968 2.61544 8.71437 2.84488 8.61428 3.06225C8.27237 3.03501 7.90138 3.02 7.5 3.02C7.0977 3.02 6.72593 3.03508 6.38337 3.06244C6.28328 2.84501 6.12792 2.61549 5.96716 2.42682C5.85626 2.29668 5.72778 2.16804 5.58947 2.06355C5.45846 1.96458 5.2808 1.85825 5.07451 1.82584ZM11.0181 11.5382C11.0395 11.5713 11.0615 11.6051 11.0838 11.6392C11.2169 11.843 11.3487 12.0385 11.4508 12.1809C11.8475 12.0916 12.352 11.8818 12.8361 11.5917C13.3795 11.2661 13.8098 10.8918 14.0177 10.5739C13.9852 9.06758 13.7993 7.50369 13.4773 6.21648C13.38 5.82759 13.2038 5.27021 12.9903 4.74117C12.7893 4.24326 12.5753 3.82162 12.388 3.5792C11.7376 3.24219 10.7129 2.88582 10.0454 2.78987C10.0308 2.79839 10.0113 2.81102 9.98675 2.82955C9.91863 2.881 9.84018 2.95666 9.76111 3.04945C9.71959 3.09817 9.68166 3.1471 9.64768 3.19449C9.953 3.25031 10.2253 3.3171 10.4662 3.39123C11.1499 3.6016 11.6428 3.89039 11.884 4.212C12.0431 4.42408 12.0001 4.72494 11.788 4.884C11.5759 5.04306 11.2751 5.00008 11.116 4.788C11.0572 4.70961 10.8001 4.4984 10.1838 4.30877C9.58933 4.12585 8.71356 3.98 7.5 3.98C6.28644 3.98 5.41067 4.12585 4.81616 4.30877C4.19988 4.4984 3.94279 4.70961 3.884 4.788C3.72494 5.00008 3.42408 5.04306 3.212 4.884C2.99992 4.72494 2.95694 4.42408 3.116 4.212C3.35721 3.89039 3.85011 3.6016 4.53383 3.39123C4.77418 3.31727 5.04571 3.25062 5.35016 3.19488C5.31611 3.14738 5.27808 3.09831 5.23645 3.04945C5.15738 2.95666 5.07893 2.881 5.01081 2.82955C4.98628 2.81102 4.96674 2.79839 4.95217 2.78987C4.28464 2.88582 3.25999 3.24219 2.60954 3.5792C2.42226 3.82162 2.20825 4.24326 2.00729 4.74117C1.79376 5.27021 1.61752 5.82759 1.52025 6.21648C1.19829 7.50369 1.01236 9.06758 0.97986 10.5739C1.18772 10.8918 1.61807 11.2661 2.16148 11.5917C2.64557 11.8818 3.15003 12.0916 3.5468 12.1809C3.64885 12.0385 3.78065 11.843 3.9138 11.6392C3.93626 11.6048 3.95838 11.5708 3.97996 11.5375C3.19521 11.2591 2.77361 10.8758 2.50064 10.4664C2.35359 10.2458 2.4132 9.94778 2.63377 9.80074C2.85435 9.65369 3.15236 9.71329 3.29941 9.93387C3.56077 10.3259 4.24355 11.0201 7.50002 11.0201C10.7565 11.0201 11.4392 10.326 11.7006 9.93386C11.8477 9.71329 12.1457 9.65369 12.3663 9.80074C12.5869 9.94779 12.6465 10.2458 12.4994 10.4664C12.2262 10.8762 11.8041 11.2598 11.0181 11.5382ZM4.08049 7.01221C4.32412 6.74984 4.65476 6.60162 5.00007 6.59998C5.34538 6.60162 5.67603 6.74984 5.91966 7.01221C6.16329 7.27459 6.30007 7.62974 6.30007 7.99998C6.30007 8.37021 6.16329 8.72536 5.9
11966 8.98774C5.67603 9.25011 5.34538 9.39833 5.00007 9.39998C4.65476 9.39833 4.32412 9.25011 4.08049 8.98774C3.83685 8.72536 3.70007 8.37021 3.70007 7.99998C3.70007 7.62974 3.83685 7.27459 4.08049 7.01221ZM9.99885 6.59998C9.65354 6.60162 9.3229 6.74984 9.07926 7.01221C8.83563 7.27459 8.69885 7.62974 8.69885 7.99998C8.69885 8.37021 8.83563 8.72536 9.07926 8.98774C9.3229 9.25011 9.65354 9.39833 9.99885 9.39998C10.3442 9.39833 10.6748 9.25011 10.9184 8.98774C11.1621 8.72536 11.2989 8.37021 11.2989 7.99998C11.2989 7.62974 11.1621 7.27459 10.9184 7.01221C10.6748 6.74984 10.3442 6.60162 9.99885 6.59998Z" fill="currentColor"></path></svg><span>Discord</span></a></div><button class="md:hidden text-pixelib-heading hover:text-pixelib-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button></div></nav></header><main class="flex-grow container mx-auto px-4 py-8 lg:w-2/3"><div class="max-w-4xl mx-auto px-6 py-12"><header class="mb-16 transition-all duration-700 opacity-0"><div class="flex items-center gap-3 mb-4"><div class="w-10 h-10 rounded-lg bg-pixelib-primary/10 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap text-pixelib-primary"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><span class="text-pixelib-primary text-sm font-medium">Java Library</span></div><h1 class="text-4xl font-semibold text-pixelib-heading mb-4">Meteor</h1><p class="text-xl text-pixelib-text mb-6">A lightweight Java RPC library that makes distributed applications feel local.</p><div class="flex flex-wrap gap-5 mb-6"><a href="https://github.com/pixelib/meteor" target="_blank" rel="noopener noreferrer" class="group px-4 py-2 bg-pixelib-heading text-white rounded-md transition-all flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg><span>View Source</span></a><a href="#get-started" class="px-4 py-2 border border-pixelib-heading/20 text-pixelib-heading rounded-md transition-all flex items-center gap-2 hover:border-pixelib-heading/60"><span>Get Started</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right group-hover:translate-x-1 transition-transform"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></header><section class="mb-16 transition-all duration-700 opacity-0 delay-100"><h2 class="text-2xl font-semibold text-pixelib-heading mb-6 flex items-center gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal text-pixelib-primary"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" x2="20" y1="19" y2="19"></line></svg>How It Works</h2><div class="bg-white p-6 rounded-md shadow-sm mb-6 border border-pixelib-heading/10"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 680"><defs><linearGradient id="activeGradient" x1="0%" x2="100%" y1="0%" y2="
1100%"><stop offset="0%" stop-color="#3B82F6"></stop><stop offset="100%" stop-color="#2563EB"></stop></linearGradient><linearGradient id="labelGradient" x1="0%" x2="100%" y1="0%" y2="100%"><stop offset="0%" stop-color="#1e293b"></stop><stop offset="100%" stop-color="#0f172a"></stop></linearGradient><marker id="arrowhead" markerHeight="7" markerUnits="strokeWidth" markerWidth="10" orient="auto" refX="9" refY="3.5"><path fill="#3B82F6" d="m0 0 10 3.5L0 7Z"></path></marker><marker id="arrowheadGray" markerHeight="7" markerUnits="strokeWidth" markerWidth="10" orient="auto" refX="9" refY="3.5"><path fill="#94a3b8" d="m0 0 10 3.5L0 7Z"></path></marker></defs><path fill="#fff" d="M0 0h900v680H0z"></path><rect width="810" height="130" x="45" y="170" fill="#fff" stroke="#e2e8f0" rx="8" ry="8"></rect><rect width="810" height="230" x="45" y="380" fill="#fff" stroke="#e2e8f0" rx="8" ry="8"></rect><rect width="100" height="28" x="53" y="150" fill="url(#labelGradient)" rx="4" ry="4"></rect><text x="103" y="169" fill="#fff" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">Server 1</text><rect width="100" height="28" x="53" y="360" fill="url(#labelGradient)" rx="4" ry="4"></rect><text x="103" y="379" fill="#fff" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">Server 2</text><rect width="190" height="65" x="120" y="80" fill="#fff" stroke="#e2e8f0" rx="4" ry="4"></rect><text x="215" y="105" fill="#1e293b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="600" text-anchor="middle">API INTERFACE</text><text x="215" y="125" fill="#64748b" font-family="Menlo, Consolas, monospace" font-size="10" text-anchor="middle">Map<String, Integer> getScores()</text><rect width="160" height="34" x="400" y="80" fill="url(#activeGradient)" rx="4" ry="4"></rect><text x="480" y="102" fill="#fff" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">BLOCKING INVOCATION</text><rect width="160" height="34" x="430" y="220" fill="#fff" stroke="#e2e8f0" rx="4" ry="4"></rect><text x="510" y="242" fill="#1e293b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">SERIALIZE REQUEST</text><rect width="160" height="34" x="170" y="220" fill="url(#activeGradient)" rx="4" ry="4"></rect><text x="250" y="242" fill="#fff" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">TRANSMIT REQUEST</text><rect width="145" height="34" x="690" y="220" fill="#fff" stroke="#e2e8f0" rx="4" ry="4"></rect><text x="762" y="242" fill="#1e293b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">HANDLE RESPONSE</text><rect width="160" height="34" x="170" y="430" fill="#fff" stroke="#e2e8f0" rx="4" ry="4"></rect><text x="250" y="452" fill="#1e293b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">RECEIVE REQUEST</text><rect width="160" height="34" x="430" y="430" fill="url(#activeGradient)" rx="4" ry="4"></rect><text x="510" y="452" fill="#fff" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">DESERIALISE REQUEST</text><rect width="160" height="34" x="170" y="520" fill="#fff" stroke="#e2e8f0" rx="4" ry="4"></rect><text x="250" y="542" fill="#1e293b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">INVOCATION REBUILT</text><rect width="160" height="44" x="430" y="520" fill="url(#activeGradient)" rx="4" ry="4"></rect><text x="510" y="540" fill="#fff" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">INVOKE API</text><text x="510" y="558" fill="#fff" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">IMPLEMENTATION</text><rect width="145" height="34" x="690" y="520" fill="#fff" stroke="#e2e8f0" rx="4" ry="4"></rect><text x="762" y="542" fill="#1e293b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">HANDLE RETURN VALUE</text><rect width="145" height="44" x="690" y="430" fill="url(#activeGradient)" rx="4" ry="4"></rect><text x="762" y="450" fill="#fff" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">TRANSMIT RETURN</text><text x="762" y="468" fill="#fff" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="500" text-anchor="middle">VALUE</text><rect width="145" height="60" x="690" y="640" fill="#fff" stroke="#e2e8f0" rx="4" ry="4"></rect><text x="762" y="662" fill="#1e293b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="600" text-anchor="middle">YOUR API</text><text x="762" y="680" fill="#1e293b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="12" font-weight="600" text-anchor="middle">IMPLEMENTATION</text><text x="762" y="695" fill="#64748b" font-family="Menlo, Consolas, monospace" font-size="9" text-anchor="middle">Map<String, Integer> getScores()</text><path fill="none" stroke="#3B82F6" stroke-width="1.5" marker-end="url(#arrowhead)" d="M310 97h90"></path><path fill="none" stroke="#94a3b8" stroke-dasharray="4,3" d="M480 114v36h30v70"></path><path fill="none" stroke="#3B82F6" stroke-width="1.5" marker-end="url(#arrowhead)" d="M430 237H330"></path><path fill="none" stroke="#94a3b8" stroke-dasharray="4,3" marker-end="url(#arrowheadGray)" d="M250 254v176"></path><path fill="none" stroke="#3B82F6" stroke-width="1.5" marker-end="url(#arrowhead)" d="M330 447h100"></path><path fill="none" stroke="#3B82F6" stroke-width="1.5" marker-end="url(#arrowhead)" d="M470 464v31H250v25"></path><path fill="none" stroke="#3B82F6" stroke-width="1.5" marker-end="url(#arrowhead)" d="M330 537h100"></path><path fill="none" stroke="#3B82F6" stroke-width="1.5" marker-end="url(#arrowhead)" d="M590 537h100"></path><path fill="none" stroke="#3B82F6" stroke-width="1.5" marker-end="url(#arrowhead)" d="M762 520v-46"></path><path fill="none" stroke="#94a3b8" stroke-dasharray="4,3" marker-end="url(#arrowheadGray)" d="M762 430V254"></path><path fill="none" stroke="#3B82F6" stroke-width="1.5" marker-end="url(#arrowhead)" d="M762 220V97H560"></path><path fill="none" stroke="#3B82F6" stroke-width="1.5" marker-end="url(#arrowhead)" d="M510 564v106h180"></path><circle cx="510" cy="150" r="3.5" fill="#8b5cf6"></circle><text x="517" y="150" fill="#64748b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="9">Invocation captured by Meteor Proxy</text><circle cx="250" cy="350" r="3.5" fill="#8b5cf6"></circle><text x="257" y="350" fill="#64748b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="9">Transport layer of your choosing</text><circle cx="762" cy="350" r="3.5" fill="#3B82F6"></circle><text x="769" y="350" fill="#64748b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="9">Transport layer of your choosing</text><circle cx="762" cy="580" r="3.5" fill="#3B82F6"></circle><text x="769" y="580" fill="#64748b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="9">Return value or Exception captured</text><circle cx="510" cy="670" r="3.5" fill="#3B82F6"></circle><text x="517" y="670" fill="#64748b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="9">Reflect call</text><text x="450" y="40" fill="#1e293b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="16" font-weight="600" text-anchor="middle">Meteor RPC Flow</text><text x="450" y="60" fill="#64748b" font-family="Inter, system-ui, -apple-system, sans-serif" font-size="10" text-anchor="middle">A general-purpose Java RPC library that plugs in like magic</text></svg></div><p class="text-pixelib-text/80">Meteor handles the complexity of RPC, allowing you to focus on your business logic rather than distributed systems implementation details.</p></section><section class="mb-16 transition-all duration-700 opacity-0 delay-200"><h2 class="text-2xl font-semibold text-pixelib-heading mb-6 flex items-center gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline></svg>Simple to Use</h2><div class="bg-white rounded-md overflow-hidden shadow-sm border border-pixelib-heading/10"><div class="flex items-center gap-2 px-4 py-2 border-b border-gray-100 bg-gray-50"><div class="w-3 h-3 rounded-full bg-red-400"></div><div class="w-3 h-3 rounded-full bg-yellow-400"></div><div class="w-3 h-3 rounded-full bg-green-400"></div><div class="ml-2 text-xs text-gray-500 font-mono">ServerApplication.java</div></div><pre style="color:#ccc;background:#2d2d2d;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:0.9rem;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1.5rem;margin:0;overflow:auto;border-radius:0 0 0.75rem 0.75rem"><code class="language-java" style="white-space:pre;color:#ccc;background:none;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span> 2</span><span></span><span class="token token" style="color:#999">// Define your service interface and implementation</span><span> 3</span><span></span><span class="token token" style="color:#cc99cd">public</span><span> </span><span class="token token" style="color:#cc99cd">interface</span><span> </span><span class="token token" style="color:#f8c555">UserService</span><span> </span><span class="token token" style="color:#ccc">{</span><span> 4</span><span> </span><span class="token token" style="color:#f8c555">User</span><span> </span><span class="token token" style="color:#f08d49">findById</span><span class="token token" style="color:#ccc">(</span><span class="token token" style="color:#f8c555">String</span><span> userId</span><span class="token token" style="color:#ccc">)</span><span class="token token" style="color:#ccc">;</span><span> 5</span><span> </span><span class="token token" style="color:#cc99cd">void</span><span> </span><span class="token token" style="color:#f08d49">updateProfile</span><span class="token token" style="color:#ccc">(</span><span class="token token" style="color:#f8c555">String</span><span> userId</span><span class="token token" style="color:#ccc">,</span><span> </span><span class="token token" style="color:#f8c555">Profile</span><span> profile</span><span class="token token" style="color:#ccc">)</span><span class="token token" style="color:#ccc">;</span><span> 6</span><span></span><span class="token token" style="color:#ccc">}</span><span> 7</span> 8<span></span><span class="token token" style="color:#f8c555">Meteor</span><span> meteor </span><span class="token token" style="color:#67cdcc">=</span><span> </span><span class="token token" style="color:#cc99cd">new</span><span> </span><span class="token token" style="color:#f8c555">Meteor</span><span class="token token" style="color:#ccc">(</span><span class="token token" style="color:#cc99cd">new</span><span> </span><span class="token token" style="color:#f8c555">RedisTransport</span><span class="token token" style="color:#ccc">(</span><span class="token token" style="color:#7ec699">"localhost"</span><span class="token token" style="color:#ccc">,</span><span> </span><span class="token token" style="color:#f08d49">6379</span><span class="token token" style="color:#ccc">,</span><span> </span><span class="token token" style="color:#7ec699">"user-service"</span><span class="token token" style="color:#ccc">)</span><span class="token token" style="color:#ccc">)</span><span class="token token" style="color:#ccc">;</span><span> 9</span><span>meteor</span><span class="token token" style="color:#ccc">.</span><span class="token token" style="color:#f08d49">registerImplementation</span><span class="token token" style="color:#ccc">(</span><span class="token token" style="color:#cc99cd">new</span><span> </span><span class="token token" style="color:#f8c555">UserServiceImpl</span><span class="token token" style="color:#ccc">(</span><span class="token token" style="color:#ccc">)</span><span class="token token" style="color:#ccc">,</span><span> </span><span class="token token" style="color:#7ec699">"user-service"</span><span class="token token" style="color:#ccc">)</span><span class="token token" style="color:#ccc">;</span><span> 10</span></code></pre></div><div class="bg-white rounded-md overflow-hidden shadow-sm border border-pixelib-heading/10"><div class="flex items-center gap-2 px-4 py-2 border-b border-gray-100 bg-gray-50"><div class="w-3 h-3 rounded-full bg-red-400"></div><div class="w-3 h-3 rounded-full bg-yellow-400"></div><div class="w-3 h-3 rounded-full bg-green-400"></div><div class="ml-2 text-xs text-gray-500 font-mono">ClientApplication.java</div></div><pre style="color:#ccc;background:#2d2d2d;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:0.9rem;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1.5rem;margin:0;overflow:auto;border-radius:0 0 0.75rem 0.75rem"><code class="language-java" style="white-space:pre;color:#ccc;background:none;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span> 11</span><span></span><span class="token token" style="color:#999">// Now, within a completely separate JVM, you can call the service as if it were local</span><span> 12</span><span></span><span class="token token" style="color:#f8c555">UserService</span><span> userService </span><span class="token token" style="color:#67cdcc">=</span><span> meteor</span><span class="token token" style="color:#ccc">.</span><span class="token token" style="color:#f08d49">registerProcedure</span><span class="token token" style="color:#ccc">(</span><span> 13</span><span> </span><span class="token token" style="color:#f8c555">UserService</span><span class="token token" style="color:#ccc">.</span><span class="token token" style="color:#cc99cd">class</span><span class="token token" style="color:#ccc">,</span><span> 14</span><span> </span><span class="token token" style="color:#7ec699">"user-service"</span><span> 15</span><span></span><span class="token token" style="color:#ccc">)</span><span class="token token" style="color:#ccc">;</span><span> 16</span> 17<span></span><span class="token token" style="color:#999">// Then, on an entirely different server, call methods as if they're local</span><span> 18</span><span></span><span class="token token" style="color:#f8c555">User</span><span> user </span><span class="token token" style="color:#67cdcc">=</span><span> userService</span><span class="token token" style="color:#ccc">.</span><span class="token token" style="color:#f08d49">findById</span><span class="token token" style="color:#ccc">(</span><span class="token token" style="color:#7ec699">"user-123"</span><span class="token token" style="color:#ccc">)</span><span class="token token" style="color:#ccc">;</span><span> 19</span></code></pre></div></section><section class="mb-16 transition-all duration-700 opacity-0 delay-300"><h2 class="text-2xl font-semibold te
19xt-pixelib-heading mb-6 flex items-center gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield text-pixelib-primary"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg>Key Features</h2><div class="grid grid-cols-1 md:grid-cols-2 gap-4"><div class="border border-pixelib-heading/10 rounded-md p-4 hover:border-pixelib-primary/30 transition-all"><h3 class="font-medium text-pixelib-heading mb-2 flex items-center gap-2"><div class="w-6 h-6 rounded-full bg-pixelib-primary/10 flex items-center justify-center"><span class="text-pixelib-primary text-xs font-bold">TS</span></div>Type Safety</h3><p class="text-pixelib-text/80 text-sm">Full compile-time type checking with IDE support. No runtime surprises.</p></div><div class="border border-pixelib-heading/10 rounded-md p-4 hover:border-pixelib-primary/30 transition-all"><h3 class="font-medium text-pixelib-heading mb-2 flex items-center gap-2"><div class="w-6 h-6 rounded-full bg-pixelib-primary/10 flex items-center justify-center"><span class="text-pixelib-primary text-xs font-bold">FT</span></div>Flexible Transport</h3><p class="text-pixelib-text/80 text-sm">Built-in Redis support with custom transport layer options.</p></div><div class="border border-pixelib-heading/10 rounded-md p-4 hover:border-pixelib-primary/30 transition-all"><h3 class="font-medium text-pixelib-heading mb-2 flex items-center gap-2"><div class="w-6 h-6 rounded-full bg-pixelib-primary/10 flex items-center justify-center"><span class="text-pixelib-primary text-xs font-bold">ZB</span></div>Zero Boilerplate</h3><p class="text-pixelib-text/80 text-sm">Define an interface, register it, and start using it. No setup complexity.</p></div><div class="border border-pixelib-heading/10 rounded-md p-4 hover:border-pixelib-primary/30 transition-all"><h3 class="font-medium text-pixelib-heading mb-2 flex items-center gap-2"><div class="w-6 h-6 rounded-full bg-pixelib-primary/10 flex items-center justify-center"><span class="text-pixelib-primary text-xs font-bold">HP</span></div>High Performance</h3><p class="text-pixelib-text/80 text-sm">Minimal overhead with efficient serialization for remote procedure calls.</p></div></div></section><section id="get-started" class="mb-16 pt-8 border-t border-pixelib-heading/10 transition-all duration-700 opacity-0 delay-400"><h2 class="text-2xl font-semibold text-pixelib-heading mb-6 flex items-center gap-3"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link text-pixelib-primary"><path d="M15 3h6v6"></path><path d="M10 14 21 3"></path><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path></svg>Get Started</h2><div class="bg-white p-6 rounded-md shadow-sm border border-pixelib-heading/10"><div class="flex items-center mb-4 gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-pixelib-primary"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg><p class="text-pixelib-heading font-medium">Add <!-- -->Meteor<!-- --> to your Maven project:</p></div><pre style="color:#ccc;background:#2d2d2d;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:0.9rem;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:.5em 0;overflow:auto;border-radius:0.375rem"><code class="language-xml" style="white-space:pre;color:#ccc;background:none;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token token" style="color:#ccc"><</span><span class="token token" style="color:#e2777a">dependency</span><span class="token token" style="color:#ccc">></span><span> 20</span><span> </span><span class="token token" style="color:#ccc"><</span><span class="token token" style="color:#e2777a">groupId</span><span class="token token" style="color:#ccc">></span><span>dev.pixelib.meteor</span><span class="token token" style="color:#ccc"></</span><span class="token token" style="color:#e2777a">groupId</span><span class="token token" style="color:#ccc">></span><span> 21</span><span> </span><span class="token token" style="color:#ccc"><</span><span class="token token" style="color:#e2777a">artifactId</span><span class="token token" style="color:#ccc">></span><span>meteor-core</span><span class="token token" style="color:#ccc"></</span><span class="token token" style="color:#e2777a">artifactId</span><span class="token token" style="color:#ccc">></span><span> 22</span><span> </span><span class="token token" style="color:#ccc"><</span><span class="token token" style="color:#e2777a">version</span><span class="token token" style="color:#ccc">></span><span>2.0.0</span><span class="token token" style="color:#ccc"></</span><span class="token token" style="color:#e2777a">version</span><span class="token token" style="color:#ccc">></span><span> 23</span><span></span><span class="token token" style="color:#ccc"></</span><span class="token token" style="color:#e2777a">dependency</span><span class="token token" style="color:#ccc">></span></code></pre><div class="mt-4 text-sm text-pixelib-text/70 flex items-center gap-2"><span class="inline-block w-2 h-2 bg-pixelib-primary rounded-full"></span><span>For more details, check our <a href="https://github.com/pixelib/meteor" target="_blank" rel="noopener noreferrer" class="text-pixelib-primary hover:underline">documentation</a></span></div></div></section><section class="border-t border-pixelib-heading/10 pt-8 transition-all duration-700 opacity-0 delay-500"><h2 class="text-2xl font-semibold text-pixelib-heading mb-4">Why We Built It</h2><div class="text-pixelib-text/80 space-y-4 mb-6"><p>We built Meteor because we were tired of the complexity in existing Java RPC libraries. Most solutions require extensive configuration and boilerplate code just to make a simple remote method call.</p><p>Meteor strips away this complexity. It lets you write distributed a
23pplications that feel like they're running locally, with type safety and minimal overhead.</p></div><div class="flex items-center gap-3"><div class="w-8 h-8 rounded-full bg-pixelib-primary/10 flex items-center justify-center text-pixelib-primary font-medium">D</div><div class="w-8 h-8 rounded-full bg-pixelib-primary/10 flex items-center justify-center text-pixelib-primary font-medium">M</div><div class="ml-1 text-sm text-pixelib-text/70">Duco & Mats</div></div></section></div></main><footer class="bg-white border-t border-gray-100"><div class="max-w-6xl mx-auto px-4 py-12"><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8"><div class="space-y-4"><a class="flex items-center space-x-2" href="/"><img alt="Pixelib Logo" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" style="color:transparent" src="/assets/logo/dark.svg"/><span class="text-xl font-bold text-pixelib-heading">Pixelib</span></a><p class="text-sm text-pixelib-text">Building high-quality tools, libraries and infrastructure for modern development.</p></div><div><h3 class="text-sm font-semibold text-pixelib-heading uppercase mb-4">Projects</h3><ul class="space-y-3"><li><a class="text-pixelib-text hover:text-pixelib-primary transition-colors" href="/projects/pixelscript">PixelScript</a></li><li><a class="text-pixelib-text hover:text-pixelib-primary transition-colors" href="/projects/arca">Arca</a></li><li><a class="text-pixelib-text hover:text-pixelib-primary transition-colors" href="/projects/meteor">Meteor</a></li><li><a class="text-pixelib-text hover:text-pixelib-primary transition-colors" href="/projects/needle">Needle</a></li><li><a class="text-pixelib-text hover:text-pixelib-primary transition-colors" href="/projects/reflection-path">ReflectionPath</a></li></ul></div><div><h3 class="text-sm font-semibold text-pixelib-heading uppercase mb-4">Documentation</h3><ul class="space-y-3"><li><a href="https://pixelib.github.io/pixelscript-docs/" target="_blank" rel="noopener noreferrer" class="flex items-center space-x-1 text-pixelib-text hover:text-pixelib-primary transition-colors"><span>PixelScript</span><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right text-pixelib-text/40"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://pixelib.github.io/arca/" target="_blank" rel="noopener noreferrer" class="flex items-center space-x-1 text-pixelib-text hover:text-pixelib-primary transition-colors"><span>Arca</span><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right text-pixelib-text/40"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li></ul></div><div><h3 class="text-sm font-semibold text-pixelib-heading uppercase mb-4">Community</h3><ul class="space-y-3"><li><a href="https://github.com/pixelib" target="_blank" rel="noopener noreferrer" class="flex items-center space-x-2 text-pixelib-text hover:text-pixelib-primary transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg><span>GitHub Group</span></a></li><li><a href="https://github.com/duckelekuuk" target="_blank" rel="noopener noreferrer" class="flex items-center space-x-2 text-pixelib-text hover:text-pixelib-primary transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg><span>GitHub Duco</span></a></li><li><a href="https://github.com/mindgamesnl" target="_blank" rel="noopener noreferrer" class="flex items-center space-x-2 text-pixelib-text hover:text-pixelib-primary transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
23ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg><span>GitHub Mats</span></a></li></ul></div></div><div class="border-t border-gray-100 mt-12 pt-8"><div class="flex flex-col md:flex-row justify-between items-center"><p class="text-sm text-pixelib-text">© <!-- -->2026<!-- --> Pixelib. All rights reserved.</p></div></div></div></footer></div></div>
23<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/projects/meteor","query":{},"buildId":"s8JdxdFZlpvCMC5vmZ16P","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script>
23<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"7a4fcd09057846729a607833db6ccf37","r":1,"spa":2}' crossorigin="anonymous"></script>
23 24</body></html>
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.