PR to winter24 - #45
Open
sogalabhi wants to merge 521 commits into
Open
Conversation
…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.
…oved logging context
- 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.
Updated the UI of ouputdock
- 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.
…rs, fix metrics-collector volumes
- 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.
…-effect timeouts with cleanup functions
…update celery command in docker-compose and requirements for uvicorn
…hile adding utility scripts for import tracking.
…ion, and refine optimization configuration
…oring, and automated deployment script
…e plate connection
- 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
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.
Things done