feat(pl_editor): add KIID m_Uuid + (uuid) to .kicad_wks format (yjs-bridge commit 1)
Bump kicad submodule to the per-item uuid identity change, plus the wasm/test infra to verify it: - wasm/bindings/pl_editor_embind.cpp: test-only kicadSaveDrawingSheet(path) hook that serializes the singleton DS_DATA_MODEL to MEMFS (also a building block for the bridge's later materialize-to-file path) - tests/kicad/pl_editor-uuid.spec.ts: open->save->read-back e2e proving (uuid …) backfill (4 distinct uuids) and load->save round-trip preservation Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
2bd39c3794
commit
7d49007473
3 changed files with 166 additions and 1 deletions
|
|
@ -13,6 +13,7 @@
|
|||
#include <wx/app.h>
|
||||
#include <wx/string.h>
|
||||
#include <wx/window.h>
|
||||
#include <drawing_sheet/ds_data_model.h>
|
||||
|
||||
using namespace emscripten;
|
||||
|
||||
|
|
@ -37,8 +38,20 @@ bool kicadOpenFile( std::string path )
|
|||
std::vector<wxString>( 1, wxString::FromUTF8( path.c_str() ) ) );
|
||||
}
|
||||
|
||||
// Programmatically save the in-memory drawing sheet to a .kicad_wks file, without
|
||||
// driving the Save As dialog. pl_editor edits the process-wide singleton
|
||||
// DS_DATA_MODEL::GetTheInstance(), so this serializes exactly what the editor has
|
||||
// loaded — letting a test read the file back from MEMFS and assert the (uuid …)
|
||||
// round-trip / backfill. (Also a building block for the collab bridge's later
|
||||
// materialize-to-file path.)
|
||||
void kicadSaveDrawingSheet( std::string path )
|
||||
{
|
||||
DS_DATA_MODEL::GetTheInstance().Save( wxString::FromUTF8( path.c_str() ) );
|
||||
}
|
||||
|
||||
EMSCRIPTEN_BINDINGS(pl_editor) {
|
||||
// Programmatic file open (preferred over UI automation from the web app).
|
||||
function("kicadOpenFile", &kicadOpenFile);
|
||||
function("kicadSaveDrawingSheet", &kicadSaveDrawingSheet);
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue