From a7feb7b61b29a76168c717efe5ae6fbff1a6ce72 Mon Sep 17 00:00:00 2001 From: veclavtalica Date: Sun, 3 Nov 2024 23:25:06 +0300 Subject: [PATCH] update interop.md --- docs/interop.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/interop.md b/docs/interop.md index 86b5b7c..2247523 100644 --- a/docs/interop.md +++ b/docs/interop.md @@ -5,11 +5,11 @@ 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 expectation on new additions (see [/include/twn_types.h](../include/twn_types.h)) -* optionals can be expressed via pointer passage of value primitives, with NULL expressive default, but they should be immutable -* opaque typed parameters are passed around as pointers -* when mutation on input is done, - it shouldn't be achieved from a mutable pointer, but return value -* return value could be a simple aggregate that is translatable to value-only dictionary +* optionals can be expressed via pointer passage of value primitives, assumed immutable, with the NULL expressing default +* no opaque types, only keys +* when mutation on input is done, - it shouldn't be achieved from a mutable pointer, but the return value +* return value could be a simple aggregate that is translatable to pure data dictionary * module prefix is used for namespacing, actual symbols come after the prefix (`module_symbol`) * symbols should not contain letters at the start nor after the namespace prefix -* floats are preferred over integers -* [/include/twn_api.json](../include/twn_api.json) file is hand-kept with a schema to aid automatic binding generation and other tooling +* 32 bit floating point is the only numeric type +* [/include/twn_api.json](../include/twn_api.json) file is hand-kept with a schema to aid automatic binding generation and tooling