feat(nativegen)!: refactor to struct-based native wrappers

Major overhaul of native wrapper generation for ufbx and nvtt.
Replaces all hand-written and class-based wrappers with auto-generated partial struct wrappers that directly expose native API methods via pointers. Introduces a new JSON-driven configuration system using "remaps" and "actions" for flexible parameter/return mapping and method routing. Removes legacy config sections and helper classes, focusing solely on method wrappers. Updates all usages and tests to use the new pointer-based API. Cleans up obsolete code and ensures resource management is handled via struct Dispose methods. The result is a thinner, more direct, and maintainable interop layer.

BREAKING CHANGE: All managed wrapper classes and helpers are removed in favor of struct-based pointer wrappers. API usage and resource management patterns have changed.
This commit is contained in:
2026-03-15 20:48:54 +09:00
parent 3e4084c42a
commit 6cadd8edeb
278 changed files with 5387 additions and 12057 deletions

View File

@@ -0,0 +1,28 @@
// <auto-generated>
// This file is generated by Ghost.NativeWrapperGen. Do not edit manually.
// </auto-generated>
using System.Runtime.CompilerServices;
namespace Ghost.Ufbx;
public unsafe partial struct ufbx_blend_deformer
{
// From: ufbx_get_blend_vertex_offset(ufbx_blend_deformer*, nuint)
public Misaki.HighPerformance.Mathematics.float3 get_blend_vertex_offset(nuint vertex)
{
return Api.ufbx_get_blend_vertex_offset(
(ufbx_blend_deformer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
vertex);
}
// From: ufbx_add_blend_vertex_offsets(ufbx_blend_deformer*, Misaki.HighPerformance.Mathematics.float3*, nuint, float)
public void add_blend_vertex_offsets(Misaki.HighPerformance.Mathematics.float3* vertices, nuint num_vertices, float weight)
{
Api.ufbx_add_blend_vertex_offsets(
(ufbx_blend_deformer*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
vertices,
num_vertices,
weight);
}
}