导出优化

This commit is contained in:
tianmo
2026-09-05 18:45:43 +08:00
parent 72d8daa283
commit 79ce3165c1
17 changed files with 1559 additions and 1291 deletions
+42
View File
@@ -0,0 +1,42 @@
import assert from 'node:assert/strict'
import { access, readFile } from 'node:fs/promises'
import { createSpine38ImportOptions, prepareSpine38SkeletonJson } from '../connector/spine38-project.mjs'
import { createConversionWorkspace } from '../connector/spine-workspace.mjs'
const source = {
skeleton: { spine: '3.8', images: './images/', fps: 30 },
bones: [{ name: 'root' }],
slots: [],
skins: { default: {} },
animations: { animation: {} },
}
const prepared = JSON.parse(prepareSpine38SkeletonJson(source, 'images'))
assert.equal(prepared.skeleton.images, 'images')
assert.equal(source.skeleton.images, './images/')
const workspace = await createConversionWorkspace({
schemaVersion: 1,
projectName: 'Spine38PathTest',
spineVersion: '3.8',
skeletonJson: JSON.stringify(source),
images: [],
})
try {
const written = JSON.parse(await readFile(workspace.inputPath, 'utf8'))
assert.equal(written.skeleton.images, 'images')
await access(`${workspace.root}/images`)
const invocation = createSpine38ImportOptions({
workspaceRoot: workspace.root,
inputPath: workspace.inputPath,
outputPath: workspace.outputPath,
})
assert.equal(invocation.cwd, workspace.root)
assert.equal(invocation.inputPath, 'Spine38PathTest.json')
assert.equal(invocation.outputPath, 'Spine38PathTest.spine')
console.log('Spine 3.8 图片路径预处理与相对路径导入检查通过')
} finally {
await workspace.cleanup()
}