Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion .github/workflows/xbox-host-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ on:
- ".github/workflows/xbox-host-ci.yml"
workflow_dispatch:

permissions:
contents: read

env:
# コンパイル検証に使う V8 ヘッダのバージョン (README「V8 の用意」と揃える)
V8_TAG: 13.7.152.19
Expand All @@ -39,7 +42,7 @@ jobs:
git clone --depth 1 --branch "$V8_TAG" --filter=blob:none --sparse \
https://github.com/v8/v8.git v8_headers
cd v8_headers && git sparse-checkout set include
- name: Run raster tests + ASan + V8 syntax check
- name: Run raster/stb tests + ASan + V8 syntax check
working-directory: templates/xbox
run: tests/check_local.sh "$GITHUB_WORKSPACE/v8_headers/include"

Expand Down Expand Up @@ -75,6 +78,14 @@ jobs:
if errorlevel 1 exit /b 1
raster_test.exe

- name: Build & run stb safety regression tests
shell: cmd
working-directory: templates/xbox
run: |
cl /nologo /std:c++17 /EHsc /W3 /O1 tests\stb_safety_test.cpp /Fe:stb_safety_test.exe
if errorlevel 1 exit /b 1
stb_safety_test.exe

- name: Build & run Windows platform tests (WIC/DirectWrite/MF/XAudio2/stb/dr)
shell: cmd
working-directory: templates/xbox
Expand Down
3 changes: 2 additions & 1 deletion .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ src
.gitattributes
.gitignore
eslint.config.mjs
tsconfig.json
tsconfig.json
docs
145 changes: 88 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,77 +1,108 @@
Multi-platform Builder
=============
# Multi-platform Builder

[![CodeQL](https://github.com/Next2D/builder/actions/workflows/github-code-scanning/codeql/badge.svg?branch=main)](https://github.com/Next2D/builder/actions/workflows/github-code-scanning/codeql)
[![Lint](https://github.com/Next2D/builder/actions/workflows/lint.yml/badge.svg?branch=main)](https://github.com/Next2D/builder/actions/workflows/lint.yml)
[![release](https://img.shields.io/github/v/release/Next2D/builder)](https://github.com/Next2D/builder/releases)
[![license](https://img.shields.io/github/license/Next2D/builder)](https://github.com/Next2D/builder/blob/main/LICENSE)

[日本語]\
1つのプロジェクトから多種多様なプラットフォーム向けのアプリケーションを作成するマルチプラットフォームビルダー。

* Steam:Steamに対応したWindows版、macOS版、Linux版のアプリケーションの書き出しが可能。
* デスクトップ:デスクトップ環境向けに、Windows、macOS、Linux向けのアプリケーションを出力できます。
* スマートフォン:iOSおよびAndroidに対応したスマートフォン用アプリケーションとしての書き出しもサポート。
* Web(HTML):ブラウザ上で動作するHTML形式のコンテンツも簡単に生成可能。

Next2D Frameworkを使えば、1つのソースコードから多様なデバイスやOSに最適化されたアプリケーションを効率的に開発・展開することができます。

[English]\
Multi-platform builder to create applications for a wide variety of platforms from a single project.

* Steam: Allows export of applications for Windows, macOS, and Linux versions that are compatible with Steam.
* Desktop: Export of applications for Windows, macOS, and Linux for desktop environments is supported.
* Smartphone: Export as smartphone applications compatible with iOS and Android is also supported.
* Web (HTML): Easily generate HTML-format content that runs in a browser.

With Next2D Framework, you can efficiently develop and deploy applications optimized for diverse devices and operating systems from a single source code.

## Supported

| platform | detail |
|-----------------|-------------------------------------|
| Windows | Export an exe file |
| macOS | Export dmg, app file |
| Linux | Export deb file |
| Steam:Windows | Export an exe file |
| Steam:macOS | Export dmg, app file |
| Steam:Linux | Export deb file |
| web | Export minfy'd JS files |
| iOS | open Xcode, and Export ipa |
| iOS | open Android Studio, and Export apk |
| Xbox | GDK native title (V8 + Dawn/WebGPU) |

Xbox exports a GDK native title that runs the Next2D JavaScript on the V8 engine and
renders with Dawn (WebGPU → D3D12), packaged as a C++ executable (no Electron/WebView).
Building the GDK package requires Windows + Visual Studio 2022 + Microsoft GDK + a devkit.
On other platforms the builder scaffolds the host project and stages assets only.
See the generated `xbox/README.md` for full build steps.

```bat
npx @next2d/builder --platform xbox --env prd
[日本語](#日本語) | [English](#english)

## 日本語

Next2D Frameworkの1つのプロジェクトから、複数のプラットフォーム向けにアプリケーションを書き出すビルダーです。
Steamおよびデスクトップ向けのWindows / macOS / Linux、スマートフォン向けのiOS / Android、Web(HTML)に対応しています。
Xbox対応は試作・開発段階です。

### 対応プラットフォーム

| プラットフォーム | 出力・対応状況 |
|---|---|
| Steam:Windows | 実行ファイル(.exe)と必要なリソース |
| Steam:macOS | アプリケーションバンドル(.app) |
| Steam:Linux | 実行ファイルと必要なリソース |
| Web | 最適化されたJavaScriptとWebアセット |
| iOS | Xcodeプロジェクトを開く、IPAを書き出す |
| Android | Android Studioプロジェクトを開く、APKを書き出す |
| Xbox | GDKネイティブホストの試作・開発段階 |

### プラットフォーム別ガイド

設定、依存ツール、書き出し・配布手順の詳細は、以下のドキュメントにまとめています。

| ガイド | 内容 |
|---|---|
| [Electron / Steam](docs/steam.md#日本語) | デスクトップ書き出し、アイコン、CPU、署名、Steam Depot、アップロード、ベータテスト |
| [iOS / Android(Capacitor)](docs/capacitor.md#日本語) | ネイティブ設定、SDK、プラグイン、ビルドコマンド、移行、Xcodeの設定 |
| [Xbox(試作)](docs/xbox.md#日本語) | 開発状況、ホスト生成、ビルド環境、検証範囲 |

### 今後の対応予定

| プラットフォーム |
|---|
| Nintendo Switch |

### ビルド例

```sh
npx @next2d/builder --platform web --env prd
```

The prebuilt V8 engine is downloaded automatically on the first Xbox build
(published from the `build-v8` workflow). To use your own build, pass
`--v8-root C:\path\to\v8`.
### プレビュー例

### Scheduled introduction
```sh
npx @next2d/builder --preview --platform web --env prd
```

### ライセンス

このプロジェクトは[MIT License](https://opensource.org/licenses/MIT)で公開しています。詳細は[LICENSE](LICENSE)を参照してください。

## English

Build applications for multiple platforms from a single Next2D Framework project.
The builder supports Windows / macOS / Linux for Steam and desktop distribution, iOS / Android for mobile devices, and Web (HTML).
Xbox support is a prototype under development.

### Supported platforms

| platform |
|-----------------|
| Platform | Output / status |
|---|---|
| Steam:Windows | Executable (.exe) and required resources |
| Steam:macOS | Application bundle (.app) |
| Steam:Linux | Executable and required resources |
| Web | Optimized JavaScript and web assets |
| iOS | Open the Xcode project and export an IPA |
| Android | Open the Android Studio project and export an APK |
| Xbox | Prototype GDK native host; under development |

### Platform guides

These guides cover platform-specific configuration, dependencies, builds and distribution.

| Guide | Contents |
|---|---|
| [Electron / Steam](docs/steam.md#english) | Desktop exports, icons, architectures, signing, Steam depots, uploads and beta testing |
| [iOS / Android (Capacitor)](docs/capacitor.md#english) | Native configuration, SDKs, plugins, build commands, migration and Xcode setup |
| [Xbox (prototype)](docs/xbox.md#english) | Development status, host generation, build environment and validation scope |

### Planned support

| Platform |
|---|
| Nintendo Switch |

### build example.
### Build example

```linux
```sh
npx @next2d/builder --platform web --env prd
```

### preview example.
### Preview example

```linux
```sh
npx @next2d/builder --preview --platform web --env prd
```

## License
This project is licensed under the [MIT License](https://opensource.org/licenses/MIT) - see the [LICENSE](LICENSE) file for details.
### License

This project is licensed under the [MIT License](https://opensource.org/licenses/MIT). See [LICENSE](LICENSE) for details.
Loading
Loading