| Author here - This blog post is a 'narrative visualization' to show some nice savings incentives visualized in a chart. I think these are important to have a good understanding about when they are relevant, but the bigger reason I made this is to explore the communication style applied to models and to get closer to the technical patterns to create them. Since I make calculang [1], all the savings projection calculations are described using it [2] (including income tax calculations: here an example of composition in calculang models). calculang transpiles into a pure functional JS module, and here I interact with it using reactive OJS and the closeread extension for Quarto [3], plus a reactive Vega visualization. The programming logic mostly is: Vega signals and calculang parameters condition on a `progress` value that updates as the user scrolls. It was nice to make: minus no fast reload I would say. I'm considering streamlining some tools with fast reload to facilitate building this type of output for calculang models - like I said I'm interested in the narrative style applied to models, and pure FP calculang and reactive FRP tools around it help a lot. [1] https://calculang.dev [2] https://calculang.dev/examples-viewer?id=pension-calculator <3 separation of concerns [3] https://closeread.dev/ |