**Relevance **
----
Trimming cyclical curves as implemented in D14481 does not give the user control over which part of the trimmed curve to return in the output. This can cause undesired behaviors as in T101379 where the default behavior for cyclical curves is to return a single point on the curve when the trim start and endpoint is equivalent. A solution could be to either allow inputs outside of the interval defined by the curve length or change the behavior for cyclical curves to return the split curve instead of a point and let the user select the 'inner' or 'outer' part of the trimmed curve if opposite behavior is desired.
------
**Alternatives **
Behavior for inner/outer output can already be achieved through the use of multiple trim nodes.
D14481 had a solution which used a 'mode' for cyclical curves to resolve the ambiguity startpoint and endpoint were identical. Options included: Split, Copy, Point. While this resolves the ambiguity it introduces a redundant option for non-cyclical curves.
------
**Related Tasks**
D14481 T101379
------
**Limitations of the proposed solution(s) **
For non-cyclical curves taking the 'outer' curve will no longer map the spline count in the input geometry with the spline count in the output geometry. This may have some performance implications for threading certain tasks.
**Mockups **
----
----
**Modulo inputs**
Take the modulo of start/end inputs with curve length. Optionally one could allow the curve to be looped/repeated if the difference is larger then the length.
{F13593676}
----
**Inverted output**
A flexible solution would be to provide two geometry outputs for either the 'inner' or the 'outer' part of the trimmed curve.
{F13584032}
----
**Alternative**
Since providing two geometry outputs is rare, a preference may be to add it as an option instead.
{F13584036}
----
**Inverted output example**
{F13584067}
Trim node
{F13584066}
Inner part of the trim curve
{F13584068}
Outer part of the trim curve. For non-cyclical curves two disconnected curves would be returned which would include the start and endpoint of the initial curve.