So the idea of this is to have some extra edge flag values for line art. Consider this kind of use: a pattern could end up crossing a crease edge and sometimes we do not want that line inside the pattern to show, so we need a force-off kind of edge mark. This kind of situation can also happen when you are rendering a waving flag and you want the symbol to be prominent.
{F10165557}
This would be a little bit complex to achieve, you have to set up two or three line sets and use a configured logic to make that line disappear. If we have a "force off" mark, we can simply mark that edge off and there will be no other problems.
I suggest using two extra flags:
```
/** #FreestyleEdge.flag */
enum {
FREESTYLE_EDGE_MARK = (1 << 0),
LINEART_EDGE_MARK_CONTOUR_ONLY = (1 << 1),
LINEART_EDGE_MARK_FORCE_OFF = (1 << 2),
};
```
In which "contour only" is useful in this situation,where you still want the full contour to be shown when the cube turns away. Some cases we just want to force filter out some lines, we can have the "real" force-off flag.
This change will not damage compatibility or increase data size, but there are some more places to change including the marking operator to make it work.
But in `edgetag_set_cb()` in `editmesh_path.c` the tag here only has 8 bits and apparently there's only two left in `edge_mode`:
```
enum {
EDGE_MODE_SELECT = 0,
EDGE_MODE_TAG_SEAM = 1,
EDGE_MODE_TAG_SHARP = 2,
EDGE_MODE_TAG_CREASE = 3,
EDGE_MODE_TAG_BEVEL = 4,
EDGE_MODE_TAG_FREESTYLE = 5,
};
```