- Each die is drawn as its own shape, tumbles in and lands on its result; a natural 20 glows, a natural 1 shakes; respects reduced motion - In a campaign the server makes every digital roll and keeps it - The DM sees each roll as it lands: an "Everyone's rolls" tab in the roller, a pop-up beside the dice button, and a list on the encounter page - Players see everyone's rolls or only their own, by the campaign setting; the DM can roll hidden - Physical dice are typed in, one box per die, and checked; with "both", each person chooses in the roller - game/dice.js: parsing, rolling, checking typed dice, critical damage Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
32 lines
766 B
JSON
32 lines
766 B
JSON
{
|
|
"name": "dnd-campaign-manager",
|
|
"version": "1.26.0",
|
|
"private": true,
|
|
"description": "D&D 5e campaign manager — monorepo root",
|
|
"workspaces": [
|
|
"backend",
|
|
"frontend"
|
|
],
|
|
"scripts": {
|
|
"dev:backend": "npm run dev --workspace backend",
|
|
"dev:frontend": "npm run dev --workspace frontend",
|
|
"test:backend": "npm run test --workspace backend",
|
|
"seeds:check": "npm run seeds:check --workspace backend"
|
|
},
|
|
"allowScripts": {
|
|
"prisma": true,
|
|
"@prisma/client": true,
|
|
"@prisma/engines": true,
|
|
"bcrypt": true,
|
|
"@parcel/watcher": false,
|
|
"unrs-resolver": false
|
|
},
|
|
"overrides": {
|
|
"mysql2": "^3.24.5",
|
|
"deepmerge-ts": "^8.0.2",
|
|
"@istanbuljs/load-nyc-config": {
|
|
"js-yaml": "^4.1.0"
|
|
}
|
|
}
|
|
}
|