Semantic Diff Analysis: micr.dev
Analysis Date: 2026-04-15
Commit Analyzed: 2f37057 — feat(tree): refresh orb lineup and optimize gifs
Author: Microck | Date: 2026-04-14
Summary
This repository contains a single commit — the initial push of the complete micr.dev portfolio website. ~64 files and 25,927 lines of code. Because there is no prior history, this is a semantic codebase audit rather than a traditional diff-between-commits.
P1 High — Behavioral Concerns
1.1 — Hard Mobile Block with No Graceful Fallback
- File:
index.html:311-327
- Impact: Mobile/tablet user-agents are blocked with a thrown error. The
throw inside an ES module produces an uncaught error in the console. The UA regex may block some desktop touch-screen devices.
1.2 — Dev-Tools Easter Egg Detection via Window Size
- File:
index.html:547-565
- Impact: 160px threshold is fragile — sidebars, vertical tabs, or non-standard browser chrome may trigger false positives.
1.3 — Blob URL Handoff Pattern for Spline Scene
- File:
index.html:466-478
- Impact: Peak memory usage during load is roughly 2× the scene size (~168 MB) before GC reclaims the ArrayBuffer.
P2 Medium — Architectural & Performance Patterns
2.1 — 84 MB Spline Scene Shipped with cache: "no-store"
- File:
scene.splinecode (84,618,899 bytes) + index.html:423
- Impact: Every visit re-downloads 84 MB — no CDN or browser caching.
- Fix: Remove
cache: "no-store" for production. Set long-lived Cache-Control headers in netlify.toml for .splinecode files.
2.2 — 2 MB Vendored Runtime without SRI or Version Pinning
- File:
runtime.js (1,993,323 bytes)
- Impact: Maintenance burden, no integrity verification.
2.3 — opentype.js Vendored at 464 KB
- Impact: Difficult to track version or apply security patches.
2.4 — External CDN Import in run.js without Version Pinning
- File:
run.js:7-8
- Impact: A breaking change or CDN outage would silently break the easter egg.
2.5 — 29 MB of GIF Assets for Tree Spheres
- Directory:
tree/images/*.gif (21 files, ~29 MB total)
- Impact: Large payload. Consider lazy loading (
loading="lazy" on <img> tags, currently missing at tree/index.html:578).
P3 Low — Style & Minor Improvements
3.1 — WIP Page Content
- File:
wip/index.html:66 — contains potentially controversial text.
- Impact: Linked from production redirects.
3.2 — No Build System or Package Manager
- Observation: No
package.json, no build tooling. Vendored libraries committed directly.
3.3 — about/data.json Contains Personal Data
- Observation: 581 lines of personal preferences data for the about subdomain.
Recommendations Summary
| Priority |
Issue |
Action |
| P2 |
84 MB scene fetched with no-store |
Remove cache: "no-store", add Cache-Control headers |
| P2 |
~30 MB of tree GIFs loaded eagerly |
Add loading="lazy" to <img> tags |
| P1 |
Double memory usage during scene load |
Consider streaming directly to Spline instead of Blob URL handoff |
| P1 |
Unversioned CDN import in run.js |
Pin fflate to a specific version |
| P2 |
Vendored deps without version tracking |
Add package.json or comment version numbers |
Automated by Nightshift v3 (GLM 5.1) — merge if useful, close if not.
Semantic Diff Analysis: micr.dev
Analysis Date: 2026-04-15
Commit Analyzed:
2f37057—feat(tree): refresh orb lineup and optimize gifsAuthor: Microck | Date: 2026-04-14
Summary
This repository contains a single commit — the initial push of the complete
micr.devportfolio website. ~64 files and 25,927 lines of code. Because there is no prior history, this is a semantic codebase audit rather than a traditional diff-between-commits.P1 High — Behavioral Concerns
1.1 — Hard Mobile Block with No Graceful Fallback
index.html:311-327throwinside an ES module produces an uncaught error in the console. The UA regex may block some desktop touch-screen devices.1.2 — Dev-Tools Easter Egg Detection via Window Size
index.html:547-5651.3 — Blob URL Handoff Pattern for Spline Scene
index.html:466-478P2 Medium — Architectural & Performance Patterns
2.1 — 84 MB Spline Scene Shipped with
cache: "no-store"scene.splinecode(84,618,899 bytes) +index.html:423cache: "no-store"for production. Set long-livedCache-Controlheaders innetlify.tomlfor.splinecodefiles.2.2 — 2 MB Vendored Runtime without SRI or Version Pinning
runtime.js(1,993,323 bytes)2.3 —
opentype.jsVendored at 464 KB2.4 — External CDN Import in
run.jswithout Version Pinningrun.js:7-82.5 — 29 MB of GIF Assets for Tree Spheres
tree/images/*.gif(21 files, ~29 MB total)loading="lazy"on<img>tags, currently missing attree/index.html:578).P3 Low — Style & Minor Improvements
3.1 — WIP Page Content
wip/index.html:66— contains potentially controversial text.3.2 — No Build System or Package Manager
package.json, no build tooling. Vendored libraries committed directly.3.3 —
about/data.jsonContains Personal DataRecommendations Summary
no-storecache: "no-store", addCache-Controlheadersloading="lazy"to<img>tagsrun.jsfflateto a specific versionpackage.jsonor comment version numbersAutomated by Nightshift v3 (GLM 5.1) — merge if useful, close if not.