Skip to content
CAI
Software that uses CAICheck a score

ncave/fable-raytracer

44.6

Weak · 3 October 2026

344

lines of production code

F#

with JavaScript

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a demo application that implements a ray tracing engine in F\# and transpiles it to multiple target platforms including Rust, JavaScript, Python, and WebAssembly. It provides core rendering capabilities such as scene composition with spheres, lighting, shadows, and reflections, along with interactive camera rotation. The architecture supports multi-platform execution by mapping core functionality to native APIs for each specific runtime environment.

Features

Added F\# raytracer demo with camera rotation support

The fable-raytracer location now includes a new source file (src/RayTracer.fs) implementing a ray tracing engine in F\#. This adds the capability to render scenes with spheres, lighting, shadows, and reflections. A key feature introduced is the ability to rotate the camera, allowing users to view the rendered scene from different angles. The implementation uses structs for performance optimization, particularly targeting WebAssembly efficiency.

fable-raytracer · high confidence

Added multi-platform runtime support for Fable compilation targets

The src directory now includes platform-specific implementations to support compiling the F\# codebase to Rust, Dart, Python, JavaScript/TypeScript, and standard .NET. New files like Platform.fs and lib.fs provide conditional compilation logic (using \#if directives) to map core functionality—such as timing measurements and buffer handling—to the native APIs of each target (e.g., std::time for Rust, perf\_hooks for JS, System.Diagnostics for .NET). This enables the application to run natively on these diverse platforms rather than being limited to a single runtime.

src · high confidence

Initial release of Fable RayTracer demo

This change introduces the Fable RayTracer, a demo application that transpiles F\# code to multiple targets including Rust, JavaScript, Python, and WebAssembly. The release includes the core HTML interface for rendering ray-traced scenes in the browser, configuration files for NuGet and Git, and a comprehensive README detailing build and run instructions for various test targets (JS, WASM, Rust, Python, .NET).

(repo-wide) · high confidence

Dependencies

Initial project scaffolding with .NET 10 and Rust/WASM support

This change introduces the initial project structure for the Fable Raytracer, establishing the build environment across three key manifests. The .NET project (fable-raytracer.fsproj) targets .NET 10.0 and references Fable.Core version 4.5.0, while the Rust component (Cargo.toml) defines the fable-raytracer crate with dependencies on fable\_library\_rust and wasm-bindgen. Additionally, package.json provides npm scripts to orchestrate building and testing for multiple targets, including JavaScript, Rust (Web and Node.js), Python, and .NET Native/WASM.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 43 → 45 (+1.3)
  • Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 69 (+0.0)
  • Maturity 50 → 50 (+0.0)
  • Readiness 17 → 17 (+0.0)
  • Security 100 → 100 (+0.0)
  • Performance 100 (new)

Resolved (1)

  • Documentation: no architecture or design documentation (README.md)

Architecture

  • Unchanged — 0 containers · 1 contexts · 0 edges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

ncave/fable-raytracer was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 8769e108fab2dee12bfaccf3f1f2a4faca4fb7a2 — the exact code this score is about.
  • Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-4f4226d619ea.