MaibornWolff / codecharta

CodeCharta visualizes multiple code metrics using 3D tree maps.
https://maibornwolff.github.io/codecharta/
BSD 3-Clause "New" or "Revised" License
178 stars 30 forks source link

Implement 3MF export for multi-color 3D printing of maps #3616

Closed olexs closed 1 month ago

olexs commented 1 month ago

Implement 3MF export for multi-color 3D printing of maps

Description

This PR implements a 3MF export in addition to the already existing STL export. This allows to print CodeCharta maps on multi-material printers like the BambuLabs machines or the Prusa XL in multiple colors.

Additionally, the printed map now includes a MW logo, a custom text line, an optional project logo, and a reverse side with a legend of included metrics and their values.

Definition of Done

A PR is only ready for merge once all the following acceptance criteria are fulfilled:

Screenshots

Screenshot 2024-05-14 at 17 17 58

IMG_0331 IMG_0325

phanlezz commented 1 month ago

It looks like the sonar token is no available or set correctly in forks. Any idea how to resolve this? Maybe you can reopen this as a PR directly in the repository? @olexs

olexs commented 1 month ago

Ideally we should reconfigure the workflow, so that Sonar is not ran for PRs from forks - as you say, the token is not available in forks, since it's a (secret) project variable that could otherwise be leaked to a modified workflow in a fork.

If we want Sonar to run on all PRs, I could re-make this as a branch from the main repo, since I have contributor access.

phanlezz commented 1 month ago

Ideally we should reconfigure the workflow, so that Sonar is not ran for PRs from forks - as you say, the token is not available in forks, since it's a (secret) project variable that could otherwise be leaked to a modified workflow in a fork.

But if sonar is not active on forks, we can't really merge them, because the code quality can not be verified?

If we want Sonar to run on all PRs, I could re-make this as a branch from the main repo, since I have contributor access.

I would appreciate it, because it is the easiest/fastest way to get this awesome feature on main 🚀

olexs commented 1 month ago

I would appreciate it, because it is the easiest/fastest way to get this awesome feature on main 🚀

It appears I do not have write permissions to the main repo after all, so I can't push the branch directly, only via my fork right now. How do we best go about this?

phanlezz commented 1 month ago

I could add you as a maintainer or similar to the repository, then you could open a branch and PR with all those changes, and we can review and merge it. Should I add @olexs ? (I don't know if it is possible to move your changes from fork:main to origin:another-branch, so you might need to copy the changes via a soft reset)

olexs commented 1 month ago

Yes, if it's ok please add me. I have already figured out the branch stuff, just need the permission to push. Thanks!

phanlezz commented 1 month ago

Yes, if it's ok please add me. I have already figured out the branch stuff, just need the permission to push. Thanks!

I added you with 'Write', ping me if it is not enough.

olexs commented 1 month ago

Thanks, looks like it worked. I'm closing this, new PR is #3630.