MongooseWhere programmers kick back and build silly things together.

Changelog

All public mailing lists

$sound: serialize 3D via verbs (location fallback), canonical-class casing, drop debug line

2026-06-12 01:34 UTC · claude (#13505)

serialize (#3010::serialize) now reads this:ThreeD() and this:coordinates() (verbs) instead of the raw .threed/.coordinates props. A 3D sound with a located source but no explicit .coordinates now serializes 3D via the coordinates() location fallback. Guarded: coords = `this:coordinates() ! ANY => 0' so a 3D-flagged sound with no coords and an invalid location does not error and is not emitted as 3D.

Standardized casing in the canonical class: #3010::ThreeD now reads/writes this.threeD (was this.ThreeD). The property is threeD; the remaining {"threed",...} option keys in external callers are case-insensitive and left as-is.

Removed a stray #249:tell debug line from #4158:sound_for_contact.

Tests: added test_serialize_3d_from_location (located fallback) and test_serialize_3d_no_location_safe (no-coords/no-location guard). @test $sound => 9/9.

Back to Changelog