rework timers, update overlap/intersect and other procedures, some other things i dont remember
This commit is contained in:
@ -3,11 +3,13 @@ api needs to facilitate easy interoperability with other languages and tools,
|
||||
for that certain considerations are taken:
|
||||
|
||||
* number of public api calls is kept at the minimum
|
||||
* procedure signatures can only use basic types, no aggregates, with exception of Vec/Matrix types and alike,
|
||||
* 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 types are passed around as pointers
|
||||
* 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
|
||||
* 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
|
||||
|
Reference in New Issue
Block a user