Commit graph

167 commits

Author SHA1 Message Date
Tom Englund
5ac060bfcf
signal: check for trivially copyable (#95)
use is_trivially_copyable instead because is_arithmetic_v exludes small
POD structs, enums, and certain trivially copyable types.

also add a if guard in emit if we have no listeners, no point emitting.
2025-12-19 16:12:51 +00:00
1c527b30fe
cli/logger: flush stdout after logging 2025-12-17 20:09:42 +00:00
fe686486ac
version: bump to 0.11.0 2025-12-05 19:18:01 +00:00
2f2413801b
logger: don't crash on failing to print to stdout 2025-12-02 00:58:52 +00:00
Vaxry
9f8e158dbd
memory/shared: add dynamicPointerCast (#92) 2025-12-01 21:18:31 +00:00
EvilLary
7e6346f84b
i18n: fix typo in sorting entries (#94) 2025-11-30 00:54:28 +00:00
Maximilian Seidler
a64517c236
animation: allow/intend for animated vars to be unique pointers (#93) 2025-11-28 17:08:50 +00:00
0168583075
cli/argumentParser: improve formatting of description 2025-11-24 14:54:18 +00:00
5e1a14bc29
cli/argumentParser: allow empty short 2025-11-24 14:44:43 +00:00
bc9803c4b8
version: bump to 0.10.4 2025-11-24 14:13:22 +00:00
SASANO Takayoshi
44c2ba0354
src/cli/ArgumentParser.cpp: clang requires <algorithm> (#91) 2025-11-24 13:53:20 +00:00
96df6f6535
cli/logger: add redirection of connections 2025-11-23 18:30:59 +00:00
a9fe9748ae
version: bump to 0.10.3 2025-11-23 16:03:58 +00:00
Vaxry
b311dc90dc
cli: add logger (#90)
Adds a Logger to the CLI namespace
2025-11-23 15:45:14 +00:00
Vaxry
16a7fe760d
cli: add CArgumentParser (#89) 2025-11-23 00:20:24 +00:00
31f29957df
Nix: always test in debug mode 2025-11-22 00:35:18 +02:00
1454845751
cmake: add coverage reports 2025-11-21 22:19:01 +00:00
Vaxry
2698ac1194
tests: move tests out of source tree (#88) 2025-11-21 16:27:29 +00:00
671792bcfe
i18n: fix error with localizing multi-var strings 2025-11-19 00:51:03 +00:00
0c6411851c
i18n/engine: optimize string generation 2025-11-16 20:02:11 +00:00
e3cae692f6
i18n/engine: fix pure stem matches 2025-11-15 22:21:40 +00:00
Constantin Piber
cb3e797fde
internal: fix missing headers (#86) 2025-11-10 22:02:48 +00:00
0a28f35c00
version: bump to 0.10.2 2025-11-10 13:00:04 +00:00
Vaxry
01afe9245b
tests: move to gtest (#85)
---------

Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2025-11-09 18:05:01 +00:00
Vaxry
9a9745d7aa
string: add VarList2 (#84)
reworks how varList works, mixes best of both ConstVarList and regular VarList. Deprecates both.
2025-11-09 15:10:58 +00:00
Vaxry
968f881222
i18n: add i18n engine (#83)
Adds a translation engine
2025-11-09 14:18:33 +00:00
926689ddb9
version: bump to 0.10.1 2025-11-06 00:09:00 +00:00
9637961a55
string/constVarList: fix UAF 2025-11-05 15:04:02 +00:00
Freevatar
164a30b3d8
animation/bezier: Fix OOB in getYForPoint for non-monotonic 4-point curves (#81) 2025-11-03 22:25:56 +00:00
3df7bde01e
version: bump to 0.10.0 2025-10-05 00:12:03 +01:00
9ab64319e9
math/region: reinit region for scale()
Apparently on some setups directly modifying the rectangles is a no-go, see #78.

Pixman is another piece of undocumented shit. I hope whomever wrote this stubs their toe.

Note to self: drop pixman, rewrite region. Fucking idiots.
2025-10-04 21:22:03 +01:00
Maximilian Seidler
feaaf44d59
memory: make SP/ASP control blocks type agnostic (#79) 2025-10-04 20:35:48 +02:00
94cce79434
tests/math: add region scale test 2025-10-03 12:28:46 +01:00
c1f541256e
version: bump to 0.9.0 2025-10-03 12:16:41 +01:00
1f80045da1
bezier: fix with first point being non-0 2025-09-30 15:05:40 +01:00
a20932e200
bezier: add setup4 2025-09-30 13:56:37 +01:00
Tom Englund
64446e1a4c vector2d: make vector trivial
while profiling vector showed up as a marginal waster because it wasnt a
trivial class, a few if(m_someVector != Vector()) was causing a lot of
churn because of not being trivial and doing a lot of allocaitons and
destructions. make it trivial by defaulting constructor, and destructor,
and while we are at it make it constexpr friendly on constructors and
operators.
2025-09-28 00:01:31 +02:00
Tom Englund
05f0fb2774 memory: fix clangd warnings
modernize validHierarchy and isConstructible, mark move operator
noexcept, use default destructor instead of {}, __deleter is a reserved
name, remove a underscore.

as per clangd docs.
The C standard additionally reserves names beginning with a double underscore,
while the C++ standard strengthens this to reserve names with a double underscore occurring anywhere.
2025-09-27 01:01:56 +02:00
Tom Englund
427332a7ca memory: use initializer list in constructors
for trivial types this is optimized away, non trivial it default
constructs and then assigns it upon construction, minor waste. so lets
use initializer list for these custom types.
2025-09-27 01:01:56 +02:00
61e295340d
region: avoid tons of allocations for scale()
pixman_region32_rectangles returns the actual rects, so we shouldnt waste cycles when scaling em
2025-09-26 23:17:45 +01:00
b2ae320484
version: bump to 0.8.4 2025-08-25 12:23:08 +02:00
Ikalco
bc193efa4b
os/process: add setStdinFD (#74) 2025-08-25 12:04:44 +02:00
b364dcb739
nix: make mold optional 2025-08-21 20:05:54 +03:00
e631ea36dd version: bump to 0.8.3 2025-08-17 09:35:20 +02:00
Lukas
69efb6291c
memory: smart pointer factories should not be static (#72) 2025-08-14 16:16:28 +01:00
Kamikadze
df6b8820c4
memory: Add C++ cast aliases; replace existing casts and remove redundant casts (#71)
* Add and use c++ cast aliases

* wrap cast aliases in namespace

* remove redundant pragma once
2025-08-06 14:00:50 +02:00
c65d41d4f4
version: bump to 0.8.2 2025-07-29 16:49:27 +02:00
Tom Englund
8dd20c73e0
mat3x3: check for finite in toString (#70)
if values are NaN or inf it will crash std::format, safeguard it.
2025-07-23 12:14:37 +02:00
Maximilian Seidler
18fbac5a98
memory: add missing lock (#69) 2025-07-22 16:58:12 +02:00
Maximilian Seidler
b074d4abc7
memory: fix CAtomicSharedPointer mutex unlock and lifetime issues (#68) 2025-07-21 21:09:54 +02:00