Conversation
added 10 commits
November 10, 2025 12:50
Implement a composable notation system for radiopharmaceuticals using the physica package. Follows SOLID principles with clear separation of concerns. Core components: - isotope() function for nuclear notation (F-18, Ga-68, Sc-44, etc.) - ligand() function for ligands with optional IDs - tracer() function composing isotope + ligand Design principles: - Single Responsibility: Each function has one clear purpose - DRY: Removed element-specific tracer functions (F18tracer, etc.) - Open/Closed: Extensible without modifying core functions - Composition: Build complex tracers from simple building blocks Pre-defined common tracers: FDG, PSMA variants, FAPI variants, DOTATATE, DOTATOC, and more. Integration: Import via technical-documentation-package for automatic availability in all documents.
Add comprehensive documentation for the isotope and tracer notation system with examples, design principles, and usage guidelines. Covers: - Individual isotopes and custom nuclides - Ligand creation with optional IDs - Tracer composition by combining isotopes and ligands - Pre-defined common tracers and ligand constants - Custom tracer examples - SOLID design principles explanation Includes practical examples for medical imaging tracers (FDG, PSMA, FAPI variants, DOTATATE, etc.) and demonstrates the composable architecture.
Translate German 'Systemkomponentenübersicht' section to English and update all isotope and tracer notations throughout the document to use the new composable notation system. Changes: - Translate system components table from German to English - Replace all manual isotope notations (⁶⁸Ga, ¹⁸F, ⁴⁴Sc) with notation functions - Update tracer references to use pre-defined constants (FDG, PSMA, FAPI) - Replace β⁺ with betaplus function for consistency - Use Sc44FAPI04 instead of manual [44Sc]-FAPI-04 notation Document is now fully in English with consistent, maintainable scientific notation.
Implement clean HTML export for isotope notation using Typst's html.frame with automatic font matching for optimal rendering in both formats. Implementation: - Add show rule in technical-documentation-package.typ - Use physica package for all isotope notation (PDF + HTML) - Wrap math equations in html.frame for HTML export - Box inline equations to keep them inline within paragraphs - Font-aware rendering: * PDF: Proper math font for beautiful typography * HTML: System fonts (system-ui, Arial) matching Bootstrap 5.3.2 Simplified notations.typ: - Removed conditional Unicode rendering code (~80 lines) - Direct use of physica isotope() function - No parallel rendering paths (DRY compliant) Build script updates: - Pass --input html-export=true flag for format detection - Show rule automatically applies html.frame in HTML mode Benefits: - Single source of truth: physica package everywhere - Clean, maintainable implementation - Automatic font matching with Bootstrap body text - Inline isotopes integrated seamlessly in text flow - Professional typography in PDF, proper rendering in HTML
Replace reusable workflow with explicit steps that include Typst installation using typst-community/setup-typst@v3. This ensures the typst command is available when running make test. Changes: - Add Typst installation step with latest version - Add Python setup and dependency installation - Configure explicit test execution with make test Fixes #14
Make font selection consistent across the entire compilation pipeline: PDF compilation: - Body text: Libertinus Serif (elegant serif typography) - Math/isotopes: Proper math font (optimal mathematical rendering) HTML compilation: - Body text: Bootstrap system font stack (system-ui, Arial, sans-serif) - Math/isotopes: Same system font stack (matches Bootstrap) Implementation: - Conditionally set body font based on html-export flag - Both body text and isotope SVGs use same font in each format - Eliminates font mismatch between Typst content and Bootstrap styles Benefits: - Consistent typography within each output format - HTML integrates seamlessly with Bootstrap default fonts - PDF maintains professional serif typography - No font conflicts between body text and inline notation
Replace html.frame SVG rendering with native Unicode superscripts and subscripts for cleaner HTML export of isotope and beta particle notation. Changes: - Isotopes now render as ⁴⁴Sc, ⁶⁸Ga, ¹⁸F in HTML (not SVG fragments) - Beta particles render as β⁺ and β⁻ in HTML - PDF export unchanged (still uses physica package) - Added to-superscript/to-subscript Unicode mapping functions - Updated all isotope definitions to use new nuclide() function Benefits: - Better accessibility (screen readers can read Unicode text) - Smaller HTML file sizes (no SVG for every isotope) - Better text selection and copy/paste in browsers - Cleaner, more semantic HTML output
Apply the same build process for example project as for the main technical-documentation project. The example now uses the standard colors -> diagrams -> pdf -> html build pipeline. Changes: - Changed EXAMPLE_OUT to output technical-documentation.pdf/html in example/build/ folder (same filenames, dedicated folder) - Removed custom python-api, python-tests, python-diagrams steps from example target to use standard build-project workflow - Updated check-outputs paths to reflect new output structure - Simplified clean-outputs to use build/ instead of technical-documentation/build/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Release version 0.3.0 with major enhancements to development server, documentation generation, and HTML export capabilities.
Changes
Development Infrastructure
Python Documentation
Typst Enhancements
Bootstrap Integration
Build System
build/directoriesHTML Export Improvements
Documentation
Testing
Breaking Changes
None. This is a feature release that maintains backward compatibility.
See CHANGELOG.md for complete details.