{ "scene": "helm", "source": "assets/raw/course-VIII-helm-press.jpeg", "parts": [ { "name": "press", "title": "The chart", "blurb": "A function with holes - the template owns every structural decision, and renders whatever fills it.", "z": 0, "points": [ [ 28.09, 44.03 ], [ 28.23, 43.34 ], [ 28.81, 42.23 ], [ 41.58, 28.45 ], [ 47.7, 22.85 ], [ 49.1, 21.55 ], [ 49.41, 21.29 ], [ 49.88, 21.29 ], [ 50.11, 21.42 ], [ 60.78, 31.05 ], [ 69.66, 40.45 ], [ 70.02, 40.89 ], [ 70.6, 42.04 ], [ 70.68, 42.6 ], [ 71.4, 68.03 ], [ 71.4, 69.14 ], [ 71.33, 69.42 ], [ 70.89, 70.27 ], [ 70.02, 71.43 ], [ 65.08, 78.29 ], [ 60.99, 82.75 ], [ 58.16, 85.74 ], [ 57.76, 86.13 ], [ 57.37, 86.26 ], [ 56.27, 86.26 ], [ 55.5, 85.61 ], [ 53.39, 83.66 ], [ 44.95, 76.11 ], [ 42.79, 74.29 ], [ 41.68, 73.03 ], [ 41.46, 72.69 ], [ 28.74, 53.35 ], [ 28.31, 52.53 ], [ 28.23, 52.26 ], [ 28.09, 44.72 ] ], "dx": 0.0, "dy": 0.0 }, { "name": "contexts", "title": "Values contexts", "blurb": "One small file per cluster - names, addresses, sizes. The cluster's whole voice, values only.", "z": 0, "points": [ [ 24.11, 21.94 ], [ 34.92, 19.22 ], [ 35.07, 19.25 ], [ 36.67, 21.02 ], [ 36.81, 21.19 ], [ 37.39, 22.28 ], [ 38.12, 23.8 ], [ 38.19, 24.23 ], [ 38.48, 28.14 ], [ 38.48, 28.43 ], [ 38.34, 30.15 ], [ 38.26, 30.44 ], [ 37.68, 31.58 ], [ 37.32, 32.01 ], [ 15.52, 51.59 ], [ 14.64, 52.14 ], [ 14.35, 52.08 ], [ 14.06, 51.74 ], [ 13.41, 50.91 ], [ 13.19, 50.59 ], [ 12.68, 49.51 ], [ 12.68, 46.65 ], [ 14.5, 35.5 ], [ 14.57, 35.06 ], [ 14.72, 34.63 ], [ 15.3, 33.46 ], [ 22.06, 22.98 ], [ 22.35, 22.72 ], [ 22.82, 22.46 ] ], "dx": 17.79, "dy": 14.42 }, { "name": "renders", "title": "The renders", "blurb": "Same framework, different numbers - one function, many clusters. Review the render, not just the template.", "z": 0, "points": [ [ 54.4, 28.31 ], [ 53.81, 26.93 ], [ 53.67, 25.14 ], [ 54.76, 22.23 ], [ 60.5, 7.22 ], [ 61.23, 5.85 ], [ 62.48, 5.4 ], [ 66.73, 8.79 ], [ 71.55, 12.69 ], [ 77.03, 17.51 ], [ 81.94, 22.56 ], [ 84.63, 26.52 ], [ 88.34, 32.13 ], [ 91.03, 36.33 ], [ 94.3, 41.38 ], [ 94.88, 42.61 ], [ 94.73, 44.56 ], [ 92.92, 47.61 ], [ 86.33, 55.8 ], [ 82.05, 60.22 ], [ 80.26, 59.96 ] ], "dx": -15.11, "dy": 12.16 }, { "name": "gate", "title": "The schema gate", "blurb": "values.schema.json + required: a context missing a value fails at render time, in the pipeline.", "z": 0, "points": [ [ 52.58, 82.79 ], [ 52.58, 84.22 ], [ 49.17, 92.01 ], [ 48.73, 92.99 ], [ 48.44, 93.51 ], [ 48.04, 93.56 ], [ 47.89, 93.43 ], [ 29.76, 74.97 ], [ 28.74, 73.82 ], [ 28.31, 72.96 ], [ 28.23, 72.68 ], [ 28.23, 68.29 ], [ 28.67, 67.36 ], [ 29.03, 66.72 ], [ 29.69, 66.48 ], [ 31.58, 65.77 ], [ 35.11, 65.04 ], [ 36.17, 65.04 ], [ 36.51, 65.3 ], [ 51.56, 81.1 ], [ 52.0, 81.66 ] ], "dx": 4.13, "dy": -10.4 } ] }