diff --git a/docs/en/troubleshooting.md b/docs/en/troubleshooting.md index 5a38495..c01cb73 100644 --- a/docs/en/troubleshooting.md +++ b/docs/en/troubleshooting.md @@ -47,7 +47,7 @@ Keep the output directory (`res://ssab_generated` by default) intact, or move th ## A part is missing, everything else draws - **Text parts and 9-slice parts are not drawn yet.** They keep their slot in the draw order, so the animation plays with a hole in it. See [Limitations & Scope](limitations.md). -- **A part hidden on this frame** is hidden by the animation, not by the plugin. Check the timeline in SpriteStudio, and check that no [visibility override](workflow/usage_scripting.md#part-overrides-color-cell-visibility) is left over from a script. +- **A part hidden on this frame** is hidden by the animation, not by the plugin. Check the timeline in SpriteStudio, and check that no [visibility override](workflow/usage_scripting.md#part-overrides-color--cell--visibility) is left over from a script. - **A part inside an Instance part** cannot be addressed by name from the outside — the child animation runs as a separate player. The Instance part itself can. --- diff --git a/docs/ja/api/player.md b/docs/ja/api/player.md index 2b76b95..5a63005 100644 --- a/docs/ja/api/player.md +++ b/docs/ja/api/player.md @@ -53,7 +53,7 @@ func _ready() -> void: * `set_sub_frame_enabled(enabled: bool)` / `is_sub_frame_enabled() -> bool` (デフォルト: `false`) * `set_cellmap_texture(cellmap_name: String, texture: Texture2D)` / `get_cellmap_texture(cellmap_name: String) -> Texture2D` * `get_cellmap_names() -> PackedStringArray` / `get_cell_names(cellmap_name: String) -> PackedStringArray`: 割り当て済みの `SSABResource` から読んだ名前一覧(未割り当てなら空)。`set_part_cell_override()` に渡す名前を調べる用途です。まだプレーヤに載せていない `.ssab` を調べたい場合は [`SSABResource`](resource.md) 自身にも同じメソッドがあります。 -* `set_play_audio(enabled: bool)` / `is_play_audio() -> bool` (デフォルト: `true`)、`set_audio_volume(volume: float)` / `get_audio_volume() -> float`、`set_audio_backend(backend: SpriteStudioAudioBackend)` / `get_audio_backend() -> SpriteStudioAudioBackend`: 内蔵のサウンド再生。詳細は後述の [サウンド](#audio) を参照してください。 +* `set_play_audio(enabled: bool)` / `is_play_audio() -> bool` (デフォルト: `true`)、`set_audio_volume(volume: float)` / `get_audio_volume() -> float`、`set_audio_backend(backend: SpriteStudioAudioBackend)` / `get_audio_backend() -> SpriteStudioAudioBackend`: 内蔵のサウンド再生。詳細は後述の [サウンド](#サウンド-audio) を参照してください。 ### `set_playback_direction` の引数 @@ -146,7 +146,7 @@ SpriteStudio 上でユーザーデータに設定した値が `Dictionary` と ### `audio` の `payload` フィールド -タイムライン上のオーディオキーに設定された情報が `Dictionary` として渡されます。このシグナルは **観測用のチャンネル**で、再生方向を問わず、エディタ上でも、内蔵再生 (`play_audio`) のオン / オフに関わらず発火します。サウンドに反応したい場合や、再生そのものを置き換えたい場合に接続してください(後述の [サウンド](#audio) を参照)。 +タイムライン上のオーディオキーに設定された情報が `Dictionary` として渡されます。このシグナルは **観測用のチャンネル**で、再生方向を問わず、エディタ上でも、内蔵再生 (`play_audio`) のオン / オフに関わらず発火します。サウンドに反応したい場合や、再生そのものを置き換えたい場合に接続してください(後述の [サウンド](#サウンド-audio) を参照)。 | キー | 型 | 内容 | | --- | --- | --- | diff --git a/docs/ja/limitations.md b/docs/ja/limitations.md index 6990e32..229d947 100644 --- a/docs/ja/limitations.md +++ b/docs/ja/limitations.md @@ -1,6 +1,6 @@ # ⚠️ 仕様と制約事項 (Limitations & Scope) -現在の SpriteStudio Player for Godot でアプリを配信する際に把握しておくべき制約と、プラットフォーム固有の注意点をまとめています。サポートしている機能については [主な機能](index.md#key-features) および各ワークフローガイドを参照してください。 +現在の SpriteStudio Player for Godot でアプリを配信する際に把握しておくべき制約と、プラットフォーム固有の注意点をまとめています。サポートしている機能については [主な機能](index.md#主な機能-key-features) および各ワークフローガイドを参照してください。 > [!NOTE] > このドキュメントは随時更新されます。確認できた項目から追記しており、プラグインの進化に応じて記述や範囲が変わる場合があります。 diff --git a/docs/ja/setup/build.md b/docs/ja/setup/build.md index a61914e..0a7833e 100644 --- a/docs/ja/setup/build.md +++ b/docs/ja/setup/build.md @@ -24,7 +24,7 @@ git clone https://github.com/godotengine/godot-cpp.git -b master `godot-cpp` ディレクトリは GDExtension をビルドする場合に必要です。 > [!NOTE] -> SDK のリリース成果物を使う一般的なビルドでは、サブモジュール `ss_player/SpriteStudio-SDK/` の取得は不要です(`--recursive` を付けずにクローンして構いません)。SpriteStudio-SDK 自体を手元で開発・ビルドする場合のみ、後述の [SpriteStudio-SDK 開発者向け](#spritestudio-sdk) に従って `git submodule update --init --recursive` でサブモジュールを初期化してください。 +> SDK のリリース成果物を使う一般的なビルドでは、サブモジュール `ss_player/SpriteStudio-SDK/` の取得は不要です(`--recursive` を付けずにクローンして構いません)。SpriteStudio-SDK 自体を手元で開発・ビルドする場合のみ、後述の [SpriteStudio-SDK 開発者向け](#spritestudio-sdk-開発者向け) に従って `git submodule update --init --recursive` でサブモジュールを初期化してください。 ## ビルド環境のセットアップ @@ -70,7 +70,7 @@ Homebrew で配布されている `molten-vk` はホストアーキ向けのバ > `libssconverter` (`.sspj` → `.ssab` 変換ライブラリ) はデスクトップ向けにのみ同梱されます。iOS / Android / Web 向けの `libssruntime` パッケージには含まれません。 -`libssruntime` を SpriteStudio-SDK ソースから自前でビルドしたい場合は [SpriteStudio-SDK 開発者向け](#spritestudio-sdk) を参照してください。 +`libssruntime` を SpriteStudio-SDK ソースから自前でビルドしたい場合は [SpriteStudio-SDK 開発者向け](#spritestudio-sdk-開発者向け) を参照してください。 ## 2-A. GDExtension のビルド @@ -115,7 +115,7 @@ $env:PYTHONUTF8=1 各プラットフォーム向けに `editor` / `template_debug` / `template_release` を一括でビルドするスクリプトを `scripts/` 配下に用意しています。 内部では前述の `build.sh` / `build-extension.sh` を `target` を変えて連続実行する構成です。 -これらのスクリプトは `libssruntime` を取得・ビルドはしないため、事前に [1. libssruntime の用意](#1-libssruntime) を済ませておく必要があります。 +これらのスクリプトは `libssruntime` を取得・ビルドはしないため、事前に [1. libssruntime の用意](#1-libssruntime-の用意) を済ませておく必要があります。 ### GDExtension diff --git a/docs/ja/workflow/audio.md b/docs/ja/workflow/audio.md index a213ea3..e4a5d31 100644 --- a/docs/ja/workflow/audio.md +++ b/docs/ja/workflow/audio.md @@ -19,7 +19,7 @@ SpriteStudio で設定したサウンドパートは、**特別な準備なし | --- | --- | --- | --- | | `Play Audio` (`play_audio`) | bool | `true` | 内蔵プレイヤーが音を鳴らすかどうか。オフにすると `audio` シグナルを使って完全に自前で処理できます | | `Audio Volume` (`audio_volume`) | float | `1.0` | 内蔵ボイスに適用されるリニア音量 (`[0, 1]`)。バックエンドを割り当てている場合は無視されます | -| `Audio Backend` (`audio_backend`) | `SpriteStudioAudioBackend` | *(なし)* | 内蔵プレイヤーを置き換えます。[サウンドを別の基盤へ流す](#routing-audio-elsewhere)を参照 | +| `Audio Backend` (`audio_backend`) | `SpriteStudioAudioBackend` | *(なし)* | 内蔵プレイヤーを置き換えます。[サウンドを別の基盤へ流す](#サウンドを別の基盤へ流す-routing-audio-elsewhere)を参照 | ```gdscript @onready var ss_player: SpriteStudioPlayer2D = $SpriteStudioPlayer2D @@ -45,7 +45,7 @@ func _ready() -> void: - **`loop_num` はフラグではなく再生回数です。** SpriteStudio に無限ループのサウンドはありません。`1` なら 1 回、`n` なら連続して `n` 回再生します。 > [!NOTE] -> ゲームと一緒に一時停止する、ダッキングする、クロスフェードするといったサウンドが必要な場合は、`audio` シグナルか[バックエンド](#routing-audio-elsewhere)を使って自前で駆動してください。内蔵プレイヤーは、単純なケースを正確に実装することに意図的に絞っています。 +> ゲームと一緒に一時停止する、ダッキングする、クロスフェードするといったサウンドが必要な場合は、`audio` シグナルか[バックエンド](#サウンドを別の基盤へ流す-routing-audio-elsewhere)を使って自前で駆動してください。内蔵プレイヤーは、単純なケースを正確に実装することに意図的に絞っています。 --- @@ -115,5 +115,5 @@ func play_audio(payload: Dictionary, ssab: SSABResource, player: Node) -> void: ## 関連ページ - [スクリプト制御とイベント連携](usage_scripting.md) — 他のタイムラインイベント (`user_data` / `signal_emitted`) とスクリプト API 全般。 -- [SpriteStudioPlayer2D API](../api/player.md#audio) — このページのプロパティに対応するメソッドリファレンス。 +- [SpriteStudioPlayer2D API](../api/player.md#サウンド-audio) — このページのプロパティに対応するメソッドリファレンス。 - [制限事項](../limitations.md) — サウンドが共通ランタイムから引き継ぐ制約。 diff --git a/docs/ja/workflow/export.md b/docs/ja/workflow/export.md index 28167cf..8e45ef0 100644 --- a/docs/ja/workflow/export.md +++ b/docs/ja/workflow/export.md @@ -4,7 +4,7 @@ > [!IMPORTANT] > **エクスポートモードには生成アセットを落とすものがあります。** -> `.ssab` は画像・サウンド・Instance の参照先を*実行時のパス解決*で読むため、Godot エディタの依存グラフには現れません。「選択したシーン(と依存関係にあるもの)をエクスポート」のような依存ベースのモードではこれらが同梱されず、**起動はするのに絵が出ない**ビルドになります。詳細と対処は[生成アセットの構成と配信](generated_assets.md) の「エクスポートモードの選び方」を参照してください。 +> `.ssab` は画像・サウンド・Instance の参照先を*実行時のパス解決*で読むため、Godot エディタの依存グラフには現れません。「選択したシーン(と依存関係にあるもの)をエクスポート」のような依存ベースのモードではこれらが同梱されず、**起動はするのに絵が出ない**ビルドになります。詳細と対処は[生成アセットの構成と配信](generated_assets.md#エクスポートモードの選び方) を参照してください。 ## 共通 @@ -20,7 +20,7 @@ エクスポートダイアログで **Web** プリセット → **オプション** → **Extensions Support** を ON にします。GDExtension ライブラリは、エンジンテンプレートが動的リンクに対応している場合のみ Web で読み込まれます。このオプションが、そのテンプレートを使うよう Godot に指示します。 2. **dlink 対応の Web エクスポートテンプレートがインストールされている必要がある。** - 素の Godot Web テンプレートは GDExtension に対応していません。`web_nothreads_dlink_debug.zip` / `web_nothreads_dlink_release.zip` テンプレートを Godot のエクスポートテンプレートフォルダに導入しておく必要があります。これらのビルドと導入は上級者向けの手順で、[ビルドガイド → Web での GDExtension](../setup/build.md#web-gdextensionextensions-support-dlink) にまとめてあります。導入済みであれば、プリセット側は **Extensions Support** を ON にするだけで、Godot が適切なテンプレートを自動選択します。 + 素の Godot Web テンプレートは GDExtension に対応していません。`web_nothreads_dlink_debug.zip` / `web_nothreads_dlink_release.zip` テンプレートを Godot のエクスポートテンプレートフォルダに導入しておく必要があります。これらのビルドと導入は上級者向けの手順で、[ビルドガイド → Web での GDExtension](../setup/build.md#web-での-gdextensionextensions-support--dlink) にまとめてあります。導入済みであれば、プリセット側は **Extensions Support** を ON にするだけで、Godot が適切なテンプレートを自動選択します。 > [!WARNING] > Web ビルドが起動時に *「GDExtension libraries are not supported by this engine version…」* で失敗する場合、上記2つの要件のいずれかが欠けています(Extensions Support が OFF、または dlink テンプレートが未インストール)。 diff --git a/docs/ja/workflow/generated_assets.md b/docs/ja/workflow/generated_assets.md index 521cc4c..76c34aa 100644 --- a/docs/ja/workflow/generated_assets.md +++ b/docs/ja/workflow/generated_assets.md @@ -65,7 +65,7 @@ res://ssab_generated/overall/ > **出力先はプロジェクト内のどこでも構いません** > `res://ssab_generated` は既定値にすぎません。SS Import Dock の出力先には `res://` 配下の任意のフォルダを指定でき、その値はプロジェクト直下の `.ssplayer_sources.cfg` に入るため、**チームで同じ出力先を共有できます**。 > -> ただし **`.ssab` と画像・`sound/` の相対位置は保ってください**。下記のとおり参照は `.ssab` 自身のディレクトリを基準にしたパスなので、フォルダの中身を分けて配置すると解決に失敗します。生成後にフォルダごと移動すること自体はできますが、`.sspj` とのひも付けは追従しません(再リンクの手順は [アセットのインポートとエディタ連携](usage_asset_pipeline.md) の「制限事項とチーム開発時の注意点」にあります)。 +> ただし **`.ssab` と画像・`sound/` の相対位置は保ってください**。下記のとおり参照は `.ssab` 自身のディレクトリを基準にしたパスなので、フォルダの中身を分けて配置すると解決に失敗します。生成後にフォルダごと移動すること自体はできますが、`.sspj` とのひも付けは追従しません(再リンクの手順は [アセットのインポートとエディタ連携](usage_asset_pipeline.md#制限事項とチーム開発時の注意点) にあります)。 --- diff --git a/docs/ja/workflow/import.md b/docs/ja/workflow/import.md index 5883caa..3e1e793 100644 --- a/docs/ja/workflow/import.md +++ b/docs/ja/workflow/import.md @@ -37,7 +37,7 @@ SpriteStudio プロジェクト (`.sspj`) から Godot 用のアニメーショ 生成されたファイルを Godot プロジェクトの `res://` 配下の任意のディレクトリにコピーすることで、Godot 上で `SSABResource` / `SSQBResource` として読み込めるようになります。 > [!IMPORTANT] -> コピーするのは **`/` フォルダごと**です。`.ssab` は参照するテクスチャ・サウンド・Instance パーツの参照先を、自身のディレクトリを基準にしたパスで解決します。中身を分けて配置すると解決に失敗します。詳しくは [生成アセットの構成と配信](generated_assets.md) の「依存関係」を参照してください。 +> コピーするのは **`/` フォルダごと**です。`.ssab` は参照するテクスチャ・サウンド・Instance パーツの参照先を、自身のディレクトリを基準にしたパスで解決します。中身を分けて配置すると解決に失敗します。詳しくは [生成アセットの構成と配信](generated_assets.md#依存関係) を参照してください。 --- diff --git a/mkdocs.base.yml b/mkdocs.base.yml index eaea998..cc48c3b 100644 --- a/mkdocs.base.yml +++ b/mkdocs.base.yml @@ -82,6 +82,19 @@ plugins: # `> [!NOTE]` blockquote syntax as admonitions. Zensical parses it natively, so the plugin # is gone. See docs/*/stylesheets/extra.css for the one type it maps differently. markdown_extensions: + # Heading ids. Python-Markdown's default slugify strips every non-ASCII character, which on the + # Japanese site leaves half the headings with a positional `_1`, `_2` id -- unlinkable, and renumbered + # whenever a heading is added above them. This keeps the text, so `## 依存関係` is `#依存関係` and a + # ja page can be deep-linked like an en one. Nearly every ASCII heading slugifies the same either way, + # so the English ids stay put; the one exception is heading text containing ` / ` or ` & `, where the + # separator now collapses to a double hyphen (`…-color--cell--visibility`) -- six headings here, and + # every link into them is updated in the same commit. SpriteStudio-Docs, SSPlayerForUnity + # and SSPlayerForWgpu already set this; SSPlayerForFlutter and SSPlayerForRenPy still do not, and + # have the same unlinkable ja anchors this fixes. + - toc: + slugify: !!python/object/apply:pymdownx.slugs.slugify + kwds: + case: lower - admonition - pymdownx.details - pymdownx.superfences: