# Chart assets and reproducibility

Five charts for a research essay. SVGs are 1,000 px wide; PNGs are rendered at
2× resolution for clear embedding. Each chart has embedded SVG title/description
accessibility text and a matching CSV of every plotted value. No raw participant
data is included. No random numbers, network requests, or fitted parameters are
used by the generator.

The essay displays files in the order `01`, `02`, `04`, `03`, `05`. Their visible
figure numbers follow that reading order; stable filenames are unchanged.

Download the generator into a local folder. With Node.js installed, run:

```sh
npm install sharp
node generate.mjs
```

Append a chart basename, such as `05-attention-composition`, to regenerate only
that chart's files. With no argument, all five charts are generated.

Alternatively, set `SHARP_MODULE` to the absolute path of an existing
installed sharp package before running `node generate.mjs`. The
SVGs use Arial/Helvetica/sans-serif; the exact PNG rasterization depends on the
available fonts and sharp/librsvg versions. The source data and SVG geometry
are deterministic. Rerunning writes the named generated SVG/PNG/CSV files in
this directory only.

## Evidence and assumptions

1. **01-attention-evidence:** The published 2013 and 2016 means are 17.5 and
   11.9 hours. The statistic is **annual total hours in the hourly global Twitter
   top 50 per distinct hashtag**, not a person's attention span, one continuous
   trending spell, or a meme half-life. Only the two reported summary values are
   plotted; no error bars are fabricated.
   [Lorenz-Spreen et al. (2019)](https://doi.org/10.1038/s41467-019-09311-w).

2. **02-four-clocks:** Entirely illustrative exponentials `y = 2^(-t/h)` with
   chosen `h = 2, 6, 14, 24` arbitrary time units. Every series is normalized to
   its **own** starting value 1. Their ordering and shapes are not empirical
   claims or universal laws. CSV samples cover 0–36 in 0.1-unit steps.

3. **03-lifecycle-waves:** One fictional participant and chosen psychological
   intensity values, not hormones, biomarker data, or measured human responses.
   Price is a synthetic index with its first observation set to 100. The events
   have unequal, arbitrary spacing. All control points are supplied separately
   in `03-lifecycle-control-points.csv`; shape-preserving cubic Hermite
   interpolation supplies 0.1-unit samples. Reward and threat are allowed to
   rise together. Threat is low at the sale and then rebounds on a later
   price move. Belonging was chosen to vary less with price. These are
   explanatory hypotheses, not measured patterns or causal estimates.

4. **04-same-return:** Reported mean satisfaction is 1.99 for a fall then
   recovery and 1.05 for a rise then retreat in the study's financial-professional
   subgroup of 150. Both hypothetical investment paths end at +10% return.
   The full −4 to +4 response scale is shown. Difference in the reported means
   is 0.94 scale points. This chart does not add uncertainty bars, estimate
   statistical significance, or interpret satisfaction as stress or hormones.
   [Schwaiger et al. (2020), *Determinants of investor expectations and satisfaction*](https://research-portal.uu.nl/ws/files/188505948/1-s2.0-S016518891930048X-main.pdf).

5. **05-attention-composition:** The common observable is **page views per
   interval**, with constructed values. Both scenarios share
   `total(t) = 80 + 400*(t/6)*exp(1-t/6)` for `t = 0…30`. First-visit share in A is
   `0.82 - 0.10*t/30`; first-visit share in B is `0.32*exp(-t/9) + 0.04`.
   Repeat visits are always the exact residual from the common total. The two
   categories distinguish first from subsequent visits within the constructed
   observation history; they are not estimates of unique people or a proxy for
   motivation. Non-unique decompositions of the same total demonstrate why total
   page views alone do not identify visit composition. Visit categories do not
   identify enjoyment, worry, holding, or any other motive, and do not explain
   trades. These are constructed values, not empirical data.

The generator asserts the supplied empirical values, half-height property,
finite geometry, psychological bounds, the chosen post-exit rebound, equality
of the two aggregate constructions, and output dimensions. Visual inspection
of PNG renders is still required after changing text, layout, or fonts.
