Remove superseded contributor material

This commit is contained in:
Alexander Sellite 2026-08-21 16:39:33 -04:00
parent b2752b1074
commit f45550e46b
165 changed files with 155 additions and 2158 deletions

View file

@ -1,38 +0,0 @@
extends SceneTree
func _initialize() -> void:
call_deferred("_run")
func _run() -> void:
assert(NetworkChatProtocol.sanitize_body(42).is_empty())
assert(NetworkChatProtocol.sanitize_body(" a ") == "a")
assert(NetworkChatProtocol.sanitize_body("a b") == "a b")
assert(NetworkChatProtocol.sanitize_body("a\tb\nc") == "a b c")
assert(NetworkChatProtocol.sanitize_body(" !hello!? ") == "!hello!?")
assert(NetworkChatProtocol.sanitize_body("!!!") == "!!!")
const em_space := "" # U+2003 EM SPACE
const zero_width_space := "" # U+200B ZERO WIDTH SPACE
const braille_blank := "" # U+2800 BRAILLE PATTERN BLANK
const invisible_padding := em_space + zero_width_space + braille_blank
assert(
NetworkChatProtocol.sanitize_body(invisible_padding + "a" + invisible_padding)
== "a"
)
assert(NetworkChatProtocol.sanitize_body(invisible_padding).is_empty())
assert(NetworkChatProtocol.sanitize_body(" \t\n" + invisible_padding).is_empty())
assert(
NetworkChatProtocol.sanitize_body("a".repeat(
NetworkChatProtocol.MAX_VISIBLE_CHARACTERS
)).length() == NetworkChatProtocol.MAX_VISIBLE_CHARACTERS
)
assert(
NetworkChatProtocol.sanitize_body("a".repeat(
NetworkChatProtocol.MAX_VISIBLE_CHARACTERS + 1
)).is_empty()
)
print("Chat validation: PASS")
quit(0)

View file

@ -1 +0,0 @@
uid://ohemhv2sf5g4

View file

@ -964,20 +964,19 @@ func _validate_profile_voice_navigation() -> void:
for item: Variant in page.call("_controls_under", sample_grid):
sample_buttons.append(item as Control)
_expect(
sample_buttons.size() == 3,
"The voice-set row must expose kat, robot, and kim.",
sample_buttons.size() == 1,
"The voice-set row must expose the project-owned robot set.",
)
if sample_buttons.size() != 3:
if sample_buttons.size() != 1:
page.queue_free()
await process_frame
return
var kat_button := sample_grid.get_node("VoiceSet_kat") as Button
var robot_button := sample_grid.get_node("VoiceSet_robot") as Button
var kim_button := sample_grid.get_node("VoiceSet_kim") as Button
_expect(kat_button.text == "kat", "The default voice set is not labeled kat.")
_expect(robot_button.text == "robot", "The tone voice set is not labeled robot.")
_expect(kim_button.text == "kim", "The kim voice set is not labeled kim.")
_expect(kat_button.button_pressed, "The kat voice set is not selected by default.")
_expect(
robot_button.button_pressed,
"The project-owned robot voice set is not selected by default.",
)
var option_controls: Array[Control] = []
var option_groups: Array = page.call("_controller_option_groups")
for item: Variant in option_groups[0]:
@ -992,12 +991,12 @@ func _validate_profile_voice_navigation() -> void:
),
"The controller voice zone does not contain every voice setting.",
)
_assert_directionally_reachable(kat_button, option_controls)
var kat_down := kat_button.get_node_or_null(
kat_button.focus_neighbor_bottom
_assert_directionally_reachable(robot_button, option_controls)
var robot_down := robot_button.get_node_or_null(
robot_button.focus_neighbor_bottom
) as Control
_expect(
kat_down != null and pitch_grid.is_ancestor_of(kat_down),
robot_down != null and pitch_grid.is_ancestor_of(robot_down),
"Down from the voice-set row does not enter the pitch row.",
)
if OS.has_environment("NETFISHING_PROFILE_VOICE_CAPTURE"):
@ -1021,18 +1020,6 @@ func _validate_profile_voice_navigation() -> void:
str(page.get("_draft_sample_set_id")) == "robot",
"Selecting robot did not update the profile draft.",
)
kim_button.grab_focus()
kim_button.button_pressed = true
kim_button.pressed.emit()
await process_frame
_expect(
root.gui_get_focus_owner() == kim_button,
"Selecting kim moved controller focus out of the voice-set row.",
)
_expect(
str(page.get("_draft_sample_set_id")) == "kim",
"Selecting kim did not update the profile draft.",
)
var category_controls: Array[Control] = []
for item: Variant in page.call(
"_controls_under", page.get("_category_list")

View file

@ -0,0 +1,55 @@
extends SceneTree
const EDGE_PADDING: String = " \t\n"
func _initialize() -> void:
call_deferred("_validate_protocol")
func _validate_protocol() -> void:
_validate_type_and_empty_handling()
_validate_message_cleanup()
_validate_protocol_limits()
print("Network chat protocol validation: PASS")
quit()
func _validate_type_and_empty_handling() -> void:
assert(NetworkChatProtocol.sanitize_body(null) == "")
assert(NetworkChatProtocol.sanitize_body(42) == "")
assert(NetworkChatProtocol.sanitize_body(EDGE_PADDING) == "")
assert(NetworkChatProtocol.sanitize_body("\u0001") == "")
func _validate_message_cleanup() -> void:
assert(NetworkChatProtocol.sanitize_body(" hello ") == "hello")
assert(NetworkChatProtocol.sanitize_body("a\tb\nc") == "a b c")
assert(NetworkChatProtocol.sanitize_body("word word") == "word word")
assert(NetworkChatProtocol.sanitize_body(" !!! ") == "!!!")
assert(
NetworkChatProtocol.sanitize_body(
EDGE_PADDING + "visible" + EDGE_PADDING
) == "visible"
)
func _validate_protocol_limits() -> void:
var maximum_body: String = "a".repeat(
NetworkChatProtocol.MAX_VISIBLE_CHARACTERS
)
assert(NetworkChatProtocol.sanitize_body(maximum_body) == maximum_body)
assert(
NetworkChatProtocol.sanitize_body(maximum_body + "a") == ""
)
var maximum_utf8_body: String = "🐟".repeat(
NetworkChatProtocol.MAX_VISIBLE_CHARACTERS
)
assert(
maximum_utf8_body.to_utf8_buffer().size()
== NetworkChatProtocol.MAX_UTF8_BYTES
)
assert(
NetworkChatProtocol.sanitize_body(maximum_utf8_body)
== maximum_utf8_body
)

View file

@ -0,0 +1 @@
uid://bj7nq2k6q5c7f

View file

@ -53,7 +53,7 @@ func _run_host() -> void:
"deep",
profile.speech_speed_id,
profile.call_id,
"kim",
"robot",
))
var save_manager := main.get("_save_manager") as PlayerSaveManager
assert(session.start_private_host(TEST_PORT))
@ -62,7 +62,7 @@ func _run_host() -> void:
) as Player
assert(local_avatar != null)
assert(local_avatar.get_animalese_voice_id() == "deep")
assert(local_avatar.get_animalese_sample_set_id() == "kim")
assert(local_avatar.get_animalese_sample_set_id() == "robot")
assert(save_manager.initialize_new_game())
main.call("_enter_gameplay")
for _frame: int in 4:
@ -114,7 +114,7 @@ func _run_host() -> void:
await process_frame
assert(not voice_messages.is_empty())
assert(str(voice_messages[0].get("voice_id", "")) == "deep")
assert(str(voice_messages[0].get("sample_set_id", "")) == "kim")
assert(str(voice_messages[0].get("sample_set_id", "")) == "robot")
var disconnect_deadline: int = Time.get_ticks_msec() + 8000
while (
Time.get_ticks_msec() < disconnect_deadline
@ -182,7 +182,7 @@ func _run_client() -> void:
"deep",
service.get_persisted_speech_speed_id(),
service.get_persisted_call_id(),
"kim",
"robot",
))
var apply_deadline: int = Time.get_ticks_msec() + 8000
while Time.get_ticks_msec() < apply_deadline and apply_results.is_empty():
@ -191,11 +191,11 @@ func _run_client() -> void:
assert(bool(apply_results[0][0]))
assert(service.get_persisted_appearance() == changed)
assert(service.get_persisted_voice_id() == "deep")
assert(service.get_persisted_sample_set_id() == "kim")
assert(service.get_persisted_sample_set_id() == "robot")
assert(Dictionary(session.get("_local_appearance_snapshot")) == changed)
var player := main.get_node("%PlayerSpawnService").get_local_player() as Player
assert(player.get_animalese_voice_id() == "deep")
assert(player.get_animalese_sample_set_id() == "kim")
assert(player.get_animalese_sample_set_id() == "robot")
var host_voice_messages: Array[Dictionary] = []
for message: Dictionary in chat_service.get_history():
if str(message.get("body", "")) == HOST_VOICE_MESSAGE:
@ -217,8 +217,8 @@ func _run_client() -> void:
host_voice_messages.append(message)
assert(not host_voice_messages.is_empty())
assert(str(host_voice_messages[0].get("voice_id", "")) == "deep")
assert(str(host_voice_messages[0].get("sample_set_id", "")) == "kim")
assert(remote_voice_samples.has("kim"))
assert(str(host_voice_messages[0].get("sample_set_id", "")) == "robot")
assert(remote_voice_samples.has("robot"))
var local_confirmations: Array[Dictionary] = []
chat_service.local_message_confirmed.connect(
func(message: Dictionary) -> void:
@ -238,7 +238,7 @@ func _run_client() -> void:
await process_frame
assert(not local_confirmations.is_empty())
assert(str(local_confirmations[0].get("voice_id", "")) == "deep")
assert(str(local_confirmations[0].get("sample_set_id", "")) == "kim")
assert(str(local_confirmations[0].get("sample_set_id", "")) == "robot")
print("Profile multiplayer client validation: PASS")
await _session_cleanup(main, session)

View file

@ -155,12 +155,6 @@ func _run() -> void:
var adamantris_credit := credits_page.get_node(
"Paper/Margin/Layout/Columns/CreativeCredits/AdamantrisCredit"
) as Label
var tekgator_name := credits_page.get_node(
"Paper/Margin/Layout/Columns/CreativeCredits/TekgatorName"
) as Label
var tekgator_credit := credits_page.get_node(
"Paper/Margin/Layout/Columns/CreativeCredits/TekgatorCredit"
) as Label
var credits_paper := credits_page.get_node("Paper") as PanelContainer
var audio_credits := credits_page.get_node(
"Paper/Margin/Layout/Columns/AdditionalCredits/AudioCredits"
@ -187,27 +181,11 @@ func _run() -> void:
and "texture artwork" in adamantris_credit.text.to_lower(),
"in-game credits describe adamantris's hand-net contribution",
)
_expect(
tekgator_name.text == "Tekgator",
"in-game credits name Tekgator",
)
_expect(
"shop icon" in tekgator_credit.text.to_lower(),
"in-game credits describe Tekgator's shop icon artwork",
)
_expect(
"kat • animalese voice sample" in audio_credits.text,
"in-game credits name kat's animalese voice contribution",
)
_expect(
"kim • animalese voice sample" in audio_credits.text,
"in-game credits name kim's animalese voice contribution",
)
_expect(
credits_paper.get_global_rect().encloses(
tekgator_credit.get_global_rect()
audio_credits.get_global_rect()
),
"contributor credits stay inside the authored credits panel",
"audio credits stay inside the authored credits panel",
)
title_screen.queue_free()