gamer147
998402ebc3
refactor(tutorial-presents): promote static catalogue to seed-driven TutorialPresentEntries table
...
The five tutorial gifts every fresh viewer is given at signup used to live as a
static C# array in SVSim.Database/SeedData/TutorialPresents.cs — outside the
seed-JSON pipeline used by all 40+ other globals tables. Editing a gift required
a code change + rebuild instead of a JSON edit + bootstrap re-run.
Now authored in SVSim.Bootstrap/Data/seeds/tutorial-presents.json and loaded into
a new TutorialPresentEntries table via TutorialPresentsImporter (clear-and-rewrite,
mirroring HomeDialogs). ViewerRepository.RegisterAnonymousViewer reads the table
at signup and projects each row into a ViewerPresent with Source="tutorial".
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-09 09:53:10 -04:00
..
2026-06-02 00:54:44 -04:00
2026-06-03 07:50:49 -04:00
2026-05-23 16:25:49 -04:00
2026-06-03 07:50:49 -04:00
2026-05-23 16:25:49 -04:00
2026-05-23 16:25:49 -04:00
2026-05-23 14:18:01 -04:00
2026-05-26 21:57:47 -04:00
2026-06-03 07:50:49 -04:00
2026-06-03 07:50:49 -04:00
2026-05-26 22:04:10 -04:00
2026-06-03 20:52:41 -04:00
2026-05-26 09:16:21 -04:00
2026-05-26 09:16:21 -04:00
2026-06-03 07:50:49 -04:00
2026-05-26 09:16:21 -04:00
2026-06-03 07:50:49 -04:00
2026-05-31 10:16:53 -04:00
2025-05-18 02:27:17 -04:00
2026-05-24 17:07:05 -04:00
2026-05-23 14:18:01 -04:00
2026-05-23 14:18:01 -04:00
2026-05-23 16:25:49 -04:00
2026-05-23 16:25:49 -04:00
2026-05-23 14:18:18 -04:00
2026-05-23 16:25:49 -04:00
2026-05-23 14:18:01 -04:00
2026-05-23 14:18:01 -04:00
2026-05-23 16:25:49 -04:00
2026-05-24 21:13:15 -04:00
2026-06-08 18:51:12 -04:00
2026-05-31 01:22:08 -04:00
2026-05-27 22:41:02 -04:00
2026-05-23 14:18:01 -04:00
2026-05-27 22:55:09 -04:00
2026-06-03 07:50:49 -04:00
2026-05-27 22:55:09 -04:00
2026-06-03 07:50:49 -04:00
2026-05-23 16:25:49 -04:00
2026-05-23 16:25:49 -04:00
2026-05-23 16:25:49 -04:00
2026-06-03 07:50:49 -04:00
2026-05-23 14:18:01 -04:00
2026-05-23 16:25:49 -04:00
2026-05-23 16:25:49 -04:00
2026-05-28 00:56:20 -04:00
2025-05-18 02:27:17 -04:00
2026-05-24 02:03:13 -04:00
2026-06-09 08:48:16 -04:00
2026-05-30 21:40:50 -04:00
2026-05-30 21:40:50 -04:00
2026-05-30 21:40:50 -04:00
2026-05-30 21:40:50 -04:00
2026-05-24 02:03:13 -04:00
2026-05-23 19:57:34 -04:00
2026-05-26 16:44:54 -04:00
2026-05-23 16:25:49 -04:00
2026-05-25 12:03:47 -04:00
2026-05-26 16:44:54 -04:00
2026-06-03 07:50:49 -04:00
2026-05-23 14:18:01 -04:00
2026-05-23 16:25:49 -04:00
2026-05-23 16:25:49 -04:00
2026-05-24 09:27:10 -04:00
2026-05-23 14:18:01 -04:00
2026-05-25 12:03:47 -04:00
2026-05-23 14:18:01 -04:00
2026-05-27 22:09:45 -04:00
2026-06-03 07:50:49 -04:00
2026-05-27 22:09:45 -04:00
2026-05-23 14:18:01 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 16:25:49 -04:00
2026-05-27 23:23:07 -04:00
2026-05-31 01:22:08 -04:00
2026-06-09 09:53:10 -04:00
2026-05-23 16:25:49 -04:00
2026-06-08 21:34:20 -04:00
2026-05-27 10:08:11 -04:00
2026-05-31 10:16:53 -04:00
2026-05-26 22:07:05 -04:00
2026-05-26 22:07:05 -04:00
2026-05-26 09:16:21 -04:00
2025-05-18 02:27:17 -04:00
2026-05-27 23:23:07 -04:00
2026-05-27 10:08:11 -04:00
2026-06-08 21:34:20 -04:00
2026-05-28 22:54:46 -04:00
2026-05-28 22:54:46 -04:00
2024-09-12 00:35:31 -04:00
2026-05-27 22:55:09 -04:00
2026-05-27 10:08:11 -04:00
2024-09-12 00:35:31 -04:00
2026-05-24 02:03:13 -04:00
2026-06-08 20:44:52 -04:00
2026-05-25 12:03:47 -04:00
2026-05-27 23:23:07 -04:00