- New .ruw file format: a STORE-only zip wrapping project.json + an assets/ folder. packProject extracts every data-URL asset (images, audio, background video) into its own file and rewrites the in-JSON src fields to relative paths; unpackProject rehydrates back to data URLs on read. Zero dependencies — we ship a minimal in-house zip codec. - ExportDialog surfaces the new format as a top-row "RUWIO project (.ruw)" option that round-trips through the welcome-dialog file picker. Legacy .json imports still work via byte-sniffing the PK header in readAnyProjectFile. Dead App.vue `exportProjectFile` helper removed. - Frame-based exports (GIF, APNG, APNG preview) take an optional targetFps override so a 60fps project doesn't balloon the file — APNG / GIF size scales ~linearly with frame count. The ExportDialog grows a second input next to target size; defaults inherit the scene's fps and reset on each dialog open. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
30 lines
649 B
JSON
30 lines
649 B
JSON
{
|
|
"name": "ruwio",
|
|
"private": true,
|
|
"version": "1.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vue-tsc --noEmit && vite build",
|
|
"preview": "vite preview",
|
|
"type-check": "vue-tsc --noEmit",
|
|
"pack": "bash scripts/pack.sh"
|
|
},
|
|
"dependencies": {
|
|
"@phosphor-icons/vue": "^2.2.1",
|
|
"gifenc": "^1.0.3",
|
|
"konva": "^9.3.16",
|
|
"pinia": "^2.2.6",
|
|
"upng-js": "^2.1.0",
|
|
"vue": "^3.5.13",
|
|
"vue-konva": "^3.1.2"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.10.2",
|
|
"@vitejs/plugin-vue": "^5.2.1",
|
|
"typescript": "^5.6.3",
|
|
"vite": "^6.0.3",
|
|
"vue-tsc": "^2.1.10"
|
|
}
|
|
}
|