Repository navigation
Project Files, Persistence, and Assets
DesignForge projects should be portable, editable offline, and recoverable after interrupted work. The native .dforge format belongs to DesignForge and should not be advertised as compatible with another editor’s proprietary project format.
The project store should own:
- Project identity and manifest
- Versioned document serialization
- Page/node data and references
- Asset binaries and metadata
- Autosave journal
- Named snapshots/checkpoints where supported
- Recovery state
- Schema migration
- Export metadata and diagnostics where useful
- Save/open operations use validated project snapshots.
- Autosave is debounced but should not be the only recovery mechanism.
- Recovery should handle interrupted writes and incomplete journals.
- A save failure must be visible and actionable.
- Migrations must be versioned, testable, and non-destructive.
- Imported content must be validated before being added to the canonical document.
- Unsaved state should be represented clearly in the application shell.
The format should be documented with a versioned manifest and an explicit policy for document schema, assets, metadata, and migrations. The precise archive/container representation should be confirmed by the implementation; do not imply a packaging detail that has not been established.
Minimum expectations:
- Stable node IDs and parent relationships
- Component, style, variable, and interaction references
- Asset references that remain valid after relocation
- Version and migration metadata
- Import validation and clear error reporting
- Fidelity-preserving save/reopen tests
The asset service should import, validate, thumbnail, reference, and export supported assets. Track fonts, images, SVG/vector references and other supported media with stable paths and source metadata where appropriate. Missing assets should be visible and recoverable rather than silently replaced.
Each format adapter should declare:
- Accepted input/output formats
- Supported object types and fidelity limitations
- Unit and scaling behavior
- Metadata preservation behavior
- Error and warning behavior
- Security constraints for untrusted files
Project file export and import should be tested with round-trip fixtures. A successful export is not enough if the exported project cannot be reopened.