{
  "schemaVersion": 1,
  "generatedAt": "2026-08-05T12:06:36.663Z",
  "count": 1,
  "projects": [
    {
      "$schema": "https://ivansivak.com/schemas/project-manifest.schema.json",
      "schemaVersion": 1,
      "slug": "raytracer",
      "title": "My Old Raytracer Toy",
      "shortTitle": "Raytracer Toy",
      "summary": "A browser resurrection of a Delphi/GLScene CPU ray tracer I wrote around 2003, rebuilt as a Windows 98-style Three.js scene editor with a real recursive JavaScript ray tracer running in a Web Worker.",
      "description": "The live Three.js viewport is an editor; the rendered viewport is rebuilt progressively by a CPU ray tracer rather than captured from WebGL. The repository also preserves the original Object Pascal source, Delphi form, and bundled 3DS models.",
      "category": "Computer Graphics",
      "tags": [
        "Ray tracing",
        "Three.js",
        "Web Workers",
        "Delphi",
        "Retro computing"
      ],
      "year": 2003,
      "publishedAt": "2026-08-05",
      "status": "published",
      "featured": true,
      "order": 10,
      "sourceUrl": "https://github.com/ivansivak86/raytracer_toy",
      "media": {
        "preview": "preview.png"
      },
      "window": {
        "width": 1240,
        "height": 820,
        "minWidth": 760,
        "minHeight": 520,
        "resizable": true
      },
      "capabilities": {
        "fullscreen": true,
        "downloads": true,
        "pointerLock": false,
        "clipboard": false,
        "popups": false
      },
      "runtimeUrl": "https://apps.ivansivak.com/projects/raytracer/",
      "manifestUrl": "https://apps.ivansivak.com/projects/raytracer/_project.json"
    }
  ]
}