包含三个子项目: - avatar-h5-renderer: Live2D Cubism 4 H5 渲染器 (Vite + TS) - avatar_flutter_app: Flutter 容器 App (打包 H5 进 WebView) - gif-export: puppeteer 导出 32 个动作的透明 GIF (供 ESP32 圆屏播放) 模型资源: Haru, Natori (含贴图、moc3、motions, expressions) 设计文档: AI驱动虚拟形象渲染方案_v5.1.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
52 lines
1.9 KiB
TypeScript
52 lines
1.9 KiB
TypeScript
/**
|
|
* Copyright(c) Live2D Inc. All rights reserved.
|
|
*
|
|
* Use of this source code is governed by the Live2D Open Software license
|
|
* that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
|
|
*/
|
|
|
|
/**
|
|
* メモリアロケーションを抽象化したクラス
|
|
*
|
|
* メモリ確保・解放処理をプラットフォーム側で実装して
|
|
* フレームワークから呼び出すためのインターフェース
|
|
*/
|
|
export abstract class ICubismAllocator {
|
|
/**
|
|
* アラインメント制約なしのヒープ・メモリーを確保します
|
|
*
|
|
* @param size 確保するバイト数
|
|
* @return 成功すると割り当てられたメモリのアドレス。そうでなければ'0'を返す
|
|
*/
|
|
public abstract allocate(size: number): any;
|
|
|
|
/**
|
|
* アラインメント制約なしのヒープ・メモリーを解放します。
|
|
*
|
|
* @param memory 解放するメモリのアドレス
|
|
*/
|
|
public abstract deallocate(memory: any): void;
|
|
|
|
/**
|
|
* アラインメント制約有のヒープ・メモリーを確保します。
|
|
* @param size 確保するバイト数
|
|
* @param alignment メモリーブロックのアラインメント幅
|
|
* @return 成功すると割り当てられたメモリのアドレス。そうでなければ'0'を返す
|
|
*/
|
|
public abstract allocateAligned(size: number, alignment: number): any;
|
|
|
|
/**
|
|
* アラインメント制約ありのヒープ・メモリーを解放します。
|
|
* @param alignedMemory 解放するメモリのアドレス
|
|
*/
|
|
public abstract deallocateAligned(alignedMemory: any): void;
|
|
}
|
|
|
|
// Namespace definition for compatibility.
|
|
import * as $ from './icubismallcator';
|
|
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
export namespace Live2DCubismFramework {
|
|
export const ICubismAllocator = $.ICubismAllocator;
|
|
export type ICubismAllocator = $.ICubismAllocator;
|
|
}
|