diff --git a/.github/codespellignore b/.codespellignore similarity index 100% rename from .github/codespellignore rename to .codespellignore diff --git a/.gitea/ISSUE_TEMPLATE/bug_report.yml b/.gitea/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000000..e6e35199bb --- /dev/null +++ b/.gitea/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,82 @@ +name: Bug Report +about: Report a bug or unexpected behavior in Kindred Create +labels: + - bug +body: + - type: textarea + id: description + attributes: + label: Description + description: A clear description of the bug. + placeholder: What happened? What did you expect instead? + validations: + required: true + + - type: textarea + id: steps + attributes: + label: Steps to Reproduce + description: Minimal steps to reproduce the behavior. + placeholder: | + 1. Open a new file + 2. Switch to the PartDesign workbench + 3. ... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What should have happened? + validations: + required: true + + - type: textarea + id: actual + attributes: + label: Actual Behavior + description: What actually happened? Include error messages, console output, or screenshots. + validations: + required: true + + - type: dropdown + id: component + attributes: + label: Component + description: Which part of Kindred Create is affected? + options: + - General / Core + - ztools Workbench + - Silo (Parts Database) + - Theme / QSS + - Assembly + - PartDesign + - CI/CD + - Documentation + - Other + validations: + required: true + + - type: textarea + id: environment + attributes: + label: Environment + description: | + OS, Kindred Create version, and any relevant details. + Find the version under Help > About Kindred Create. + placeholder: | + - OS: Ubuntu 24.04 + - Kindred Create: v0.2.0 (AppImage) + - GPU: NVIDIA RTX 3060 + validations: + required: false + + - type: textarea + id: logs + attributes: + label: Log Output + description: Paste any relevant log output (View > Panels > Report View). + render: shell + validations: + required: false diff --git a/.gitea/ISSUE_TEMPLATE/documentation.yml b/.gitea/ISSUE_TEMPLATE/documentation.yml new file mode 100644 index 0000000000..4264ce97db --- /dev/null +++ b/.gitea/ISSUE_TEMPLATE/documentation.yml @@ -0,0 +1,42 @@ +name: Documentation +about: Report missing, incorrect, or unclear documentation +labels: + - documentation +body: + - type: textarea + id: description + attributes: + label: Description + description: What needs to be documented, updated, or corrected? + validations: + required: true + + - type: dropdown + id: type + attributes: + label: Type + description: What kind of documentation change is needed? + options: + - Missing documentation + - Incorrect / outdated content + - Unclear or confusing + - New guide or tutorial + validations: + required: true + + - type: textarea + id: location + attributes: + label: Location + description: Where should this documentation live? Link to existing pages if applicable. + placeholder: e.g. docs/src/guide/ztools.md, or "new page under Reference" + validations: + required: false + + - type: textarea + id: context + attributes: + label: Additional Context + description: Any other details, screenshots, or references that would help. + validations: + required: false diff --git a/.gitea/ISSUE_TEMPLATE/feature_request.yml b/.gitea/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000000..fec67320ce --- /dev/null +++ b/.gitea/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,55 @@ +name: Feature Request +about: Suggest a new feature or enhancement for Kindred Create +labels: + - enhancement +body: + - type: textarea + id: description + attributes: + label: Description + description: A clear description of the feature you'd like. + validations: + required: true + + - type: textarea + id: use-case + attributes: + label: Use Case + description: Why is this feature needed? What problem does it solve? + placeholder: As a user, I want to... so that... + validations: + required: true + + - type: dropdown + id: component + attributes: + label: Component + description: Which part of Kindred Create does this relate to? + options: + - General / Core + - ztools Workbench + - Silo (Parts Database) + - Theme / QSS + - Assembly + - PartDesign + - CI/CD + - Documentation + - Other + validations: + required: true + + - type: textarea + id: proposal + attributes: + label: Proposed Implementation + description: If you have ideas on how this could be implemented, describe them here. + validations: + required: false + + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: Any alternative approaches or workarounds you've considered. + validations: + required: false diff --git a/.gitea/pull_request_template.md b/.gitea/pull_request_template.md new file mode 100644 index 0000000000..0a0e29c5fb --- /dev/null +++ b/.gitea/pull_request_template.md @@ -0,0 +1,18 @@ +## Summary + + + +## Changes + + + +## Related Issues + + + +## Checklist + +- [ ] Commit messages follow [conventional commits](https://www.conventionalcommits.org/) (`feat:`, `fix:`, `chore:`, `docs:`, `art:`) +- [ ] Code follows project style (clang-format for C++, black for Python) +- [ ] Changes are tested locally +- [ ] Documentation updated (if applicable) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index b90ca9ee86..0000000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,11 +0,0 @@ -# These are supported funding model platforms - -github: FreeCAD -open_collective: freecad -patreon: # Replace with a single Patreon username -ko_fi: # Replace with a single Ko-fi username -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -custom: ["https://wiki.freecad.org/Donate"] diff --git a/.github/ISSUE_TEMPLATE/1-FUNCTIONAL_PROBLEM_REPORT.yml b/.github/ISSUE_TEMPLATE/1-FUNCTIONAL_PROBLEM_REPORT.yml deleted file mode 100644 index 579dc53a47..0000000000 --- a/.github/ISSUE_TEMPLATE/1-FUNCTIONAL_PROBLEM_REPORT.yml +++ /dev/null @@ -1,92 +0,0 @@ -name: Report a Problem -description: Have you found something that does not work well, is too hard to do or is missing altogether? Please create a Problem Report. -labels: ["Status: Needs triage","Status: Needs confirmation"] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this problem report! Please [search](https://github.com/FreeCAD/FreeCAD/issues) if a similar issue already exists and check out [how to report issues](https://github.com/FreeCAD/FreeCAD?tab=readme-ov-file#reporting-issues). By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/main/CODE_OF_CONDUCT.md). - - - type: textarea - id: description - attributes: - label: Problem description - description: Describe the problem and how it impacts user experience, workflow, maintainability or performance. You can attach images or log files by clicking this area to highlight it and then dragging files in. To attach a FCStd file, ZIP it first. - placeholder: Describe your problem briefly. - validations: - required: true - - - type: dropdown - id: wb - attributes: - label: Workbench affected? - options: - - Assembly - - BIM - - CAM - - Core (App, Gui,...) - - Draft - - FEM - - Material - - Measurement - - Mesh - - Part - - Part Design - - Sketcher - - Spreadsheet - - TechDraw - - Other (specify in description) - - - type: textarea - id: steps_to_reproduce - attributes: - label: Steps to reproduce - description: If the problem appears to be a bug with the current functionality, provide a test case or recipe that reliably reproduces the issue. Ideally [record a macro](https://wiki.freecad.org/Std_DlgMacroRecord) and attach it. Please also add an example file as ZIP. - placeholder: | - Drag an example file as ZIP into this textbox to attach it. - - Steps to reproduce the behavior: - 1. Open my example file - 2. Go to '...' - 3. Click on '...' - validations: - required: true - - - type: textarea - id: expected_behavior - attributes: - label: Expected behavior - description: A clear and concise description of what you expected to happen when following the provided steps above. - placeholder: What is the expected behavior? - validations: - required: true - - - type: textarea - id: actual_behavior - attributes: - label: Actual behavior - description: A clear and concise description of what actually happens. If applicable, add screenshots to help explain the problem. - placeholder: What is actually happening? You can add screenshorts or videos by dragging them into this textbox. - validations: - required: true - - - type: textarea - id: dev_version - attributes: - label: Development version About Info (in Safe Mode) - description: Download the latest weekly [development release](https://github.com/FreeCAD/FreeCAD/releases) and try reproducing the issue in safe mode (Help → Restart in Safe Mode). Use the [About FreeCAD](https://wiki.freecad.org/About) dialog to copy your full version information and paste it here. - placeholder: | - 1. Download the latest weekly development version (link above). - 2. Make sure to run in Safe Mode (Help -> Restart in Safe Mode) to exclude interference from 3rd party addons. - 3. If the issue is still reproducible, open the About FreeCAD dialog and copy the full version info here. - render: shell - validations: - required: true - - - type: textarea - id: good_version - attributes: - label: Last known good version (optional) - description: If this is a regression, paste the [About FreeCAD](https://wiki.freecad.org/About) info from the last known working version. - placeholder: If the problem did not exist in a previous version, paste the About FreeCAD info from that version here. - render: shell diff --git a/.github/ISSUE_TEMPLATE/2-CODE_QUALITY_PROBLEM_REPORT.yml b/.github/ISSUE_TEMPLATE/2-CODE_QUALITY_PROBLEM_REPORT.yml deleted file mode 100644 index c794b0622a..0000000000 --- a/.github/ISSUE_TEMPLATE/2-CODE_QUALITY_PROBLEM_REPORT.yml +++ /dev/null @@ -1,103 +0,0 @@ -name: Report a Code Quality Issue -description: Report problems related to code structure, maintainability, performance, correctness, or technical debt that do not directly affect end-user behavior. -labels: ["Status: Needs triage", "Status: Needs confirmation", "Type: Code Quality"] -type: "Code Quality" -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to help improve FreeCAD's code quality! - - > [!NOTE] - > This form is intended **only for code quality issues**, such as: - > - Architectural or design problems - > - Maintainability or readability issues - > - Performance or scalability concerns - > - Incorrect abstractions, layering violations, or technical debt - > - > If the issue affects user-visible behavior, workflows, or UI, please use the regular **Report Problem** form instead. - - Please [search existing issues](https://github.com/FreeCAD/FreeCAD/issues) before submitting. - By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/main/CODE_OF_CONDUCT.md). - - - type: dropdown - id: wb - attributes: - label: Area / Workbench affected - description: Select the primary area affected by the code quality issue. - options: - - Assembly - - BIM - - CAM - - Core (App, Gui, Base, ...) - - Draft - - FEM - - Material - - Measurement - - Mesh - - Part - - Part Design - - Sketcher - - Spreadsheet - - TechDraw - - Build system / CI - - Documentation - - Other (specify below) - - - type: textarea - id: description - attributes: - label: Problem description - description: | - Describe the code quality issue clearly. - Focus on *why* the current implementation is problematic (e.g. maintainability, performance, correctness, extensibility). - Reference files, classes, functions, or modules where applicable. - placeholder: | - Example: - - Class X violates dependency rules by including Y - - Function Z mixes responsibilities and is hard to reason about - - Algorithm has unnecessary complexity or poor performance characteristics - validations: - required: true - - - type: textarea - id: impact - attributes: - label: Impact - description: | - Explain the practical impact of this issue. - For example: increased maintenance cost, higher bug risk, performance degradation, difficulty extending functionality, or CI/build issues. - placeholder: Describe how this affects the codebase long-term. - validations: - required: true - - - type: textarea - id: proposed_solution - attributes: - label: Suggested improvement (optional) - description: | - If you have ideas on how to address the issue, outline them here. - This can include refactoring suggestions, alternative designs, or references to best practices. - placeholder: Optional — leave empty if unsure. - - - type: textarea - id: references - attributes: - label: References / evidence - description: | - Add relevant references such as: - - File paths or code snippets - - Related issues or pull requests - - Benchmarks, logs, or static analysis results - placeholder: Links, snippets, or related issues. - - - type: textarea - id: dev_version - attributes: - label: Development version (if relevant) - description: | - If the issue is version-specific or recently introduced, paste the output from the - **About FreeCAD** dialog of a development build. - Otherwise, this can be left empty. - placeholder: Paste About FreeCAD information here. - render: shell diff --git a/.github/ISSUE_TEMPLATE/3-BACKPORT_REQUEST.yml b/.github/ISSUE_TEMPLATE/3-BACKPORT_REQUEST.yml deleted file mode 100644 index fd3c4a1e5c..0000000000 --- a/.github/ISSUE_TEMPLATE/3-BACKPORT_REQUEST.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Request a Backport -description: Suggest that a commit from the main development branch be backported to the next point release -title: "[Backport] " -labels: ["needs triage", "backport"] -body: - - type: input - id: pull_request - attributes: - label: Original PR - description: A link to the PR that contains the commits to be backported - placeholder: https://github.com/FreeCAD/FreeCAD/pulls/1234 - validations: - required: true - - type: textarea - id: description - attributes: - label: Description and Justification - description: Why should this PR (or individual commit) be backported? - placeholder: Please explain why this PR or commit should be backported to the next point release. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index b0611fffb3..0000000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,5 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: 💬 START HERE -- FreeCAD Forum - url: https://forum.freecad.org/ - about: You are encouraged to discuss the problem you are seeing on the FreeCAD Forums before opening an issue on GitHub diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index e98caaf1f9..0000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: 2 -updates: - - package-ecosystem: github-actions - directory: / - schedule: - interval: daily - - - package-ecosystem: pip - directory: / - schedule: - interval: daily diff --git a/.github/images/assembly-dark.png b/.github/images/assembly-dark.png deleted file mode 100644 index 1a853c11bb..0000000000 Binary files a/.github/images/assembly-dark.png and /dev/null differ diff --git a/.github/images/assembly.png b/.github/images/assembly.png deleted file mode 100644 index 64c7ee360b..0000000000 Binary files a/.github/images/assembly.png and /dev/null differ diff --git a/.github/images/bim-dark.png b/.github/images/bim-dark.png deleted file mode 100644 index 88af75e1f1..0000000000 Binary files a/.github/images/bim-dark.png and /dev/null differ diff --git a/.github/images/bim.png b/.github/images/bim.png deleted file mode 100644 index 33c04bd1df..0000000000 Binary files a/.github/images/bim.png and /dev/null differ diff --git a/.github/images/fem.png b/.github/images/fem.png deleted file mode 100644 index 4fc4b21a70..0000000000 Binary files a/.github/images/fem.png and /dev/null differ diff --git a/.github/images/partdesign-dark.png b/.github/images/partdesign-dark.png deleted file mode 100644 index d6b5262351..0000000000 Binary files a/.github/images/partdesign-dark.png and /dev/null differ diff --git a/.github/images/partdesign.png b/.github/images/partdesign.png deleted file mode 100644 index 7002ab5be1..0000000000 Binary files a/.github/images/partdesign.png and /dev/null differ diff --git a/.github/labels.yml b/.github/labels.yml deleted file mode 100644 index b62f12fd66..0000000000 --- a/.github/labels.yml +++ /dev/null @@ -1,113 +0,0 @@ -# Add 'source' label to any change to src files within the source dir EXCEPT for the docs sub-folder -# source: -# - any: ['src/**/*', '!src/docs/*'] - -# 'Mod' related labels - -"Mod: Core": -- changed-files: - - any-glob-to-any-file: ['src/App/**/*', 'src/Base/**/*', 'src/Gui/**/*'] - -:octocat:: -- changed-files: - - any-glob-to-any-file: ['.github/**/*'] - -"Mod: Addon Manager": -- changed-files: - - any-glob-to-any-file: ['src/Mod/AddonManager/**/*'] - -"Mod: Materials": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Material/**/*'] - -"Mod: Measurement": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Measure/**/*'] - -"Mod: BIM": -- changed-files: - - any-glob-to-any-file: ['src/Mod/BIM/**/*'] - -"Mod: Assembly": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Assembly/**/*'] - -"Mod: Draft": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Draft/**/*'] - -"Mod: FEM": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Fem/**/*'] - -"Mod: Mesh": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Mesh/**/*'] - -"Mod: MeshPart": -- changed-files: - - any-glob-to-any-file: ['src/Mod/MeshPart/**/*'] - -"Mod: OpenSCAD": -- changed-files: - - any-glob-to-any-file: ['src/Mod/OpenSCAD/**/*'] - -"Mod: Part": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Part/**/*'] - -"Mod: Part Design": -- changed-files: - - any-glob-to-any-file: ['src/Mod/PartDesign/**/*'] - -"Mod: CAM": -- changed-files: - - any-glob-to-any-file: ['src/Mod/CAM/**/*'] - -"Mod: Points": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Points/**/*'] - -"Mod: Reverse Engineering": -- changed-files: - - any-glob-to-any-file: ['src/Mod/ReverseEngineering/**/*'] - -"Mod: Sketcher": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Sketcher/**/*'] - -"Mod: Spreadsheet": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Spreadsheet/**/*'] - -"Mod: Start": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Start/**/*'] - -"Mod: Surface": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Surface/**/*'] - -"Mod: TechDraw": -- changed-files: - - any-glob-to-any-file: ['src/Mod/TechDraw/**/*'] - -"Mod: Test": -- changed-files: - - any-glob-to-any-file: ['src/Mod/Test/**/*'] - -# 'Packaging' related labels - -"Packaging/building": -- changed-files: - - any-glob-to-any-file: ['cMake/**/*'] - -"3rd party component": -- changed-files: - - any-glob-to-any-file: ['src/3rdParty/**/*'] - -# 'Topic' related labels - -"Topic: Stylesheets": -- changed-files: - - any-glob-to-any-file: ['src/Gui/Stylesheets/**/*'] diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 5e3214d787..0000000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,46 +0,0 @@ - - - - -## Issues - - -## Before and After Images - - - - - diff --git a/.github/scripts/run_gui_tests.py b/scripts/run_gui_tests.py similarity index 100% rename from .github/scripts/run_gui_tests.py rename to scripts/run_gui_tests.py