fix(client): address PR #25 review — 5 critical bugs, 4 warnings, 3 suggestions
Critical fixes: - hide_dialogue() sent PAUSE instead of UNPAUSE, permanently freezing simulation after every dialogue (both reviewers) - Confrontation monologue hardcoded in GDScript constant, violating D-042/D-020 — moved to ui-strings.yaml as dialogue.confrontation_beat - Walk-away WASD didn't call set_input_as_handled(), letting movement event propagate and potentially stepping on the same frame - is_dialogue_active() returned _is_showing only — interaction list could flash during 300ms fade gap. Now includes dialogue_active state - Removed dead _last_dialogue_id / get_dialogue_id() state (never read) Warnings addressed: - Audio registry now scans res://audio/ recursively (subdirs registered) - add_bus_effect guarded against duplicate calls in tests - int64 encoder dead code tagged KNOWN-DEFECT, filed as ticket #516 - D-073 zone crossfade stub comment clarifies Sprint 9+ deferral - listening_focus dip documents caller tick-gate responsibility (D-069/D-071) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -86,12 +86,12 @@ func test_encode_uint32() -> void:
|
||||
|
||||
func test_encode_int64_positive() -> void:
|
||||
# BV-P24 to BV-P25: int 64 range (2^32 to 2^63-1)
|
||||
# NOTE: The encoder's int_64 branch condition `-(1 << 63) <= v < (1 << 63)`
|
||||
# KNOWN-DEFECT: The encoder's int_64 branch condition `-(1 << 63) <= v < (1 << 63)`
|
||||
# evaluates to `MIN_INT64 <= v < MIN_INT64` due to overflow, making it dead code.
|
||||
# Values that should be int_64 (0xd3) are instead encoded as uint_64 (0xcf).
|
||||
# Roundtrip still works because put_u64/get_u64 preserve the bit pattern.
|
||||
# This test documents ACTUAL behavior. Fix the encoder condition to restore
|
||||
# int_64 encoding (use explicit constant instead of `1 << 63`).
|
||||
# This test documents ACTUAL behavior. Fix tracked in backlog.
|
||||
# See: messagepack.gd int_64 branch — use explicit constant instead of `1 << 63`.
|
||||
_assert_encodes_to(4294967296, PackedByteArray([
|
||||
0xcf, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00
|
||||
]), "BV-P24")
|
||||
@@ -138,7 +138,7 @@ func test_encode_int32_negative() -> void:
|
||||
|
||||
func test_encode_int64_negative() -> void:
|
||||
# BV-N15 to BV-N16: int 64 range (< -2147483648)
|
||||
# Same int_64 branch issue as positive int_64 — encoded as uint_64 (0xcf).
|
||||
# KNOWN-DEFECT: Same int_64 branch issue as positive int_64 — encoded as uint_64 (0xcf).
|
||||
# Bit pattern is preserved: put_u64(negative) writes two's complement,
|
||||
# get_u64() reads it back and Variant stores as int64 with same bit pattern.
|
||||
_assert_encodes_to(-2147483649, PackedByteArray([
|
||||
|
||||
Reference in New Issue
Block a user