/docs/interop.md: limit parameter count to 8, specify enums

This commit is contained in:
veclavtalica 2025-01-28 23:51:18 +03:00
parent 8de4a1f09b
commit 458b44d0b0

View File

@ -5,6 +5,7 @@ for that certain considerations are taken:
* number of public api calls is kept at the minimum
* procedure parameters can only use basic types, no aggregates, with exception of Vec/Matrix types and alike,
with no new additions, ever (see [/include/twn_types.h](../include/twn_types.h))
* enum types are allowed, as they decay to numeric type (but language-specific api can decide to provide simple ways to use them)
* optionals can be expressed via pointer passage of value primitives, assumed immutable, with the NULL expressing default value
* no opaque types, only keys if needed
* pointers to pointers aren't allowed
@ -15,3 +16,4 @@ for that certain considerations are taken:
* 32 bit floating point is the only numeric type
* [/include/twn_api.json](../share/twn_api.json) file is hand-kept with a schema to aid automatic binding generation and tooling
* parameter names should not collide with keywords of any language that is targetted; if so happens, parameter alias could be added
* any procedure can't have more than 8 parameters