docs: Nyfiken.cs.oslomet.no

This document serves as a technical overview of the website nyfiken.cs.oslomet.no. It is intended for future developers tasked with maintaining, extending, or rebuilding parts of the project.

The site was developed primarily as a collection of educational physics visualizations. As a consequence, the codebase evolved organically around individual simulations rather than from a single architectural plan. While functional, the implementation is not always consistent. Naming conventions vary between modules, code reuse is limited, and remnants of earlier development stages remain throughout the project. The CSS in particular reflects the incremental nature of the site's development: layouts are largely constructed using flexbox, margins, and padding rather than a unified grid system.

For this reason, the focus of this documentation is less on explaining every implementation detail and more on describing the underlying physics, numerical methods, and design decisions behind the visualizations. Future maintainers will likely be familiar with the web technologies involved, while some of the scientific concepts may be less immediately accessible.

Most visualizations are intentionally self-contained. Individual pages can generally be modified, replaced, or rewritten without requiring a detailed understanding of the entire site. This modular structure should make it relatively straightforward to improve individual components over time.

A Final Note

The codebase was built over an extended period of experimentation, and some of that history remains visible in the source. You may encounter inconsistent naming conventions, abandoned code fragments, or solutions that made perfect sense at the time but are less obvious today.

The good news is that the bar has been set low for leaving the project in a better state than it was found. If this documentation saves you a few hours of reverse engineering or a few moments of existential debugging—then it has served its purpose.

Good luck, and thank you for taking care of the project.