// spellforge_native.h — C++ GDExtension 冒烟示例类
// 用途：证明 C++（GDExtension）环境可用。真实极限内核见 CLAUDE.md「编程语言规范」。
#pragma once

#include <godot_cpp/classes/ref_counted.hpp>
#include <godot_cpp/variant/packed_float32_array.hpp>

namespace godot {

class SpellforgeNative : public RefCounted {
	GDCLASS(SpellforgeNative, RefCounted)

protected:
	static void _bind_methods();

public:
	SpellforgeNative();
	~SpellforgeNative();

	// 冒烟：标量运算
	double multiply(double a, double b) const;
	// 冒烟：返回原生构建信息字符串
	String native_info() const;
	// 冒烟：原地就地缩放 PackedFloat32Array（演示零拷贝热路径写法：AsSpan 等价的 ptrw 直写）
	PackedFloat32Array scale_inplace(PackedFloat32Array data, float factor) const;
};

} // namespace godot
