You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d5f6ebe
Browse filesBrowse the repository at this point in the historyBrowse files
optical channel: time is the fourth carrier, and the wink was never a metaphor
Flashing a code at a recorder is literally winking at the camera, in every sense the word carries.
A timed blink of light aimed at a lens. An aside to the audience — the object breaks frame to
address the one viewer who can read it while the scene continues. Something you SEE someone do, so
it cannot happen behind the player's back. And a trigger with meaning attached, which is the
definition the LLOOOOMM fiction already gave its consciousness camera. The engineering arrived at
the same gesture from the other end.
So time joins symbol, bands and text as a carrier. A band costs pixels side by side and reads in
one frame; a wink costs one pixel and many frames. Same few bits, opposite budgets, and the reader
spends whichever it has — which is why zooming out slows the conversation instead of ending it.
Cheap, because the recorder already timestamps every frame in the ring. Robust, because brightness
over time is the last thing standing after downscaling, blur, moire and a hand-held phone. Bounded
to an index into the object's fixed signal set, at rates that read as a pulse rather than a strobe.
And never silent: the carrier is the same light the player is looking at, so a whispering version
of this channel is not disallowed, it is unavailable.
Also adds the interpretive layer to the semantic recorder, with the ordering that keeps it fun.
Dreams, readings and what-it-meant are the good part and a model is good at them, but every
interpretive field goes to the human blank first. Not only manners: a first reading is
unrecoverable, and showing someone a machine's guess overwrites the sentence they were going to
write. Anything generated opens as editable text, and editing it moves the byline to the player.
Speculation stays in its own ply, styled as speculation, strippable by query, never folded into
the record underneath.
Copy file name to clipboardExpand all lines: apps/screen-angel/EGGS.yml
+10Lines changed: 10 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -136,6 +136,16 @@ visual_design:
136
136
the_problem: "Bloom and emissive glow wreck colour fidelity, and glare is the worst failure case for a phone camera (MOBILE-CAMERA.yml, off_a_screen_is_harder)."
137
137
the_fix: "Light is never the carrier of band data. And while an egg is being read closely it dims itself — an object that cooperates with its own reader, which is available precisely because we author both ends."
138
138
the_ordering: "Far: is anything lit. Middle: what kind. Near: the bands. Dimmed and closest: the full code. Then the dialog."
139
+
the_wink:
140
+
what_it_is: "A blink: the egg brightens for a known number of frames, in a known rhythm, and goes back to its resting state. Light that carries a value in TIME rather than in space."
141
+
it_is_literally_a_wink: "One eye, one beat, aimed at the camera, meaning attached, and visible to everyone else in the room. That is not an analogy for the gesture — the word already covers this. The fiction's consciousness camera captured winks (modules/soul-angel/UNIVERSAL-JOBS.yml, ubikam); an egg signalling a recorder does the same thing with a lamp and a clock."
142
+
it_breaks_frame_on_purpose: "A wink is an aside to the audience: the object addresses the one viewer who can read it while the scene continues uninterrupted. Nothing in the simulation has to stop, and no other character has to notice."
143
+
why_time_is_worth_a_carrier:
144
+
it_needs_almost_no_area: "A band needs pixels side by side. A blink needs one pixel and a few frames, so a value that will not fit in the art at this zoom fits in the schedule. Space and time trade against each other and the reader can spend whichever it has."
145
+
the_clock_is_already_frame_accurate: "The recorder timestamps every frame it keeps (../RECORDER.yml). Reading a rhythm costs nothing extra when the ring already knows exactly when each frame arrived."
146
+
it_survives_the_things_that_kill_detail: "Downscaling, blur, moire and a phone held at arm length all destroy fine spatial structure and leave brightness over time almost untouched (MOBILE-CAMERA.yml, off_a_screen_is_harder)."
147
+
the_rate_is_bounded: "Slow enough to be pleasant to watch and safe — no photosensitive-trigger frequencies, and never faster than the game's own frame budget can hold steady. A wink is a few bits, deliberately: enough to say which of my fixed signals this is, never enough to smuggle a payload."
148
+
nothing_transmits_silently: "Every message this channel sends is a visible change in a lit object. The player can always see that the egg said something, and can open it to read what. A covert channel is not merely disallowed here, it is unavailable — the carrier is the same light the player is looking at."
139
149
legible_to_both_readers: "A player learns 'gold cap band means news' in one session, and the reader decodes the same stripes numerically. One artifact, two audiences, which is the property the whole optical channel rests on (OPTICAL-CHANNEL.yml, the_player_reads_it_too)."
140
150
authored_once: "Shape, bands, caps, palettes, states and the DGRP table are emitted by the same compile that emits the menu tree and the verb registry (compiled_from_one_source)."
Copy file name to clipboardExpand all lines: apps/screen-angel/OPTICAL-CHANNEL.yml
+23-3Lines changed: 23 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -110,14 +110,33 @@ text_is_the_wide_carrier:
110
110
symbol: "WHICH channel and which of this object's fixed signals. Verified against the registry, unforgeable at runtime."
111
111
bands: "Small live values worth showing continuously, checked, from a closed palette."
112
112
text: "Everything else, in words, unbounded, human first."
113
+
time: "WHEN, and which fixed signal, from an object that must stay in the room and cannot open a dialog. A few bits carried in a blink (time_is_the_fourth_carrier)."
113
114
the_failure_mode_is_legible: "Misread text is a wrong word a person can see is wrong. That is a far better failure than a misdecoded blob, and it can be surfaced verbatim before anything acts on it."
114
115
115
-
# WHAT THE THREE CARRIERS ADD UP TO
116
+
# TIME: THE CARRIER THAT COSTS NO PIXELS
117
+
#
118
+
# Flashing a code at a recorder is LITERALLY winking at the camera — a timed blink of light,
119
+
# aimed at a lens, with meaning attached, that everyone in the room can see happen. The gesture
120
+
# the LLOOOOMM fiction gave its consciousness camera turns out to be the cheapest carrier we have
what: "A known number of frames of brightness change, in a known rhythm. The value is in the schedule, not in the picture."
125
+
what_it_is_for: "Objects that must remain in the world and cannot pop a dialog, at zoom levels where no spatial detail survives. Chiefly: an egg saying which of its fixed signals just became true (EGGS.yml, the_wink)."
126
+
the_trade: "A band costs pixels side by side and is read in one frame. A wink costs one pixel and many frames. Same few bits, opposite budgets, and the reader spends whichever it has — which is why zooming out does not end the conversation, it only slows it down."
127
+
cheap_to_read: "The recorder already timestamps every frame it keeps (../RECORDER.yml). A rhythm is a diff over frames the ring is holding anyway, needing no decode, no rectification and no model."
128
+
robust: "Brightness over time is the last signal standing after downscaling, blur, moire and a hand-held phone (MOBILE-CAMERA.yml). It is the bottom rung of the ladder, below kind, at the range where the egg is two pixels."
129
+
bounded_by_construction:
130
+
few_bits: "An index into this object's fixed symbol set, plus a frame marker. Never a payload — the specifics still go in words (text_is_the_wide_carrier)."
131
+
kind_to_watch: "Rates chosen to look like a pulse rather than a strobe, avoiding photosensitive-trigger frequencies, and never faster than the game holds a steady frame."
132
+
never_silent: "The carrier is the same light the player is looking at, so every transmission is a visible event in the world. There is no version of this channel that whispers."
133
+
134
+
# WHAT THE FOUR CARRIERS ADD UP TO
116
135
#
117
136
# Not a protocol bolted onto a game — a bus whose alphabet is enumerable on both sides.
118
137
119
138
the_bus:
120
-
deterministic: "Out: a closed set of symbols, a closed palette of bands, and text from templates the compile emitted. Back: a declared tree of buttons. Every legal message in either direction is enumerable before the game runs, which is what makes this testable rather than hopeful — the compile can generate the conformance suite for its own channel."
139
+
deterministic: "Out: a closed set of symbols, a closed palette of bands, a closed set of blink rhythms, and text from templates the compile emitted. Back: a declared tree of buttons. Every legal message in either direction is enumerable before the game runs, which is what makes this testable rather than hopeful — the compile can generate the conformance suite for its own channel."
121
140
two_way: "Out through the screen, back through the controls. Neither direction needs the game to cooperate beyond drawing its own dialogs and honouring its own buttons."
122
141
three_ways_drivable:
123
142
human: "Reads the words, clicks the button. This is just playing the game."
@@ -212,7 +231,7 @@ compiled_from_one_source:
212
231
request_edit: "Hand a captured selection plus a brief to the editing model. The creative verb, and the one with no authority attached."
213
232
what_is_deliberately_absent: "No verb writes a save file, spends money, publishes anything, or launches anything. The channel exists to describe moments, not to reach into the host."
214
233
215
-
#THREE CARRIERS, DIFFERENT BANDWIDTH
234
+
#FOUR CARRIERS, DIFFERENT BANDWIDTH
216
235
#
217
236
# A symbol is a one-shot burst in a dialog: a fixed token, once. Text is the wide one and
218
237
# carries the specifics in words (text_is_the_wide_carrier). And some things need to be
@@ -221,6 +240,7 @@ compiled_from_one_source:
221
240
222
241
sprite_codes:
223
242
what: "An in-world object drawn to be recognized: a big, color-coded easter egg whose appearance states its KIND and its STATE, continuously, at a glance."
243
+
and_it_can_blink: "A sprite that stays in the room can also carry a few bits in time, which is what makes the far end of the zoom ladder two-way instead of merely visible (time_is_the_fourth_carrier)."
224
244
why_not_just_use_qr_for_this:
225
245
persistence: "A QR code lives in a dialog that opens and closes. An egg sits in the room for a week. Continuous presence is the requirement, and a code that must be modal cannot meet it."
226
246
legible_when_small: "A QR code needs enough pixels to decode. A saturated color blob with a distinct silhouette is recognizable at any zoom the game offers, and games are played zoomed out."
Copy file name to clipboardExpand all lines: apps/screen-angel/modules/soul-angel/UNIVERSAL-JOBS.yml
+23-6Lines changed: 23 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -42,8 +42,31 @@ the_semantic_video_recorder:
42
42
ubikam: "A character in the LLOOOOMM corpus, which is FICTION: moollm temp/lloooomm/00-Characters/ubikam/ubikam.yml. 'The consciousness camera. Takes semantic selfies that capture internal state as art.' In the mythology Shneiderman brought it into being by describing it, it captures winks that outlive their moment, and its name crosses Mark Weiser's ubiquitous computing with Philip K. Dick's Ubik."
43
43
what_the_fiction_got_right: "Its SELFIE record is title, short post, long post, internal state, external state, and chosen output format — which is the album card and the correspondent formats, specified in a story before it was specified here (SOUL-ALBUM.yml, publication_surfaces above)."
44
44
the_wink_as_a_trigger: "In the fiction a wink at the camera is a capture command with meaning attached. That is a real interaction worth having: one gesture that says mark this AND says why, rather than a mark the player has to explain later (../../STUDIO.yml, cues)."
45
+
the_wink_is_not_a_metaphor_here: "An egg flashing its code at the recorder is a wink in every sense the word has. It is a timed blink of light aimed at a lens. It is an aside to the audience — the object breaking frame to address the one viewer who can read it, while the scene carries on. It is consensual and legible: a wink is something you SEE someone do, so the object cannot signal without the player watching it signal. And it is a trigger with meaning attached, which is the fiction's own definition. The optical channel arrived at the gesture from the engineering end (../../EGGS.yml, the_wink; ../../OPTICAL-CHANNEL.yml, time_is_the_fourth_carrier)."
45
46
what_we_do_not_take_from_it: "No sentience, and no claims about interior states. A semantic record says what was on screen, what changed, and who did it. What a character felt is only in the record if that character's own files say so, and it is attributed to them."
46
47
48
+
# DREAMS AND READINGS
49
+
#
50
+
# The factual record is the floor, not the ceiling. What a night meant, what the recurring
51
+
# image was about, what the family is actually doing to each other — that is the fun, and a
52
+
# model is good at it. The order of play is what keeps it fun instead of insulting.
53
+
54
+
the_interpretive_layer:
55
+
what_it_is: "A second ply over the record: dreams, readings, symbolism, what-it-meant, the sense a stretch of footage makes when someone tells it as a story. Speculative by definition and marked as such."
56
+
the_player_dreams_first:
57
+
the_rule: "Every interpretive field is offered to the human before it is offered to a model. Blank, with the footage, with room to write. The model only ever gets a turn after the player has had one, or has explicitly passed."
58
+
why_it_is_not_only_manners: "A first reading is unrecoverable data. Show someone a machine's interpretation and you have overwritten the one they were going to have — anchoring is not a bias you can ask them to ignore. Whatever they write unprompted is the most interesting sentence in the file, and it exists only if nothing spoke ahead of it."
59
+
passing_is_a_real_answer: "'You dream this one' is a supported choice, recorded as a choice, and reversible later. Never a default, and never the fast path."
60
+
everything_generated_is_a_draft:
61
+
editable_in_place: "Any generated line opens as text a player can rewrite, cut, or replace wholesale. There is no interpretive field a person can only accept or reject."
62
+
edited_means_theirs: "Touch a generated line and the byline changes: the player is the author, the model is credited as a draft source. Untouched, it stays the model's, said so on the card."
63
+
deletable_without_a_trace_in_the_record: "Dropping a reading removes it. The factual segment underneath is unaffected, because it never depended on it."
64
+
it_never_mixes_with_the_record:
65
+
separate_ply: "Readings live in their own layer with their own provenance, not folded into the segment's fields. A query can ask for the record with no interpretation in it and get exactly that."
66
+
visibly_different: "Speculation is styled as speculation on album cards and in the timeline. A reader should never have to check a field to tell whether a sentence is a claim about pixels or a claim about meaning."
67
+
dreams_as_a_beat: "A character can hold the night beat: her own dreams, in her voice, as album cards. Which is the one place first-person interior content is legitimate — it is authored by whoever owns that soul, human or model, and attributed to them (soul_domain, SOUL-ALBUM.yml)."
68
+
the_literary_warrant: "Perky Pat and A Scanner Darkly are already the reference frame for a character watching her own household (moollm designs/sims/sims-pkd-perky-pat-and-a-scanner-darkly.md). Dick's own warning is the same as the rule above: the danger arrives when the interpretation stops being marked as one."
69
+
47
70
the_job_model:
48
71
what_a_job_is: "A standing brief attached to a character: a beat, a voice, an output kind, and a scope. Not a script, not a schedule — a description of what this correspondent is interested in and what she produces."
49
72
fields:
@@ -66,12 +89,6 @@ catalogue:
66
89
architecture_critic: "The built environment — a beat that works in a city sim with no people in it at all."
67
90
archivist: "No voice, no story. Keeps the record complete, indexed and findable, which is the least glamorous job here and the one that makes the others possible later."
68
91
biographer: "One subject, long arc, across sessions and across games."
69
-
household_diarist:
70
-
what: "The character's own home is the beat. She takes the job in this layer rather than in another game, so her body leaves and her attention stays — she spends the day watching her own family on screen and comes back with a journal."
71
-
why_it_is_the_strangest_and_best_one: "It needs no bridge, no destination and no cooperation, and it turns an absence into a point of view. The egg sits at the door she left from (../../EGGS.yml) and the journal comes home as a souvenir."
72
-
the_novel_about_it: "A Scanner Darkly, where an agent is assigned to surveil the house he lives in, files reports under a name his superiors cannot connect to him, and stops being able to connect it either. The two halves came apart because the credit did (moollm designs/sims/sims-pkd-perky-pat-and-a-scanner-darkly.md)."
73
-
therefore_the_rule: "Both minds publish under one soul's name into one album, and the journal states who wrote it and about whom. An unattributed observing mind is not a feature we ship."
74
-
the_consent_line: "Your own household is a diary. Someone else's is surveillance and needs their grant — same rule as recording real players (consent, below)."
75
92
76
93
the_byline:
77
94
mechanism: "Every capture carries a credit. Events credited to one correspondent correlate into that correspondent's story, album, or column."
0 commit comments