Commit dcc0aa6
authored
Implement project reports in HTML, PDF, and CIF (#185)
* Add project-summary-rendering ADR suggestion
* Add project-summary-rendering implementation plan
* Add ReportFormatEnum and ReportStyleEnum
* Refactor Report into a ProjectConfig CategoryItem
* Load _report.* from project.cif with legacy defaults
* Move IUCr CIF validation inside the writer
* Remove public Report.check() and check=True flag
* Add per-format save methods and Report.save dispatch
* Lock empty-config behaviour in Report API
* Add analysis.software category and engine URL constants
* Populate analysis.software at fit time and emit fit_datetime
* Amend analysis-cif-fit-state for analysis.software
* Amend iucr-cif-tag-alignment for project.report
* Add project.publication facade and sub-categories
* Persist project.publication to project.cif
* Add Publication.load TOML JSON entry point
* Read publication metadata in IUCr writer
* Add ReportDataContext builder and Jinja base macros
* Add HTML renderer with CDN and offline Plotly modes
* Vendor LaTeX styles with licenses and add report deps
* Add LaTeX renderer and save_tex with vendored styles
* Add opportunistic PDF compilation via TeX subprocess
* Add crystal_system and measured_range properties for reports
* Add ed save-report CLI subcommand
* Update tutorials and user-guide docs for project.report
* Promote project-summary-rendering ADR to accepted
* Reach Phase 1 review gate
* Document Kaleido browser bootstrap option
* Make dictionary validation optional and fix TeX braces
* Preserve report uncertainties in exported formats
* Reuse TeX bundle for PDF generation
* Replace report formats list with booleans
* Accept project summary rendering migration plan
* Drop ReportStyleEnum and _report.style field
* Drop style parameter from report save commands
* Drop REVTeX style files from vendored bundle
* Rename TeX template to canonical report name
* Drop kaleido runtime dependency
* Add DisplayHandler value object
* Wire display metadata into descriptors
* Add units vocabulary validation
* Migrate descriptor units to display handlers
* Read report labels through display handlers
* Vendor MathJax bundle for offline reports
* Inline MathJax for offline HTML reports
* Add x_descriptor and fit_data_arrays on ExperimentBase
* Replace fit_data payload with descriptor-driven shape
* Emit pgfplots CSV and replace includegraphics with pgfplots blocks
* Build Plotly fit figures from fit_data context
* Replace stale figures references with data
* Update report tutorials for single-style output
* Reach Phase 1 review gate
* Fix TeX report axis label template syntax
* Keep fit running when PDF reporting fails
* Escape plain labels in TeX reports
* Update report templates with composite fit plots
* Fix TeX report ytick brace escaping
* Promote project-summary-rendering ADR to accepted
* Add project-summary-rendering implementation plan
* Emit standalone pgfplots figures included as PDF
* Serialize report Plotly figures via shared notebook path
* Match pgfplots figure geometry to Plotly layout
* Reach Phase 1 review gate
* Scale pgfplots axes to Plotly panel ratios
* Align report plot styling with Plotly output
* Keep all points in pgfplots figures
* Align numeric report table columns
* Restore pgfplots report line widths
* Render category-driven reports with aligned tables
* Harmonize report styling
* Tighten section number spacing
* Replace report format list with boolean flags
* Fix console report lattice rows
* Remove orphaned report module tests
* Return intended PDF report path
* Load IUCr dictionaries lazily
* Warn on skipped IUCr dictionary loads
* Use powder phase id tag in IUCr refln loop
* Remove dead PDF compiler helpers
* Apply pixi run fix auto-fixes
* Apply ruff format auto-fixes
* Fix Phase 2 lint failures
* Restore lazy report import
* Align Phase 2 tests with report configuration
* Handle nonnumeric descriptors without units
* Apply Phase 2 formatting fixes
* Add Phase 2 structure coverage tests
* Apply docstring formatting cleanup
* Apply final Phase 2 formatting
* Update report integration save test
* Exclude vendored files from project checks
* Remove standalone report CLI commands
* Document PDF compiler exception handling
* Clarify report display mixin responsibility
* Explain TeX subprocess lint suppressions
* Complete PDF compiler helper docstring
* Use active ADP labels in reports
* Record software package name without minimizer method
* Remove console report display from Report category
* Show report timestamp in human-readable format
* Add display labels to analysis result descriptors
* Add project metadata to tutorial
* Render analysis section from categories
* Use lowercase software analysis subsection title
* Center and brace string columns in TeX tables
* Use longtable macro and drop CIF validation
* Update ADRs to reflect removed gemmi validation
* Remove commented-out show_report line
* Clean up docs after validation removal
* Add open issue for CIF report dictionary-validation test
* Split single-crystal refln into CWL and TOF variants
* Left-align loop tables and center item strings in TeX report
* Style PDF report links to match HTML
* Remove TeX intermediate after PDF-only report build
* Enable HTML report output by default
* Add single-crystal agreement chart to HTML report
* Add single-crystal agreement scatter to PDF report
* Apply pixi run fix auto-fixes
* Update refln tests for CWL/TOF split
* Update report renderer tests for analysis section and longtable
* Update save tests for default HTML report output
* Update data_context tests for analysis split and centered columns
* Assert absent refln wavelength via class, not guarded instance
* Disable HTML default in CIF report integration test
* Drop removed show_report call from tutorials
* Document default HTML report and TeX-bundle cleanup
* Regenerate tutorial notebooks without show_report
* Regenerate ed-3 notebook without show_report
* Fix mangled mkdocstrings directive on report API page1 parent f178c9e commit dcc0aa6
164 files changed
Lines changed: 15052 additions & 1497 deletions
File tree
- docs
- dev
- adrs
- accepted
- suggestions
- issues
- package-structure
- plans
- docs
- api-reference
- cli
- quick-reference
- tutorials
- user-guide/analysis-workflow
- src/easydiffraction
- analysis
- calculators
- categories
- fit_result
- fitting_mode
- minimizer
- software
- core
- datablocks
- experiment
- categories
- background
- calculator
- data
- diffrn
- experiment_type
- extinction
- instrument
- linked_crystal
- linked_phases
- peak
- refln
- item
- structure/categories
- atom_site_aniso
- atom_sites
- cell
- space_group
- display
- plotters
- io/cif
- project
- categories
- info
- publication
- report
- report
- templates
- html
- vendor
- tex
- utils
- tests
- integration/fitting
- unit/easydiffraction
- analysis
- categories/software
- core
- datablocks/experiment/categories/refln
- display
- plotters
- io/cif
- project
- categories
- publication
- report
- report
- utils
- tools
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
7 | 12 | | |
8 | 13 | | |
9 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
28 | 33 | | |
29 | 34 | | |
30 | 35 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| |||
104 | 105 | | |
105 | 106 | | |
106 | 107 | | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
107 | 136 | | |
108 | 137 | | |
109 | 138 | | |
| |||
230 | 259 | | |
231 | 260 | | |
232 | 261 | | |
233 | | - | |
234 | | - | |
235 | | - | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
236 | 266 | | |
237 | 267 | | |
238 | 268 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
53 | | - | |
54 | | - | |
55 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
56 | 66 | | |
57 | 67 | | |
58 | 68 | | |
| |||
79 | 89 | | |
80 | 90 | | |
81 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
82 | 97 | | |
83 | 98 | | |
84 | 99 | | |
| |||
0 commit comments