Please report bugs in the issues page of this repository. Do not report bugs in the Cura repository; they will be closed there.
When reporting a bug, it helps to provide the following information:
- The version of SettingsGuide you're using.
- Cura's log file (see Cura's readme for instructions on where to find that).
Feature requests are also welcome in the issues page.
I intend to write descriptions for every setting in Cura, but this is a lot of work. If you'd like to request priority for certain settings, feel free to ask.
Pull requests to the main code (QML, Python) are subject to the following requirements:
- It does not slow down behaviour significantly.
- The code style is similar to the rest of the code in this repository.
- Your code will be licensed under AGPL 3.0 like the rest of the code in this repository.
Pull requests to add descriptions for settings or improve current descriptions are also welcome. In general, articles about settings should hold the following format:
- First an explanation of what the setting does directly.
- Some pictures with examples, if applicable.
- Some more technical details of what the setting does.
- The effects of the setting on your print.
- Warnings of common mistakes made with this setting or other things that the user should watch out for, if applicable.
This is not set in stone. For some articles (in particular drop-down settings) it makes sense to have a different format.
When taking screenshots of the g-code in layer view, these are some instructions to ensure a consistent look throughout the plug-in.
- Before making a screenshot, remove the build plate shader so that the grid doesn't show up in your screenshot.
- Use the light theme of Cura when taking the screenshot.
- Use the perspective camera mode, not orthographic.
- Don't use the compatibility mode of layer view.
- Don't collage your screenshots. Use separate images for different effects, each with their own subtitle.
To adjust your Cura installation for easier screenshot making, the theme can be adjusted. In the file resources/themes/cura-light/theme.json
, replace the three sections starting with disabled_axis
with the following:
"disabled_axis": [127, 127, 127, 0],
"x_axis": [255, 0, 0, 0],
"y_axis": [0, 0, 255, 0],
"z_axis": [0, 255, 0, 0],
"all_axis": [255, 255, 255, 0],
"viewport_background": [255, 255, 255, 255],
"volume_outline": [50, 130, 255, 0],
"buildplate": [255, 255, 255, 0],
"buildplate_grid": [255, 255, 255, 0],
"buildplate_grid_minor": [255, 255, 255, 0],
"convex_hull": [255, 255, 255, 0],
"disallowed_area": [0, 0, 0, 0],
"error_area": [255, 0, 0, 127],
To restore your Cura installation on Windows, you can run the installer again. On other platforms, you can just download the application again.
In an effort to keep the download size of the plug-in manageable, care needs to be taken with .png images.
- Reduce your image to 256 colours. You can use dithering if you think it looks better, but quite often it doesn't look better.
- Download OptiPNG.
- Optimize your image by entering this in a terminal:
optipng -o7 -strip all my_image.png
Animated images are even more prone to having large file sizes. The following steps should guide you to produce space-efficient animations:
- Use a smaller resolution, by zooming out in Cura rather than by scaling the pictures down after taking the screenshots.
- See if you can reduce the colour depth to 64 or 32 colours without introducing a significant amount of dithering or losing visual detail.
- If you have an animation that requires smooth motion, use at most 5fps. If you have an animation that just shows several stages or layers, limit your image to one frame per stage or layer.
- Don't create animations of more than 5 seconds.
- Download FlexiGIF.
- Optimize your image by entering this in a terminal:
flexigif my_image.gif my_image_opt.gif
. - Delete the old image and rename the new
my_image_opt.gif
to have the original file name.
Diagrams should be submitted in SVG format. Also for these there are a number of requirements:
- The source code of the SVG file will be treated as normal source code during the review, so please make sure that it is readable.
- The SVG files are rendered with QtSVG, which supports a very limited subset of the SVG specification. Only the static features of SVG Tiny 1.2.
- Clipping is not supported.
- Gradients are not supported.
- Animations are not supported.
- Patterns are not supported.
It is up to the discretion of the package maintainer to decide whether images are too big or not. A major factor in this decision is whether the image is any bigger than strictly necessary.