Skip to content

Commit 30f05d3

Browse files
committed
feat: add deterministic seeding support
Per-call local engine architecture mirroring entity-generator: - get_nickname(name, seed) overload for reproducible generation - seed()/unseed() for deterministic sequences (thread-local) - nickname::seed() accessor for replay Changed all 28 transform functions to accept effolkronium::random_local& instead of using the global random_thread_local. Each get_nickname() call draws a seed from the thread-local engine, creates a stack-local engine, and threads it through solver → leetify → format → transforms. Thread safety preserved: seed drawing uses thread_local storage, generation uses stack-local engine. Concurrent get_nickname() remains safe. 8 new seeding tests. Updated example with deterministic generation demo. Updated copyright to 2020-2026.
1 parent 5a68b86 commit 30f05d3

6 files changed

Lines changed: 386 additions & 96 deletions

File tree

LICENSE.MIT

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2020-2022 Diego Dasso Migotto
3+
Copyright (c) 2020-2026 Diego Dasso Migotto
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The library currently supports the following:
2121

2222
- **Nickname Generation**. The library randomly generates a nickname based on either a name or a list of words.
2323

24-
- **'Leetifying' Process**. After selecting a name/word it will randomly apply any number of customizations to uniquefy the nickname.
24+
- **Leetifying Process**. After selecting a name/word it will randomly apply any number of customizations to uniquefy the nickname.
2525

2626
- **Word Lists Supported**. Currently the following word lists are supported and a matching database is packed together with the library:
2727
- Adjectives

build/example.exe

3 KB
Binary file not shown.

0 commit comments

Comments
 (0)