Skip to content

Instantly share code, notes, and snippets.

@celsowm
celsowm / openapi-split-typegen.md
Created February 8, 2026 20:23
openapi-split-typegen

Building a Custom OpenAPI 3.1 TypeScript Type Generator This is a substantial project. I'll build a complete, publishable npm library that parses OpenAPI 3.1 specs and generates split TypeScript type files.

Project Structure text

openapi-typegen/ ├── package.json ├── tsconfig.json ├── tsconfig.build.json

@celsowm
celsowm / rio_procedural_mg_vr.htm
Created February 7, 2026 20:36
procedural rio janeiro metal gear vr style background
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Holographic City</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { overflow: hidden; background: #000; cursor: crosshair; } canvas { display: block; } #scanlines { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 11; background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.04) 2px, rgba(0,0,0,0.04) 4px); } .hud-base { position: fixed; color: rgba(60,60,60,0.7); font-family: 'Courier New', monospace; pointer-events: none; z-index: 12; } #hud { top: 20px; left: 20px; font-size: 11px; line-height: 1.8; } #hud-right { top: 20px; right: 20px; font-size: 10px; text-align: right; line-height: 1.8; } #hud-bottom { bottom: 20px; left: 50%; transform: translateX(-50%); color: rgba(80,80,80,0.5); font-size: 9px; letter-spacing: 2px; } </style> </head> <body> <div id="scanlines"></div>
@celsowm
celsowm / test.php
Created January 28, 2026 19:25
test.php
<?php
require 'vendor/autoload.php';
use Playwright\Playwright;
// Inicializa o Playwright
$playwright = Playwright::create();
$browser = $playwright->chromium()->launch(['headless' => false]); // false para você ver o processo
$context = $browser->newContext();
@celsowm
celsowm / projeto assinador open a3.md
Last active January 27, 2026 21:31
projeto assinador open a3

Cross-Platform Desktop PDF Signing Application (.NET 8 + Avalonia)

Complete cross-platform solution supporting Windows and macOS for PDF digital signatures.

Project Structure

DigitalSignerApp/
├── DigitalSignerApp.sln
├── DigitalSignerApp/
@celsowm
celsowm / main.cxx
Created January 10, 2026 20:48
simple cube saturn ring lib
#include <srl.hpp>
using namespace SRL::Types;
using namespace SRL::Math::Types;
// Cube vertices (8 corners)
Vector3D cubeVertices[8] = {
Vector3D(-10.0, -10.0, -10.0), // 0: front bottom left
Vector3D( 10.0, -10.0, -10.0), // 1: front bottom right
Vector3D( 10.0, 10.0, -10.0), // 2: front top right
@celsowm
celsowm / raycast sgdk claude opus.md
Created January 8, 2026 12:57
raycast sgdk claude opus

Wolf3D-Style Raycasting Engine for Sega Genesis (SGDK)

Here's a complete MVP raycasting engine. This is structured as multiple files for a proper SGDK project.

Project Structure

project/
├── src/
│   ├── main.c
│   ├── raycaster.c
@celsowm
celsowm / generic_doom_to_saturn.md
Created January 8, 2026 02:55
doom port plan to saturn

DOOM Saturn Port Strategy

My Recommendation: Modern Minimal Port + Yaul SDK

Why This Approach?

Don't use original DOOM code directly with SGL because:

  • SGL is dated, quirky, and poorly documented in some areas
  • Original DOOM renderer needs heavy refactoring anyway for Saturn
  • You'll fight two battles simultaneously
@celsowm
celsowm / ai_server.md
Last active January 5, 2026 02:51
ai_server.md

#step 1: download model

hf download Qwen/Qwen3-14B-FP8 --local-dir /srv/models/qwen3-14b-fp8

big model multi gpus:

docker run -d --name vllm-qwen-235b-thinking \
  --gpus '"device=0,1,2,3"' \
@celsowm
celsowm / pgedigital_mantine.ts
Created December 17, 2025 01:40
pgedigital_mantine.ts
import '@mantine/core/styles.css';
import React, { useEffect, useMemo, useReducer, useState } from 'react';
import {
ActionIcon,
Avatar,
Badge,
Box,
Button,
Divider,
@celsowm
celsowm / glassmorph.tsx
Created December 14, 2025 13:31
glassmorph.tsx
import React, { useState } from "react";
import { ChevronLeft, ChevronRight, Pencil, Trash2 } from "lucide-react";
import { AnimatePresence, motion } from "framer-motion";
type Status = "Online" | "Ausente" | "Ocupado" | "Offline";
type Person = {
name: string;
email: string;
role: string;