Rename project from numbers-study to numolus

- package.json / package-lock.json: package name "numolus"
- README: new title, drop the "Case- und Designstudie" framing, update
  test count (331 -> 528)
- localStorage keys renamed to numolus:doc:v2 / numolus:theme; the old
  numbers-study:* keys are still read as a fallback so existing documents
  and theme choices survive the rename

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
wkh
2026-09-28 01:51:18 +02:00
co-authored by Claude Opus 5.5
parent 3fb3e340ba
commit 86d03346e8
5 changed files with 20 additions and 14 deletions
+6 -2
View File
@@ -2,8 +2,12 @@ import { ref, watchEffect } from 'vue';
type Mode = 'system' | 'light' | 'dark';
const KEY = 'numbers-study:theme';
const stored = (localStorage.getItem(KEY) as Mode | null) ?? 'system';
const KEY = 'numolus:theme';
/** Key used before the rename to numolus -- still read as a fallback. */
const LEGACY_KEY = 'numbers-study:theme';
const stored =
((localStorage.getItem(KEY) ?? localStorage.getItem(LEGACY_KEY)) as Mode | null) ??
'system';
const mode = ref<Mode>(stored);
watchEffect(() => {
+5 -2
View File
@@ -80,7 +80,9 @@ import { defaultTableView, DEFAULT_ROW_H, MIN_GRID_SIZE, MAX_GRID_SIZE } from '.
import { createSeedDocument } from '../data/seed';
import { validateDocument } from '../io/json';
const STORAGE_KEY = 'numbers-study:doc:v2';
const STORAGE_KEY = 'numolus:doc:v2';
/** Key used before the rename to numolus -- still read as a fallback. */
const LEGACY_STORAGE_KEY = 'numbers-study:doc:v2';
const CASCADE = 28; // px offset for successive inserted objects
@@ -523,7 +525,8 @@ function rewriteRefsForRename(
function loadInitial(): DocumentState {
try {
const raw = localStorage.getItem(STORAGE_KEY);
const raw =
localStorage.getItem(STORAGE_KEY) ?? localStorage.getItem(LEGACY_STORAGE_KEY);
if (raw) {
// validateDocument migrates v1, validates + *normalises* v2 (fills in
// `view` and other defaults for documents saved by an older build).