diff --git a/client/scripts/ability_cast_client.gd b/client/scripts/ability_cast_client.gd index 50bcd16..ca5b535 100644 --- a/client/scripts/ability_cast_client.gd +++ b/client/scripts/ability_cast_client.gd @@ -3,8 +3,8 @@ extends Node ## NEO-31: prototype HTTP client for `POST /game/players/{id}/ability-cast`. ## NEO-28: emits [signal cast_result_received] when the response body is JSON ## [AbilityCastResponse] v1. -## NEO-30: client-side [code]ability_cast_denied[/code] dev hook ([code]push_warning[/code] below); -## authoritative deny [code]reasonCode[/code] is decided in [code]AbilityCastApi.cs[/code] (comment hook sites). +## NEO-30: [code]ability_cast_denied[/code] dev hook ([code]push_warning[/code] below). Deny +## [code]reasonCode[/code] is authoritative in [code]AbilityCastApi.cs[/code] (comment hook sites). signal cast_result_received(accepted: bool, reason_code: String) @export var base_url: String = "http://127.0.0.1:5253" diff --git a/client/scripts/main.gd b/client/scripts/main.gd index 7d4db4f..7a4c5f5 100644 --- a/client/scripts/main.gd +++ b/client/scripts/main.gd @@ -208,13 +208,13 @@ func _on_authoritative_position(world: Vector3, apply_as_snap: bool) -> void: ## hooks for movement-driven lock refresh — we do not snap the capsule to this value ## (that is `authoritative_position_received`'s job on boot + move rejection). ## -## NEO-27 / NEO-31 / NEO-30: Slice 3 [code]ability_cast_requested[/code] — dev [code]print[/code] from -## [method _request_hotbar_cast_slot] only after [code]request_cast[/code] on -## [code]AbilityCastClient[/code] returns [code]true[/code] (POST queued on [code]HTTPRequest[/code]). -## Authoritative server hook comments: [code]server/.../AbilityCastApi.cs[/code] (accept path). -## [code]ability_cast_denied[/code] — [code]push_warning[/code] from [code]ability_cast_client.gd[/code] on JSON deny; -## NEO-28 [member _cast_feedback_label]; server deny branches annotated in [code]AbilityCastApi.cs[/code]. -## TODO(E9.M1): telemetry schema + ingest for both names. +## NEO-27 / NEO-31 / NEO-30: Slice 3 [code]ability_cast_requested[/code] — [code]print[/code] from +## [method _request_hotbar_cast_slot] after [code]request_cast[/code] returns [code]true[/code] +## (POST queued on [code]HTTPRequest[/code]). +## Server hooks: [code]AbilityCastApi.cs[/code] (accept path). [code]ability_cast_denied[/code]: +## [code]push_warning[/code] in [code]ability_cast_client.gd[/code]. +## HUD [member _cast_feedback_label] (NEO-28). Deny branches in [code]AbilityCastApi.cs[/code]. +## TODO(E9.M1): catalog + ingest. func _on_authoritative_ack_for_hud(world: Vector3) -> void: _last_ack_world = world _have_last_ack = true diff --git a/client/test/ability_cast_client_test.gd b/client/test/ability_cast_client_test.gd index 2145352..582c3a5 100644 --- a/client/test/ability_cast_client_test.gd +++ b/client/test/ability_cast_client_test.gd @@ -3,7 +3,7 @@ extends GdUnitTestSuite # main.gd sets base_url/dev_player_id on AbilityCastClient from the same authority block as # HotbarLoadoutClient (NEO-31). # NEO-30: Slice 3 ability_cast_denied dev warning includes reasonCode from AbilityCastResponse; -# server deny hook sites are documented in AbilityCastApi.cs. +# server deny hook sites are documented in AbilityCastApi.cs (gdlint: script doc lines <= 100 cols). const CastClient := preload("res://scripts/ability_cast_client.gd")