This page lists the guidelines to keep in mind when writing path modifiers, to help minimize bugs and keep compability between modifiers high.
- 
The Path::path array should not be changed by any modifier. It could be changed to another valid path in extreme cases, but that's the only valid change. 
 
- 
If the output is StrictVectorPath, the Path::vectorPath should have the same length as the Path::path array, think of it as the positions of the nodes have been modified. 
 
- 
None should not be the output of any modifier.