Fix editor regressions and add Blender scene and animated material import

This commit is contained in:
emil28092005
2026-09-12 00:53:20 +03:00
parent 1a0bf725fa
commit 6f497d1977
34 changed files with 1241 additions and 213 deletions
+13
View File
@@ -27,3 +27,16 @@ test('local editor still gives the connected Forma project priority over browser
const result=await loadEditorProject({}, {request:async(url)=>Response.json(url==='/api/status'?status:{project}),draft:async()=>{throw Error('Must not read draft');}});
assert.equal(result.project.name,project.name);assert.deepEqual(result.status,status);
});
import {editorDraftKey} from '../editor/startup.ts';
test('hosted drafts are isolated by publication path and bundled project ID',async()=>{
const a=defaultProject(true),b=defaultProject(true);a.id='a';b.id='b';
const opts={browserOnly:true,initialProject:a,draftScope:'/demo-a/'};
const key=editorDraftKey(opts);const saved=structuredClone(a);saved.name='Edited A';
const drafts=new Map([[key,saved]]);const draft=async(key:string)=>drafts.get(key)||null;
assert.equal((await loadEditorProject(opts,{draft,request:neverRequest})).project.name,'Edited A');
assert.equal((await loadEditorProject({...opts,initialProject:b},{draft,request:neverRequest})).project.name,b.name);
assert.equal((await loadEditorProject({...opts,draftScope:'/demo-b/'},{draft,request:neverRequest})).restored,false);
assert.notEqual(editorDraftKey({browserOnly:true,initialProject:a},'https://host.test/one/'),editorDraftKey({browserOnly:true,initialProject:a},'https://host.test/two/'));
assert.equal(editorDraftKey({}),'active');
});