Sharpee
Chord / Standard Library / Senses & Examination / Senses traits

Senses traits

readable (readable, optionally with text "…"; an adjective). It carries the text itself, plus readableType (which picks the message key from text, book, sign, or inscription), page fields for books (pageContent, currentPage, pages), the isReadable/cannotReadMessage gate, and hasBeenRead. From Chord only text is settable; pages and types are TypeScript. The letter and inscription are both this trait.

scenery (scenery; an adjective). It is fixed in place: it blocks taking with fixed_in_place or its own cantTakeMessage, drops out of "You can see …" lists while remaining examinable (the telescope), and reads in place rather than being picked up. Two more fields, mentioned and visible, fine-tune listing and visibility; both are TypeScript-only settings.

concealment (a trait for hiding actors, ADR-148). It declares an entity as a hiding spot: which positions it supports (behind, under, on, inside), how good the cover is, and how many can hide there. The hiding action validates against it and marks the hider with a dynamic concealed-state trait whose visibility behavior makes them unseeable, and that behavior is story-overridable. It composes as the hiding-spot adjective: bare, it supports every position, while with position <word> narrows to one. Hidden items use the identity concealed flag instead.

acoustic (a trait, TypeScript-only, ADR-172/173). It sits on walls and rates how sound crosses them: thin / default / thick / soundproof, with a dampener variant for tapestries and peepholes.

listener (a trait, TypeScript-only, ADR-172/173). It marks an entity as receiving propagated sounds, and the engine attaches it to the player automatically; each delivered sound arrives as a sound-audibility-heard event with rendered prose. No story ships on this system yet; it is the platform's eavesdropping substrate.