nyan icon indicating copy to clipboard operation
nyan copied to clipboard

Typesafe hierarchical key-value database with inheritance and dynamic patching :smiley_cat:

Results 41 nyan issues
Sort by recently updated
recently updated
newest added

Currently, all member access is checked at load time. When patches add new members to objects by addint inheritance parents, those cannot be used (because at load time the member...

nice new thing ☺
specification
proposal

Currently, it's only allowed for a inheritance hierarchy of patches to define a patch target once. This restriction can be softened a bit by allowing the patch target again, but...

specification
proposal

In [openage](https://github.com/SFTtech/openage), we need a notification event for watched nyan values. This means `nyan` needs support for registering callback functions that will fire when the value of the member changes.

nice new thing ☺

It should be possible to undo patches in a transaction (e.g. when a research is cancelled). Two strategies are possible to update the state at that point in time: *...

nice new thing ☺

The `file` member type should store its value as a filename relative to the nyan file it was defined in. This would allow that a content definition (`sounds.nyan`) file can...

improvement

nyan currently doesn't build for UWP environments and we don't have the necessary knowledge to maintain it. The main difference to normal Windows seems to be that debug symbols are...

buildsystem
windows

Current object, member or namespace IDs are simple `std::string` types, e.g. `fqon_t` or `fqnn_t`. These are sufficient for addressing nyan objects, but are not suitable for advanced operations like: -...

improvement
c++

Should be self-explanatory. Let the nyanlib be statically linked at compile-time.

buildsystem
proposal
good first issue

nyan needs a built-in fixed-point type to handle safe arithmetics for fractional numbers. The implementation can be taken from the [openage fixed-point implementation](https://github.com/SFTtech/openage/blob/master/libopenage/util/fixed_point.h). The type identifier could be `fixed`, `fpdouble`...

specification
proposal

We currently use gcc's `__builtin_expect()` macro aliased as `unlikely` and `likely` for static branch prediction. Primarily, this optimizes checks for parser errors. This optimizes performance for code paths which are...

improvement
c++
good first issue