{"id":"affine2d-fixed-set","version":"1.0.0","description":"Classify and compute the exact fixed locus of a rational 2D affine map.","supported_operations":["find fixed points of affine transform","compute affine fixed locus","classify fixed set as point line all or none","solve exact 2D affine fixed equations","find invariant points of planar map","exact rational fixed line"],"unsupported_operations":["iterated periodic points","approximate eigenspaces"],"semantics":["Solve (M-I)p=-t with exact rank predicates.","Result is all, none, point, or line.","A line a*x+b*y=c has first nonzero coefficient 1."],"limits":{"max_input_bytes":65536,"max_rational_chars":256,"max_items":256,"max_output_bytes":65536},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["transform"],"properties":{"transform":{"type":"object","additionalProperties":false,"required":["a","b","c","d","tx","ty"],"properties":{"a":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"b":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"c":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"d":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"tx":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"ty":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"}}}}},"output_schema":{"type":"object","additionalProperties":false,"required":["kind","reference"],"properties":{"kind":{"type":"string","enum":["all","none","point","line"]},"point":{"type":"object","additionalProperties":false,"required":["x","y"],"properties":{"x":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"y":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"}}},"line":{"type":"object","additionalProperties":false,"required":["a","b","c"],"properties":{"a":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"b":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"},"c":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"}}},"reference":{"type":"string","const":"Foley et al., Computer Graphics: Principles and Practice, affine transformations (2nd ed., 1990)"}}},"examples":[{"input":{"transform":{"a":"1","b":"0","c":"0","d":"1","tx":"0","ty":"0"}},"output":{"kind":"all","reference":"Foley et al., Computer Graphics: Principles and Practice, affine transformations (2nd ed., 1990)"}},{"input":{"transform":{"a":"-1","b":"0","c":"0","d":"-1","tx":"2","ty":"4"}},"output":{"kind":"point","point":{"x":"1","y":"2"},"reference":"Foley et al., Computer Graphics: Principles and Practice, affine transformations (2nd ed., 1990)"}}],"execute_url":"/v1/tools/affine2d-fixed-set/versions/1.0.0/execute"}