Architecture Notes
Main subsystems
- request repository
- printer service
- pass photo service
- archive service
- holder service
- config repository (
dnd_identitydocs_config) - NUI frontend (React / Vite)
Storage model
Holder mode
When Config.use_holder = true:
- print results are stored in
dnd_identitydocs_holders - player uses
card_holder - viewer / holder read metadata from holder DB
Item mode
When Config.use_holder = false:
- print results are stored as individual ox_inventory items
- viewer reads item metadata directly
Documents architecture
Documents now support a hybrid model:
- runtime DB templates (
dnd_identitydocs_config.templates_json) - static custom config fallback
- default config fallback
Current precedence is runtime DB first.
Template Manager
The Desktop Template Manager MVP performs:
- list templates for active job
- create/update custom template
- delete custom template
- seeded/default template protection
Buyer-facing assets
Buyer-facing asset architecture uses web/images instead of requiring edits inside bundled web/dist/assets.