|
138 | 138 | ;; This convention helps you navigate the document and quickly find what you're looking for: |
139 | 139 | ;; conceptual explanations (📖), working code (⚙️), or usage examples (🧪). |
140 | 140 |
|
141 | | -;; ### 📖 Notebook Structure |
142 | | -;; |
143 | | -;; The rest of this notebook: |
144 | | -;; 1. **Setup** - dependencies and example datasets |
145 | | -;; 2. **Inspiration** - AlgebraOfGraphics.jl background |
146 | | -;; 3. **Design exploration** - problem/solution for compositional API |
147 | | -;; 4. **Design overview** - key decisions and API preview |
148 | | -;; 5. **How plots display** - auto-display behavior |
149 | | -;; 6. **Implementation status** - what works, what's missing |
150 | | -;; 7. **Rendering targets & delegation** - backend strategy |
151 | | -;; 8. **Malli schemas** - reference material (can skim) |
152 | | -;; 9. **Validation helpers** - error checking utilities |
153 | | -;; 10. **API implementation** - operators, layer/plot-level properties |
154 | | -;; 11. **Core implementation** - helper functions and rendering infrastructure |
155 | | -;; 12. **Examples** - scatter, linear regression, histograms, grouping, faceting |
156 | | -;; 13. **Multi-target rendering** - same spec across all backends |
157 | | -;; 14. **Validation examples** - error messages in action |
158 | | -;; 15. **Design discussions** - reflections on choices made |
159 | | -;; |
160 | | -;; **Note on IR:** The internal representation uses maps with `:=layers` keys, |
161 | | -;; separating plot-level properties from layer specs. This enables clean composition |
162 | | -;; and clear semantics for plot configuration. |
163 | | -;; |
164 | | -;; If you want to skip ahead to see it working, jump to "Basic Scatter Plots". |
165 | | - |
166 | 141 | ;; # Setup |
167 | 142 |
|
168 | 143 | ;; ### ⚙️ Dependencies |
|
426 | 401 | ;; - Plot specs are maps with `:=layers` key containing vector of layer specs |
427 | 402 | ;; - Plot-level properties (`:=target`, `:=width`, `:=height`, scales) separate from layers |
428 | 403 | ;; - Enables clear distinction between plot configuration and layer data |
| 404 | +;; - This separation enables clean composition and clear semantics for plot configuration |
429 | 405 | ;; |
430 | 406 | ;; **6. Multi-target rendering** |
431 | 407 | ;; - Same plot spec works across `:geom`, `:vl`, `:plotly` rendering targsts |
|
457 | 433 | ;; **Auto-display:** Plot specs returned by `=*`, `=+`, and constructors automatically |
458 | 434 | ;; display as plots in Kindly-compatible notebooks. Use `kind/pprint` to inspect |
459 | 435 | ;; the raw plot spec map (with `:=layers` key) instead. |
| 436 | +;; |
| 437 | +;; **Want to see it in action?** Skip ahead to "Basic Scatter Plots" to see the API working, |
| 438 | +;; or continue reading for implementation details. |
460 | 439 |
|
461 | 440 | ;; ### 📖 How Plots are Displayed |
462 | 441 | ;; |
|
0 commit comments