Skip to content

Final PR to main branch - #44

Open
sogalabhi wants to merge 1485 commits into
osdag-admin:masterfrom
sogalabhi:25april
Open

Final PR to main branch#44
sogalabhi wants to merge 1485 commits into
osdag-admin:masterfrom
sogalabhi:25april

Conversation

@sogalabhi

Copy link
Copy Markdown

things done

  1. Everything

sogalabhi and others added 30 commits February 2, 2026 20:58
…ling

- Removed redundant code related to LaTeX executable configuration
- Simplified the logic for locating the LaTeX environment
- Added import of the `sys` module for improved functionality in path handling.
- Added a new module for CAD image generation using headless rendering with Qt and OpenCASCADE.
- Integrated image generation into the design report workflow, ensuring 3D, front, top, and side views are created with accurate colors.
- Updated the requirements to include necessary dependencies for rendering.
- Introduced unit and integration tests for the new image generation functionality.
- Enhanced documentation to outline the image generation process and setup requirements.
- Introduced a `SimpleConnectionValidator` class for reusable input validation across simple connection modules.
- Added factory functions for creating specific validators for bolted and welded connections.
- Enhanced error handling with custom exceptions for missing keys, invalid input types, and range violations.
- Updated existing adapters to utilize the new shared validation system, reducing code duplication.
- Documented the validation system and its usage in the project documentation.
…dling

- Updated `SimpleConnectionViewSet` to return a "coming soon" message for modules without CAD support instead of an error.
- Improved error handling in CAD generation for modules, ensuring a consistent response structure.
- Integrated custom logger for better logging of errors and warnings in `butt_joint_bolted`, `butt_joint_welded`, `lap_joint_bolted`, and `lap_joint_welded` adapters.
- Added sample input documentation for simple connection modules to assist users in providing valid inputs.
- Refactored validation logic in input handling to ensure robustness and clarity.
…lted connections

- Implemented `create_cad_model` function in the `adapter.py` for both Butt Joint Bolted and Lap Joint Bolted modules to generate CAD models based on input parameters.
- Enhanced the `Service` class to include a static method `get_cad_model` for easy access to CAD model generation.
- Updated the output configuration to include relevant parameters for CAD models, ensuring proper integration with the existing system.
- Improved logging throughout the CAD generation process for better traceability and debugging.
- Refactored input handling to ensure compatibility with the new CAD generation features.
- Enhanced `create_cad_model` functions in the adapters for Butt Joint and Lap Joint connections to support new section mappings: Plate 1, Plate 2, Cover Plate, and Welds.
- Improved validation for section inputs to ensure compatibility with updated CAD options.
- Refactored model generation logic to handle individual plate and weld components more effectively.
- Updated file naming conventions to replace spaces with underscores for better compatibility.
- Enhanced logging for CAD generation processes to improve traceability and debugging.
- fixed coordinates of cad view
…e connections

- Added logic to handle "Weld" entries in hover dictionaries, ensuring "Welds" is populated when necessary.
- Updated output configuration labels for Plate Base Capacity and Utilization to reflect connected plate terminology.
- Integrated `create_cad_model` method into the Service classes for both Butt Joint and Lap Joint Welded connections, facilitating CAD model generation.
- Improved documentation for the new `get_cad_model` method, detailing input parameters and return values.
- Refactored `BASE_PLATE_CAD_SECTIONS` to include only relevant sections: Model, Column, and Plate.
- Enhanced `create_cad_model` function to support new CAD generation logic, including error handling and file writing for BREP and STL formats.
- Updated `basePlateConfig.js` to reflect changes in CAD options, removing unnecessary entries.
- Improved documentation for CAD model generation, clarifying input parameters and expected outputs.
Add Struts Bolted to End Gusset module
…nput flows

- Routing & project IDs: Normalize all design routes to use path-based :projectId and update EngineeringModule to resolve project IDs from the URL and normalize query-based links.

- Navigation guard: Fix history handling to avoid “operation is insecure” errors and preserve project IDs in the URL when blocking back navigation for unsaved work.

- Component re-org: Move shared engineering UI (logs, screenshot capture, design preferences, section modals) into modules/shared/components, relocate auth/homepage UI, and delete the legacy src/components folder.

- Firebase auth as single source: Unify auth checks through useAuth and utils/auth, remove duplicate onAuthStateChanged listeners, and rely only on Firebase + guest mode (userType) for authentication.

- Legacy user/input system removal: Remove UserProvider, UserContext, and UserAccount, along with legacy input-file flows (inputFilesLink, allInputValueFilesLength, api/user/saveinput/, api/user/obtain-input-file/), relying solely on projects + inputs_json.

- Design-report & JWT cleanup: Delete the deprecated createDesignReport API, clean up JWT-related comments, and ensure design reports only use the new multi-step flow via useDesignReport and DesignReportModal.

- Custom material gating: Replace localStorage("isLoggedIn") checks with isGuestUser() so only non-guest users can save custom materials to the database, while guests can still use local cache.
- Introduced the Axially Loaded Column submodule within the Compression Member section, including new views, adapters, and configuration files.
- Updated routing and API constants to support the new module.
- Enhanced the CAD generation logic and input validation for the Axially Loaded Column design.
- Added necessary frontend components and configurations to facilitate user interaction and data submission for the new design type.
- Added a check to clear logs for instances of CustomLogger in various connection and member classes to ensure a clean logging state.
- Removed redundant log reversal logic from the generate_output function in the fin_plate adapter, simplifying the output generation process.
- Removed the GridSelector import and related functionality from EngineeringModule.
- Replaced AxisHelperWidget with ViewCubeWidget in CadScene for enhanced navigation.
- Added ViewCubeWidget and its utility functions for improved 3D view control.
- Updated cad index file to export the new ViewCubeWidget.
- Introduced viewCubeUtils for managing ViewCube geometry and interactions.
sogalabhi and others added 30 commits June 29, 2026 11:13
- Backend submodule (adapter, service, tasks, imports) + core design logic

- Frontend module (config, components, PSO dashboard, graph)

- WebSocket consumers for PSO (Celery-based) + Sabeena's graph batching in tasks.py
- Backend: PSO WebSocket route, Celery task autodiscovery, options endpoint, CAD sections, report map

- Frontend: MODULE_KEY_PLATE_GIRDER, route, menu entry, API slug, App router
- Fix length units to mm end-to-end (frontend config + adapter) to match desktop

- Render Customized/Optimized inputs correctly (Set Bounds / All) via conditionalType + optimized_number

- Fix live PSO streaming: remove double WebSocket connect race; send start on open

- Make PSO headless-safe: guard Qt matplotlib backend + PySide6 imports; drop unused import

- Show desktop-style PSO popup (3D scatter + I-beam) via OptimizationGraph, auto-dismiss status modal

- Implement plate girder CAD generation (was a stub): Model, Web, Top Flange, Bottom Flange, Stiffeners

- Wire CAD parts through /cad sections, manifest colors/view mappings, and optimized result (base64 STL)

- Fix CadViewer SceneManager to render Model when parts are not standard connection parts

- Add plate-girder-module-integration spec (design/requirements/tasks)
- Verified output sections/fields/keys match desktop (Section, Moment, Shear, Stiffener, Deflection, Weld)

- Fix labels: Longitudnal -> Longitudinal (Stiffener Thickness, Number of Stiffeners)
- Remove debug console.log calls and dead commented params block in plateGirderConfig

- Revert PSO consumer diagnostic log from INFO back to DEBUG

- Remove temp CAD artifacts; minor CAD builder tidy-up
…ad code

- Move PSOOptimizationConsumer into existing apps/core/consumers.py (next to TaskStatusConsumer)

- Remove parallel apps/core/websocket/ package; register PSO route in existing apps/core/routing.py

- Remove dev-status/phase narration comments and debug prints across plate girder backend files

- Delete unused PSODashboard and its ParallelCoordinatesPlot/PerformanceMap/CrossSectionPreview components (superseded by OptimizationGraph)

- Reuses existing Celery app for the PSO task (no parallel infrastructure)
…ams by adjusting paddings, widths, and marker scaling.
…update celery command in docker-compose and requirements for uvicorn
…hile adding utility scripts for import tracking.
- Add missing Lateral Torsional Buckling Details section (Torsional/Warping Constant, Imperfection, Stress Reduction, ND Eff. Senderness, Compressive Stress, Critical Moment)

- Field keys and labels sourced from desktop flexure.py output_values to match exactly
- Map end conditions Member.End_1/End_2 to core keys End_1/End_2 (was defaulting to Fixed-Fixed, K=0.65)

- Corrects effective length, slenderness, compressive stress, design strength, and optimum section selection
- angle_weld_length now returns (l_heel, l_toe), splitting force between heel and toe sides

- weld_plate_length sums web_weld + heel + toe (was web_weld + 2*heel), matching desktop

- corrects weld effective length and stress (e.g. Eff.Length 529, Stress 45.01)

- applied same update to tension_welded (shares angle_weld_length)
- output dock fy/gamma_m0 now uses the result section value (result_fcd_2) instead of the last-iterated section leftover (f_cd_2)

- align fcd label with desktop (f_cd)
- rename intermittent sections to match desktop (Weld Details, Plate Details)

- add Connection Details subsection under Intermittent Connection

- comment out the Plate Capacity button in the UI (modal defs kept)
…ns across engineering modules while removing legacy build scripts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants