diff --git a/README.md b/README.md index 0d65538..1e0e972 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Introduction -The goal of this project was to create a functional miniature desktop display inspired by the 'Macrodata Refinement' computers featured in Apple TV's Severance. This build consists of two core elements: the software and the physical enclosure, both outlined below. +The goal of this project was to create a working miniature desktop display inspired by the 'Macrodata Refinement' computers featured in Apple TV's *Severance*. This build consists of two core elements: the software and the physical enclosure, both outlined below. Feel free to email comments, suggestions, or inquiries directly to andrewchilx@gmail.com. @@ -19,92 +19,58 @@ Feel free to email comments, suggestions, or inquiries directly to andrewchilx@g #### Objectives - - **Generate a randomized number grid** with grouped 'bad numbers'. - - **Animate and style the interface** to match the aesthetics of the show. + - Generate a randomized **number grid** with grouped 'bad numbers'. + - Animate and style the **interface** to match the aesthetics of the show. -### a. The Number Grid +## a. The Number Grid - - - - - - - - - - - - - - - - - - - - - - - - -
1GENERATE -
    -
  • A NxN grid is created.
  • -
  • Each cell is filled with a random integer between 0-9.
  • -
-
2MAP -
    -
  • A Perlin noise map assigns smooth gradient values to the grid.
  • -
  • This ensures numbers are naturally grouped rather than randomly scattered.
  • -
-
3THRESHOLD -
    -
  • Each cell's value is compared to a set threshold.
  • -
  • Values above the threshold are marked as 'bad' numbers.
  • -
-
4GROUP -
    -
  • 'Bad' numbers are grouped based on proximity.
  • -
  • At random times, a group visible in the viewport will be activated: -
      -
    • If hovered over, they become 'super active', extending their active time and appearing agitated.
    • -
    • If clicked, the group 'refined', animating into a pre-determined bin and resetting as not "bad".
    • -
    -
  • -
-
- -
+![generation](https://github.com/user-attachments/assets/ba004291-8ea9-4b84-995f-f6229e6b8b41) +> **GENERATE** + - A *N×N* grid is created. + - Each cell is filled with a random integer between 0-9. +> **MAP** + - A Perlin noise map assigns smooth gradient values to the grid. + - This ensures numbers are naturally grouped rather than randomly scattered. -### b. The Interface +> **THRESHOLD** + - Each cell's value is compared to a set threshold. + - Values above the threshold are marked as 'bad'/'scary' numbers. + +> **GROUP** + - 'Bad' numbers are grouped based on proximity to one another. + - At random intervals, a group visible in the viewport will be activated: + - If hovered over, they become **'super active'**, extending their active time and appearing agitated. + - If clicked, the group is **'refined'**, animating into a pre-determined bin and resetting as no longer 'bad'. + +## b. The Interface + +

+     +     + +

- A moving Perlin noise map offsets each number (vertically or horizontally). - Activated bad groups expand / contract / jitter. - Numbers scale based on cursor position. - Refined groups animate into bins, with a percent bar keeping track of your progress. -

-     -     - -

- #### Additional Features: - The application is cross-compatible, allowing compilation for both Linux and Raspberry Pi (ARM). -- Debug mode reveals various settings. -- Save / load configurations to / from disk (JSON). -

- -

- +- A debug mode reveals various settings (which can be saved / loaded from disk as JSON). - An 'idle' mode can be enabled to display the Lumon logo screensaver. -- Numbers animate-on when going from idle mode. +- The number grid animates on-screen when going from idle mode. - The user can navigate the full grid using arrow and zoom keys. --- --- # II. The Housing + +#### Objectives + + - Reconstruct the computer housing from the show as a printable 3D model. + - Design the interior to support a RaspberryPi + screen +