feat: add candidate FreeCAD naming SDK and attachment oracles
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled

Build and verify the candidate-only FreeCAD naming bridge and OCCT worker path, including three-stage StringHasher restoration. Add Datum, ShapeBinder, attachment-mode, and PartDesign structure oracles plus offline SDK build plans and CI boundary checks.
This commit is contained in:
2026-08-13 17:16:07 -04:00
parent 58c0807219
commit f97eae4153
79 changed files with 7936 additions and 77 deletions

View File

@@ -0,0 +1,41 @@
#ifndef SRC_APP_APPLICATION_H_
#define SRC_APP_APPLICATION_H_
#include <set>
#include <string>
namespace App {
class Document;
class ProbeSignal
{
public:
template<typename Callback>
void connect(Callback&&)
{}
};
class Application
{
public:
Document* getActiveDocument() const
{
return nullptr;
}
ProbeSignal signalStartSaveDocument;
ProbeSignal signalFinishSaveDocument;
ProbeSignal signalStartRestoreDocument;
ProbeSignal signalFinishRestoreDocument;
};
inline Application& GetApplication()
{
static Application application;
return application;
}
} // namespace App
#endif

View File

@@ -0,0 +1,19 @@
#ifndef SRC_APP_DOCUMENT_H_
#define SRC_APP_DOCUMENT_H_
#include <App/DocumentObject.h>
namespace App {
class Document
{
public:
DocumentObject* getObjectByID(long) const
{
return nullptr;
}
};
} // namespace App
#endif

View File

@@ -0,0 +1,31 @@
#ifndef SRC_APP_DOCUMENTOBJECT_H_
#define SRC_APP_DOCUMENTOBJECT_H_
#include <string>
namespace App {
class DocumentObject
{
public:
explicit DocumentObject(long id = 0)
: objectId(id)
{}
long getID() const
{
return objectId;
}
std::string getFullName() const
{
return "ProbeObject";
}
private:
long objectId;
};
} // namespace App
#endif

View File

@@ -1,27 +0,0 @@
#pragma once
#define APP_STRING_ID_H
#include <QByteArray>
namespace App
{
class StringIDRef
{
public:
void toBytes(QByteArray& bytes) const
{
bytes.clear();
}
bool operator<(const StringIDRef&) const
{
return false;
}
bool operator==(const StringIDRef&) const
{
return true;
}
};
} // namespace App