Component Migration Scorecard
Breakdown by architectural subsystem
Standard Library Function Census
| Function | Module / Domain | Status | Representation in .ic vs JS |
|---|---|---|---|
| acosh(x) | trig.ic | Pure .ic | ln(x + sqrt(x^2 - 1)) |
| clamp(x, min, max) | shaping.ic | Pure .ic | min(max(x, min), max) |
| vec_dist(x1,y1,x2,y2) | geom.ic | Pure .ic | sqrt((x2-x1)^2 + (y2-y1)^2) |
| pmt(r, n, p, f, t) | excel.ic | Pure .ic | if(r==0, -(p+f)/n, -(r*(f+p*(1+r)^n))/((1+r*t)*((1+r)^n-1))) |
| fibonacci(n) | math.ic | Pure .ic | round((1.618^n - (-0.618)^n) / 2.236) |
| reduce(arr, fn, init) | IcCompiler Lowering | Lowered .ic | Monomorphic for-loop (0 heap allocations) |
| average(arr) | stats.ic | Lowered .ic | reduce(arr, (a, b) => a + b, 0) / count(arr) |
| gcd(a, b) | math.ic | Lowered .ic | Euclidean loop lowering in .ic |
| nsolve(fn, guess) | solver.ic | Lowered .ic | Bounded Newton-Raphson iteration loop |
| stdev(arr) | stats.ic | Lowered .ic | sqrt(average(map(arr, x => (x - avg)^2))) |
| round(x, [unit]) | Scalar Units | Host JS | `Math.round(x)` (lifts compound unit algebra) |
| nchoosek(n, k) | Combinatorics | Host JS | Arbitrary-precision BigInt factorial product |
| cagr(...) | Financial Types | Host JS | Returns percentage format descriptor |
| fetch(url) | Host I/O | Host JS | Browser Fetch API / Network bridge |
Interactive .ic Studios
Preview, inspect, and test all self-describing .ic assets live:
🎨 .ic Pixel Art Inspector
Graph-like sprite diagram & palette spotlight
🤖 Calcy Mascot Studio
10 animated faces & 16-color warm palette
👾 Mathematical Foes Studio
Adder, Subtractor, Times & Titan Boss in .ic
🎵 Procedural Audio Synth
Web Audio dynamic soundtrack from soundtrack.ic
✨ Pixel Art Particles Studio
Procedural enemy bursts, neon grid & curator deck
🔤 Retro Mathematical Font
Friendly 6x8 bitmap font & math symbols in .ic
LOC Savings Analysis
Replacing imperative boilerplate with pure mathematical sheets:
Standard Library
-77% (1,474 → 338 LOC)
Game Logic & Tuning
-79% (2,420 → 511 LOC)
Procedural Soundtrack
-79% (450 → 95 LOC)
Pixel Sprite Art
-50% (800 → 400 LOC)