Revamp Rogue documentation structure, narrative guides, and built-in module coverage#1131
Merged
Conversation
…avigation. Updated index files to reflect new paths, added conceptual overviews for memory and stream interfaces, and introduced new sections for tutorials and advanced patterns. Enhanced existing documentation with links to related content and clarified transaction lifecycle details. Added new pages for cookbook recipes and built-in modules.
…y. Changed "Class Documentation" to "API Reference" across multiple files, enhancing the terminology used in the documentation. Added conceptual guidance links for memory interfaces and updated various sections for better navigation.
… for model types and updating references across related files. Improved navigation with links to API reference pages and conceptual guidance, ensuring clarity for users interacting with memory models in PyRogue.
…ing conceptual guidance sections with links to relevant resources. This update improves clarity and navigation for users, covering topics such as memory models, stream architecture, command behavior, and variable usage.
…oducing a new 'Built-in Modules' index. Updated references in existing documentation to enhance navigation and clarity, ensuring users can easily access relevant resources.
…ration phase. Updated the migration matrix with new content paths, added narrative preservation rules, and established canonical pages for client and memory interfaces. Expanded sections on protocols, quick start, and tutorials to provide clearer guidance and structure for users. Ensured legacy content remains accessible while improving overall documentation coherence.
Introduced a new page for built-in integrations, consolidating various integration-oriented features. Updated the main index to include a reference to this new section. Adjusted existing documentation for simulation, SQL logging, and version helper interfaces to indicate their migration to the new integrations page, ensuring clarity during the documentation revamp process.
Introduced a new overview page for built-in modules, consolidating information on utilities, hardware, and protocols. Updated the main index to include a reference to this new overview section. Adjusted migration matrix to reflect the movement of existing narratives to the new overview page, ensuring clarity during the documentation revamp process.
Added new sections for logging and PyDM, and updated the main index to include these entries. Enhanced the migration matrix with additional narrative paths for installing, logging, and PyDM documentation. Retained legacy content with clear indications of their migration to canonical operational pages, ensuring users have access to relevant resources during the documentation revamp process.
…ious protocols including UDP, Packetizer, and EPICSV4. Each protocol page now includes a status section indicating legacy content retention and plans for future narrative expansions. This update ensures users are informed about ongoing documentation changes during the migration process.
… protocol page now includes a note indicating retention during migration and provides links to conceptual guidance. This ensures users are informed about the ongoing documentation changes and can easily access relevant resources.
…terfaces. Added links to relevant resources for memory, stream, and protocol usage, enhancing clarity and navigation for users during the migration process.
…g. Added numerous new paths and narrative sections for various interfaces, including built-in modules and protocols, ensuring users have clear guidance during the documentation revamp process. Enhanced clarity by indicating legacy content retention and migration actions for improved navigation.
…nt retention and plans for future expansions. This update enhances clarity for users navigating the ongoing documentation revamp process.
…e status. The new M2 Closeout section summarizes completed objectives and outlines deferred tasks for M3, while the policies document now includes a record of the M2 freeze, emphasizing legacy content retention and navigation structure. This enhances clarity for users during the ongoing documentation revamp process.
Introduced 'Common Quick Checks' and 'First Success Path' to the Quick Start guide, providing users with essential setup validation and a streamlined path to getting started with PyRogue. Added 'Device Workflow Tutorial' and 'System Integration Tutorial' to the Tutorials section, offering comprehensive guidance on building custom devices and integrating systems. Updated the respective index files to include these new sections, enhancing navigation and user experience during the documentation revamp process.
…ge scenarios for UDP, EPICSV4, and Packetizer protocols. Added configuration checklists and related documentation links to improve user guidance during the ongoing documentation revamp process. Updated migration matrix to reflect these additions and narrative expansions.
…atterns and PyRogue device management. Added detailed procedures for stabilizing bursty producers and creating computed status values, along with design principles and common failure modes for PyRogue usage. Updated index files to improve navigation and user experience during the documentation revamp process.
…4, and SRP protocols. Added detailed usage notes, version compatibility guidelines, and integration patterns to improve user understanding. Updated migration matrix to reflect these additions and narrative expansions, ensuring clarity during the ongoing documentation revamp process.
… and lifecycle management. Added practical notes on command context and clarified the Managed Interface Lifecycle, improving user understanding of interface interactions. Updated related integration references for better navigation.
…ecycle management for RSSI, SRP, and XVC protocols. Added details on thread behavior, state management, and locking mechanisms to improve user understanding of protocol operations. Updated integration references for better navigation and clarity during the documentation revamp process.
…reference structure. Introduced a clear information architecture, defined content placement rules, and outlined implementation milestones to enhance accessibility and coherence for new and experienced users. This plan aims to streamline the documentation journey while maintaining reference quality and stability during the migration process.
…ject. This new file outlines the canonical plan, milestone status, key decisions, protocol-specific decisions, and a suggested execution order for remaining tasks. It serves as a guide for future contributors to ensure continuity and clarity in the documentation process.
…tion models, threading, and lifecycle management. Added code-backed examples for practical usage and clarified integration notes to improve user understanding and navigation during the documentation revamp process.
…e clarity. Updated sections for Client, Server, and Core classes with detailed descriptions, usage patterns, and code-backed examples. Improved navigation by linking related documentation and providing practical checklists for deployment scenarios, ensuring better user guidance during the documentation revamp process.
…lity. Updated core and coreV2 sections with detailed behavior summaries, usage patterns, and code-backed examples. Improved navigation by linking related documentation and clarifying when to use each core version, ensuring better guidance for users during the documentation revamp process.
…d lifecycle management. Added details on the internal controller's role in managing protocol-state execution and link management for both Client and Server. Improved clarity on the Managed Interface Lifecycle and concurrency-sensitive operations to aid user understanding during the documentation revamp process.
… enhance clarity. Updated sections for Application, Controller, ControllerV1, ControllerV2, Core, CoreV2, and Transport with concise descriptions of their roles and reference guidance. Improved navigation by linking to conceptual context and version-selection notes, ensuring better user understanding during the documentation revamp process.
…placeholder C++ API wrappers to reference-oriented pages and expanding protocol sections with code-backed content. Update migration matrix to reflect cleanup progress and regroup Python API documentation by core roles. Improve narrative-to-reference cross-linking and outline next steps for M4 preparation.
Update MethodDoc and HeaderDoc classes to enhance documentation parsing by introducing brief, details, params, and returns fields. Modify the parse_doxygen_comment function to return a ParsedComment object, improving the handling of Doxygen comments. Adjust related functions to accommodate these changes, ensuring better organization and clarity in API documentation.
Enhance the normalization functions for Doxygen comments by improving the handling of paragraph and bullet point formatting. The normalize_doc_block function now better processes text blocks, ensuring cleaner output for brief and detailed sections in API documentation. Additionally, adjustments in rendering methods ensure consistent formatting for bullet points, improving overall clarity in generated documentation.
…n_core.py Add support for constructor argument documentation in the ClassDoc structure, improving the clarity of API references. Update the render_class_section function to conditionally include constructor arguments in class signatures. Additionally, refactor method rendering to support indentation, enhancing the overall formatting of method entries in the documentation. Update RST files to utilize the new rogue_boostpython_api directive for various classes, ensuring consistent documentation across the API.
…ion and rendering Add new fields for constructor parameters and C++ target/role in ClassDoc, enhancing the clarity of API documentation. Update the parse_binding function to handle constructor documentation more effectively, including support for method entries and improved indentation in rendered output. Refactor related rendering functions to ensure consistent formatting across the documentation. Additionally, standardize the implementation section headers in various RST files for better organization.
Refactor various RST files to enhance the organization of Python API documentation. This includes updating paths to follow the full namespace structure, increasing the maxdepth of toctrees for better navigation, and adding new sections for EPICS V4 protocol wrappers and file I/O utilities. Additionally, standardize references to various classes and improve the overall consistency of documentation across multiple files.
…spaces to expand fully. Set 'navigation_depth' to -1 for improved accessibility of nested content.
… of M4 harmonization and release-freeze state. Add post-merge follow-up list for deferred tasks, enhance clarity in various sections, and finalize milestone artifacts for merge readiness.
Refactor multiple RST files to improve the organization of API documentation. This includes adding "Related Topics" sections to various files, ensuring consistent references across Python and C++ documentation. Additionally, update conceptual usage guidance for better user navigation and understanding of related content.
…rovements Introduce a new `WINDOW_HANDOFF_DOCS.md` file detailing the purpose, user instructions, and branch state for the documentation handoff process. Enhance sidebar navigation by implementing a custom JavaScript file to manage API sidebar behavior, ensuring deep expansion for API sections while maintaining a shallower navigation for non-API pages. Update `conf.py` to include the new JavaScript file and adjust multiple RST files to standardize "Related Topics" sections and improve the overall structure of API documentation.
Update multiple RST files across Python and C++ API documentation to enhance consistency and clarity. This includes restructuring "Related Topics" sections for improved navigation and ensuring uniformity in the presentation of related content. Adjustments were made to the toctree captions and overall organization to facilitate better user experience and accessibility of information.
Update the parse_binding function in rogue_boostpython_core.py to improve the handling of constructor documentation. The logic now prioritizes class-specific method documentation over the generic "create" method, enhancing clarity and consistency in API documentation. This change ensures that constructor parameters and descriptions are accurately captured and rendered.
…ignatures and enabling source browsing in Doxygen. Update Doxyfile to include source files and modify Sphinx configuration to integrate new source link functionality. Additionally, apply CSS styles for improved presentation of source links in the documentation.
…lings. Update Doxyfile to apply the filter for .cpp files and add a new Python script for alias expansion, enhancing documentation accuracy.
…cumentation. Increment last updated date, add local source-code links for C++ API docs, enable Doxygen source browsing, and implement a custom input filter for alias normalization. Fix a typo in Doxygen parameter names and document expected C++ source link behavior.
…rt for source links to C++ bindings. Implement functions to normalize repository paths and load Doxygen file mappings, enabling accurate linking to source files in the generated documentation. Update the rendering logic to include binding source URIs where applicable.
…mplement a mechanism to preview wrapper source files in generated API pages, including a new `Binding source` line. Fix compatibility issue with Sphinx 8 directive handling. Update documentation to reflect these changes and clarify the provisional nature of the new feature.
…the documentation revamp. This includes the deletion of `DOCS_REVAMP_HANDOFF.md`, `PLAN.md`, `WINDOW_HANDOFF_DOCS.md`, and various related files in the `documentation_plan` directory, which have been superseded by finalized artifacts and are no longer needed. The branch is now in a release-freeze state, ready for merge into `pre-release`.
ruck314
approved these changes
Mar 12, 2026
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## pre-release #1131 +/- ##
===============================================
+ Coverage 29.54% 29.59% +0.04%
===============================================
Files 65 68 +3
Lines 6644 6944 +300
Branches 1015 969 -46
===============================================
+ Hits 1963 2055 +92
- Misses 4527 4736 +209
+ Partials 154 153 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
Summary
This branch is a large documentation rework that reorganizes Rogue around clearer top-level concepts, replaces the older interface-driven structure with better narrative sections, expands practical user guidance across PyRogue, stream, memory, built-in modules, and protocols, and significantly improves the generated API reference experience.
It also moves a large amount of content into new locations, rewrites many thin or outdated pages into real narrative documentation, refreshes navigation so the docs behave more like a coherent manual instead of a collection of disconnected reference stubs, and adds new docs tooling for generated API pages and local source-code browsing.
What changed
Documentation architecture
Top-level documentation structure
The docs now center on user-facing concepts instead of the old
interfaces/-centric layout:IntroductionInstalling & Compiling RoguePyRogue TreeStream InterfaceMemory InterfaceBuilt-in ModulesLogging In RogueUsing the PyDM GuiTutorialsCookbookMigration NotesAPI ReferenceEarlier quick-start material was folded into the installation/tutorial flow instead of remaining a standalone primary section.
Core narrative sections
pyrogue_treeinto clearer core concepts such as root, device, variable, command, block, model, poll queue, and YAML configurationstream_interfaceinto a coherent narrative section covering connecting, sending, receiving, frame model, TCP bridge, and built-in helpers like FIFO, Filter, and RateDropmemory_interfaceinto clearer conceptual docs for connecting, master/slave behavior, hub usage, transactions, and TCP bridgingBuilt-in modules and protocol coverage
hardware,protocols, andutilitiesunderbuilt_in_modulesPgp2bSimandMemEmulateAPI reference improvements
Related TopicsGenerated API tooling and source links
This branch now includes substantial docs tooling work in addition to content rewrites:
.cppindexing so C++ API entries can link to declarations and implementations.cppalias spellings during docs generationBinding sourcelink for Boost.Python-generated API pages so wrapper.cppsources can be previewed in built docsIn practice this means:
[header]and, where available,[impl]Binding sourcelinkNavigation behavior
Related Topicsremains visible in page content without polluting API sidebar navigationTutorials, cookbook, and logging
Content migration
This branch performs the bulk of the documentation migration away from older locations such as:
docs/src/interfaces/*protocols/*,hardware/*, andutilities/*layoutsLegacy material was moved, merged, rewritten, or deleted depending on whether it still served a useful purpose.
Suggested review focus
Because of the size, the most effective review path is:
pyrogue_tree,stream_interface, andmemory_interfacebuilt_in_modules