MeOS — Membrane OS
MeOS — Membrane OS, a.k.a. iWarpShip
i for information — a ship that warps through the space of what you wrote.
Markdown⊕ — Markdown, plus.
MeOS speaks Markdown⊕: plain Markdown, extended with membranes (the ⊕). A membrane is just a comment — so a Markdown⊕ document stays 100% valid Markdown, and the very same notation works in code. Markdown gave you formatting; Markdown⊕ adds structure, navigation, and bookmarks that bring you back — without touching your data.
A new world — where comments become commands.
It never stains your code or your manuscript — not by a millimeter.
The lightest OS. Warp anywhere and jump both ways with the Hyper TOC.
Your code undergoes cleavage (卵割) and becomes a single living organism.
The ultimate environment for creation!!!
And the future is in view: every membrane on Earth, connected.
I, My, MeOS 🐣
Ai, Mai, MeOS 🐥
You(AI) & I(LAI) 🐔
NEW in v5.0 — clocks that hand over to each other, and keep ringing after you close the editor
v4.1 put one clock on a membrane. v5.0 lets a membrane carry a whole routine — several clocks, one after
another — and it keeps that routine running on the Mac menu bar even when VSCodium is closed.
<!-- Mew!UFC ⏰🔐 🔔Glass/🔔Tink 1. ↺↻8h 2026-09-01 10:45p // 💧Time for eye drops -->
<!-- Mew!FC ⏰⚓️ 🔔/🔔 1. ↺↻(5m)×2 // 💧Eye drop # 1. -->
Independent yet linked. The first clock keeps its own time from its origin — every eight hours, day after
day. The second waits under it: press its ▶️ when you put in the first drop and it counts five minutes twice for
the second (Opt+click starts it again from zero, any time). Stop it and the eight-hour clock carries on,
counted from its origin as if nothing had happened.
Or let them hand over. Give every line a count ×N and no origin, and the clocks run one after another:
when the first has done its turns the second starts, and when the last is done the first begins again from zero.
The rule is one line long: a clock with an origin keeps its own time; only clocks without one hand over.
Four tomatoes with a short break after each, then a longer rest, round and round:
<!-- Mew!UFC ⏰ 🔔/🔔 1. ↺↻(25m 5m)×4 // 🍅Pomodoro 1. -->
<!-- Mew!FC ⏰ 🔔/🔔 1. ↺↻(10m)×1 // ☕Break -->
(The same routine also fits on one line — ↺↻((25m 5m)×4 10m)×5 — when you want it to stop after five rounds.)
The cycle first, the origin last. A ⏰ line reads left to right in the order you care about: the buttons,
the cycle, then the origin — which may run off the edge of a narrow window without hiding anything you need.
<!-- Mew!UFC ⏰⚓️ 🔔Gong/🔕Mew ↺↻(3m 1m)×12 2026-09-28 03:30p // R 1. // break 1. -->
On screen that line reads ⏸️⏰⚓️🔓🔔🔕[−1s][+1s] ↺↻(3m/1m)×12 2026-09-28(M) 03:30p, and the badge line above it
shows the countdown and the round — ⏰ 2.53 0.07 | [R2]/12.
To the second. An alarm clock stops at the minute. A ⏰ origin takes seconds — 16:59.30, thirty seconds
before five (the colon sits only between hours and minutes; seconds always follow a dot) — and [−1s] / [+1s] on the
line nudge it one second at a time; Opt+click moves ten. Want the bell thirty seconds early? Opt+click [−1s] three times.
Two bells: main and sub. The first time of the line with an origin (or of the first line) is the main time;
every other time is sub. 🔔Gong/🔕Mew right after the ⏰ gives each its sound — main Gong, sub Mew — and says
whether it warns you: 🔔 rings 1 minute, 30 seconds and 10 seconds before that time ends, 🔕 stays quiet. Either
way a time always rings once as it begins, so with 🔕Gong/🔕Mew you hear only a gong at each round and a mew at
each break. The two buttons [🔔][🔕] on the line switch them; the sound is chosen in the raw line — a name, or the
number beside it in Me Dock's 🔔 list (🔔3/🔕5), which MeOS writes down as a name when the caret leaves the line so it
rings the same on any machine. Put one // message for each time you wrote, left to right, and one more for the end;
they show in the status bar and on the menu bar while their time runs. 🥊 Gong is new in the 🔔 list — made, like
🐱 Mew, from measurements of a real one.
The 1. at the start is only for your eyes, as in a Markdown list: write 1. on every line and MeOS still shows
1, 2, 3, because it reads the order, not the figure.
Each clock has its own title, written after //. The title travels with the clock, so a single line can be
copied anywhere and still says what it is for. A 1. inside the title is a slot for the count: 💧Eye drop # 1.
reads 💧Eye drop # 2 on the second drop — on the line, in the status bar and on the menu bar alike. Only the clock
that is running shows its title on the line; the ones waiting their turn stay quiet.
Every line has its own ▶️ / ⏸️. Stop one clock and the rest of the row carries on. A clock with an origin keeps its schedule when you stop it; Opt+click ⏸️ instead holds it and moves the whole schedule back by the time it was held — for a doctor's check in the fourth round, a phone call in the middle of a Pomodoro. To nudge it by hand, write +4s (or -30s, +1m30s) after the origin: when the caret leaves the line, the origin moves by that much and the +4s is gone. Or press the [−1s] / [+1s] buttons drawn just before the cycle (Opt+click for ±10 s) — handy when the referee stops the clock for a low blow, again and again. Mark a line ⏯️ and, when
its turn comes, it waits for you to press ▶️ instead of starting by itself. 🔓 → 🔐 locks a clock so it can be
neither stopped nor deleted until it rings; Opt+click the 🔐 to take the lock off again.
⚓ rings without taking you away. A clock at anchor keeps its bell and its countdown but does not warp you to
its membrane — for the twenty-minute stretch reminder that should not pull you out of what you are writing.
The panel shows 🚢💨 (warp) or ⚓ (anchor) beside every clock, so you can see which kind it is at a glance.
Past or future, the origin decides. Write a date that has already gone and the clock measures up from it
as a stopwatch. Write one still to come and it counts down to it, then starts its repeats there — like a title
fight that begins at the bell. MeOS says which it is with one letter after the time — p for past, f for
future — so the raw line tells you without a look at the clock.
Repeats can follow the calendar. A repeat that starts with a weekday letter is a calendar rule, not an
interval: ↺t1,3 is the first and third Thursday, ↺t every Thursday, ↺MWF Monday, Wednesday and Friday
(the week is written S‑M‑T‑W‑t‑F‑s — Thursday is the small t). The bell rings at the time of day written in
the origin.
<!-- Mew!UFC ⏰ 🔔/🔔 ↺t1,3 ×11 2026-10-01 10:00 // Monthly meeting -->
Count or date — write whichever you know (Date&Count). If you know how many turns, write ×N; if you know
when it should end, write ~ and the date instead, and MeOS turns it into the largest ×N that does not run past
it:
<!-- Mew!UFC ⏰ 🔔/🔔 ↺8h ~2026-10-31 10:00 2026-09-24 10:00 // Medicine --> → ↺8h ×111
Either way the last day is shown on the badge line just above the clock — for five seconds after you change it
while the clock runs, and for as long as you like while it is paused, so you can guess an N, read the date and
change N. Nothing but ×N is kept in your file; the last day is worked out from what is already written there.
Three presets, then Set. The ⏰▾ panel opens with a routine already in it. ↻ on the corner of the UFC box
steps through three presets — 🍅 Pomodoro (the hand-over pair above), 💧 eye drops (two lines; the five-minute one at anchor) and
💓 an hour of boxing 🔔Gong/🔕Mew ((3m 1m)×5)×3 // 💓HIIT-Box 1. // 💓break 1. (a gong to start each round, a mew for each break), one message for each time — in yellow, blue and green, and the caret lands on the last ×N with a drum beside
it, so the first thing you try is the count. Opt+click ↻ to keep your own routine in its place.
Starting point and Last bell sit one above the other, so while you turn the drum you watch where the
routine begins and where it ends. Click the year, month or day of Last bell and the same three drums as
Date open under it: roll them to the day you want to finish, and the count becomes the largest ×N that does
not run past it (the same rule as ~date). Click the ×N of Last bell and the caret goes to the count in the
box, with its drum. Opt while you roll the year steps through the decades, as in Date. One line in the box is one ⏰, and just above Set the panel shows each line
exactly as it will look in the editor — ▶️⏰🚢💨🔓 … — where 🚢💨 and 🔓 are buttons, the same ones you will press on
the line itself. Pick a preset and press Set; the rest you learn from the clock that appears in your text.
V-helper — the ⏰ that stays in the menu bar (macOS). V-helper lives in the menu bar and keeps the clocks you
set in VSCodium running even when VSCodium is not: it counts, rings, moves a row of clocks on to the next one, and
when a bell is due it wakes VSCodium and brings you to the membrane. Like the Dock, it starts and quits VSCodium,
and while VSCodium is closed it lists your Tag & Go rooms — pick one and you are there. Turn it on or off with
[V-helper] at the top right of the ⏰ panel (orange = in the menu bar, grey = nothing there). Every clock counts down in
its menu, but only the next one shows its seconds, in red — 4:51**.25** — so your eye finds it at once.
Pass the next. Not taking this dose? ⏭️ Pass the next at the top of the menu-bar ⏰ skips the next bell of
the nearest clock without a sound: a repeat moves on to its next turn, the last turn of a ×N or a one-off clock
is marked done, and a row hands over to its next line — just as if it had rung. ↩︎ last passed, beside
last stopped, brings it back while its time is still to come. It works with VSCodium closed too: V-helper moves
on by itself, and VSCodium picks the pass up the next time it opens, so the skipped bell stays silent.
Two editors, two lives. VS Code and VSCodium each get their own V-helper — purple for VS Code, orange for
VSCodium — and each keeps only the clocks of the files open in its own editor. So you can run work clocks in
one and private clocks in the other, side by side in the menu bar. Give them different sounds too: press 🔔 beside the 🎨 Theme button in each editor's Me Dock, move with ↑/↓ to
hear every sound, and press Enter to keep one (it is saved as laiMembrane.clockSound, per editor). It is that editor's standard sound —
for ⏰ lines that name no bell of their own, for V-helper while the editor is closed, and for Cmd+S when there is nothing new to save —
so you know whose clock rang before you even look.
Keep the two lives in separate files — the same file open in both editors shows its clocks in both.
🌅 Wake — your Mac starts up on its own (macOS). Somewhere along the way, macOS dropped the start-up schedule
from its settings, and for about three years we pressed the power button every morning. The schedule itself is still
there, deep in the system (pmset), so MeOS brings it back — as text, like every other clock. Name a membrane
🌅LaunchD and write ⏰ lines under it, one per day pattern: ↺MTWtF 06:30 for weekdays, ↺sS 08:00 for weekends,
↺SMTWtFs 07:00 for every day. Press ▶️ on one of them and macOS asks for your administrator password in its own
dialog (MeOS never sees it); that line becomes the start-up time of your Mac. Press ⏸ and it is taken out again.
Only one line runs at a time — macOS keeps only one start-up schedule. Under 🌅LaunchD the ⏰ is drawn as 🌅, it does
not ring 🔕, and it does not warp you anywhere ⚓; it only wakes the Mac. When macOS has the line, 🍏 appears at the
end of it; from twelve hours before start-up it ripens into 🍎 on screen and in the menu bar, where 🌅 Wake counts
down with your other clocks. Click 🌅 Wake in the V-helper menu and you warp to the membrane — or, the first time,
a sample is placed just below the meta membrane of the file you are in (or run MeOS: New 🌅LaunchD). If you have
more than one 🌅LaunchD, the one with the newest timestamp in its name wins. The schedule lives in macOS, not in MeOS,
so it stays through quitting VSCodium and restarting the Mac, and it starts the Mac from shut down, not only from sleep
(tested on an iMac with M3: it started at 07:00.06 on the first morning). Start-up only — nothing here shuts your Mac down.

NEW in v5.0 — this is what the menu bar looks like. Your clocks keep counting in the menu bar — orange for VSCodium, purple for VS Code — and one click opens every one of them, from five hours to 115 days away — only the next one counts its seconds, in red: 4:51.25 — and 🌅 Wake, the next time your Mac starts up on its own, counts down among them. When a bell rings, MeOS warps you to the membrane you set it on; pick any clock from here and you warp there yourself; or let it just ring, at anchor ⚓. Boarding pass: Passenger YOU — Destination Anywhere-When — Seat NOW — Fare 0.

NEW in v5.0 — independent yet linked. (Born in the v4.2 builds — the stamp says so.) This is the main editor, not a preview. Every eight hours, two eye drops five minutes apart: two lines under one membrane, counting down on the line, in the status bar and on the menu bar of both VS Code (purple) and VSCodium (orange). Each line has its own ▶️ / ⏸️, 🚢💨 / ⚓ and 🔐 / 🔒 buttons, two bell buttons (main / sub) and [−1s][+1s], and Opt+click starts the five-minute clock again from zero at any time. The pink strip is the raw line behind the buttons.
Wide tables stay tables — wrap width in three presets. You line a table up with the table button, and the
editor wraps it at 80 columns and breaks it apart again. Right beside the table button in Format Me sits a
wrap width knob: drag it, or type the number, and the text re-wraps as you move. Keep three widths — say
80 for prose, 140 for a wide table, 200 for the widest — and ↻ steps through them (red, blue, green), so a
table that did not fit a moment ago opens out in one click. A thin vertical line stands at the wrap width and
moves with it, so you can see where a line will break. The number counts half-width characters: a line of
Japanese breaks at the same line, with about one character for every 1.7 half-width ones. We know of no other Markdown editor that lets you
change the wrap width this directly.

NEW in v5.0 — one-stop tables. One button, three jobs: select tab-separated text and it becomes a GFM table; on a blank line you get an empty one; inside a table it lines the columns up. Lined up at 50, the table still falls apart — so press the ↻ on the table button: 90, then 126, and every row stands on one line. Shift+click goes the other way, from 50 straight to the widest. Here the widest is 126, just wide enough for this table — set your own.
A 300,000-line universe. Seven stars. One Shift away. Today the M-galaxy, tomorrow star c…
Me DockⓉ Warp — mark a spot, warp back. Click it or type it — same mark, same warp.
(Like Vim marks, without modes or memorizing. In Don Norman's terms, it is an SS — a Signifier Shift: press Shift, and the places you can go speak up for themselves.)

Me DockⓉ Warp. Hold and release Shift, and the tile with the red dot (the last one you used) grows for 1.2 seconds. Type a Me Dock letter twice: M M warps to the M mark, E E puts a new mark at the cursor. Seven marks — six you set yourself, and Ⓣ, which moves to today's diary on its own — and your fingers hardly leave the home position. It works with Me Dock closed, too — keyboard only, for anyone who finds the mouse hard (V-helper watches the Shift key on macOS; without it, Shift+Esc warps to the red dot). Marks live in your text, as a comment like <!-- {* ▶◀mP4=o_20261011S105212JST // *} --> — they travel with it, and you delete one like any other line.

Open from the top, or from the bottom. A folded membrane shows ▼ and ▲ side by side. ▼ opens it at the start; ▲ opens it at the end, with the caret on the closing line — right where you add today's next lines. The side you rest on takes the membrane's colour; the other turns to its complement. We know of no other editor that lets you choose which end to open a fold from. And let ▼ and ▲ be the only way in: switch Standards off in Me Dock, and the editor's own fold arrows leave the gutter, while the ⋯ at the end of a folded membrane gets a ⛔ seal — clicking it no longer opens anything. Switch Standards back on for the editor's usual behaviour.
Also in v5.0
Ⓣ makes today's diary — press Ⓣ in the morning, and if today's diary is not there yet, MeOS makes it:
0 copies yesterday's (marked (copied)), 1–3 start from templates you registered — for days of the week
that differ — and ▾ lets you pick a template from the same weekday over the last four weeks, or from this week.
Yesterday's membrane steps back from red to brown; only today is red. Writing past midnight? Just write
wherever Ⓣ takes you — today's diary starts as a copy of yesterday's, so anything you meant for yesterday can be
pasted back later.
The day button shows the day you are in — Ⓣday, now the day button, shows the date and weekday of the
diary your caret is in. Reading back through October 11th, it says 11S; inside nested membranes, the
innermost diary wins; step outside every diary and it is today again. A small thing — and the one we glance at
most while scrolling back through a lifelong diary.
Only the panels scroll — the title row, Format Me and the Timed Me-System / Hyper TOC row stay
put while you scroll; only the ⏰ box and the Hyper TOC list underneath move, so your clocks are always in the
same place. Open either list and Me Dock widens to the width you last dragged it to for that list; close it, and
Me Dock goes back to its own width.
Me Dock in ten sizes — ⊕ / ⊖ beside A step through 60–80 % in eight fine steps, then 90 % and 100 %.
A small box opens right there and says where you are (4/10), and ↑ / ↓ keep stepping. A larger size may need
a wider Me Dock — just drag it.
📦 Re-install VSIX for everyone — pick any .vsix (the newest, or an older one to compare) and MeOS installs
it and reloads. It opens where you picked last time, or your Downloads folder.
Reveal in Finder — right-click a file in Me Dock's recent-files list.
📂 Reopen folder — if a window comes back with no folder open (the Explorer and Git are empty, though your files
are still in the tabs), a blinking button in Me Dock brings back the folder you usually work in.
Two editors, two ⏰ — if MeOS runs in both VS Code and VSCodium, each menu-bar ⏰ says which one it is, and
Quit V-helper for VSCs at the bottom stops it for both.
Three pointing hands — the BTRON hand, a slim 22.5° classic macOS hand, or your OS's own. The tip of the
finger is where you point, and it does not jump when the hand changes shape.
G⌥Y⌘P⌃S⇧um sets the colors — hold a modifier key over a Me Dock button that answers to it, and the hotspot × takes its colour (a button the key does nothing to shows none): Opt green,
Cmd yellow, Ctrl purple, left Shift sky blue, right Shift blue. Read the initials in that order — Green,
Yellow, Purple, Sky — and you get gypsum, the plaster that sets. Try it on the pointer-hand button.
The hand tells you what comes next — on a Hyper TOC tab (and on Me Dock's letter tiles and the pointer-hand button): the pointing finger before you press (a click, a
double-click or a drag could follow); the open hand the moment you press; the closed hand after half a second, or as
soon as you move. Let go after a drag and the open hand stays, ready to pick the tab up again — move the mouse and
the finger is back. Double-click a tab to rename it.
Code blocks and inline code on a sheet of paper — a code block is drawn as one sheet, and inline code
as a small cream plate, so notation you quote in a note stays text and is never run.
🎨 Theme button in Me Dock — ↑/↓ to try colour themes on, Enter to keep one. ↻ swaps between a light set and a dark set
in one click, and each set keeps two themes, picked at the top of the list — four in all, and a dark one may sit in the light set if you like.
🐱 Mew, the new default bell — a kitten's call that MeOS makes itself, from a real kitten's pitch and
harmonics measured to the millisecond. It calls every 1.35 s, each call a little louder or softer by
1/f fluctuation, so it never sounds like a loop. Pick another sound any time with 🔔 beside the 🎨 Theme button.
Our advice: leave the ⏰ lines without a 🔔 number and choose the sound with the 🔔 button — ↑/↓ play each one
as you go, and one pick changes every ⏰ at once. Write a 🔔 on a ⏰ line only when that one clock needs its own sound.
Preview ×3 (on by default) plays each sound three times, overlapping just as the alarm does — one ring and three
rings sound surprisingly different.
A soft "no change" sound — press Cmd+S (Ctrl+S) when there is nothing new to save and MeOS answers with
two soft falling tones, so your hand knows the file was already saved.
Sounds are tested on macOS. The ⏰ bell, the 🔔 picker (Windows: the .wav files in C:\Windows\Media;
Linux: the sounds in /usr/share/sounds/freedesktop/stereo) and the "no change" sound also have a way to play on
Windows and Linux, but we have not heard them there yet. If one stays silent on your machine, please tell us in an
Issue — that is how it gets fixed.
Slow pasting in a very large diary? Me Dock points you to switching off VSCodium's built-in
Markdown Language Features for that workspace, which was the cause we measured.

The new Me Dock. Nothing like the one you knew — and still neatly in line at its narrowest width. Look closer: the angle of the pointer, the red × on its hotspot, the creases of the hand. And top right, 11S with its guardian: the caret sits in the diary of the 11th, so the day button says the 11th, a Sunday — the day of the sun, guarded by Yatagarasu, the three-legged crow of the sun. The crow emoji has only two legs, so this one is drawn for MeOS: its third leg is a hand, pointing up at the sky. The other six days keep their emoji guardians — the Jade Rabbit of the moon, and the Vermilion Bird, Black Tortoise, Azure Dragon, White Tiger and Yellow Dragon of the Five Elements.

Pharaoh GYPSum. Each modifier key paints the hotspot × its own colour, and the colours spell their own name: G⌥Y⌘P⌃S⇧um — gypsum, the plaster that sets. L and R are the eyebrows, the two Shift × are the eyes, the line is the nose, the cartouche is the mouth — and the hand is putting eye drops in the right eye, just like the v5.0 clocks above. Thousands of years after Khufu and Khafre, King Gips (German for gypsum) returns — relief generated with ChatGPT.
NEW in v4.1 — hang a clock on a membrane, and it comes to find you
A membrane is a place you decided to come back to. v4.1 lets you write the time you meant to come back,
on the membrane itself:
<!-- Mew!UFC ⏰ 18:30 -->
<!-- Mew!UFC ⏰ 2026-09-27 09:00 -->
<!-- Mew!UFC ⏰ 09:00 ↺5m -->
<!-- Mew!UFC ⏰🔐 2026-09-03 12:10 ↻15 -->
How precisely you write it says what kind of plan it is. A time alone means today — or tomorrow if it has
gone. A date means that day. Nothing has to be remembered about where you put it, because it is written where
it belongs, and it travels with the file.
Add an arrow and it repeats — and the arrow says which way time runs. ↺ turns anticlockwise for a
countdown: ↺5m every five minutes, ↺8h every eight hours, ↺30d every thirty days, ↺50/10 alternating
fifty minutes and ten. ↻ turns clockwise for a stopwatch: ↻15 climbs from zero for fifteen minutes,
goes back to zero and measures again. Both ring at the same instants; only the figure is read the other way
round, and neither stops until you stop it. The time you write is the origin and never moves — every bell
is counted on from it, so nothing is stored twice and the day you started stays in the file.
Setting one is a small panel under ⏰▾: the origin (with its weekday, and it may be in the past for a
repeat), how long each turn lasts, which way it runs, and 🔐 if this one must not be droppable. Turn the drums,
or double-click one and type. Everything the panel writes goes on the line, where you can also just type it
by hand — on a phone, in any editor, with no MeOS at all.
When the time comes MeOS brings you to that membrane, so write the next job inside it — and once it has
moved you, ↩ Back appears in the status bar at the bottom of the window, naming the membrane you were in,
to put you back where the bell found you. Set from Pseudo-WYSIWYG the clock holds that membrane in Pseudo
view instead: you cannot get back to the raw data, so your own 👻 answers stay hidden until the bell — a
test paper you cannot walk out of.
The bell counts you down the way it is called at an archery line. Three seconds of sound a minute out,
five at thirty, and from ten seconds it does not stop — then a high, clear tone at the moment itself. Near is
louder than far, and the silences between are what let each one land. A repeating clock goes quiet after it
rings, so a bell every minute never becomes a bell that never stops.
⏰ also keeps the next five clocks, soonest first. A row is the membrane's name — choose it and you are
there, on the line the clock is written on, because anyone can set one by accident and finding it should not
be a search. The one the ⏰ button is counting keeps its figure beside it so you can see which row that number
belongs to. ☑ and ☐ let a clock rest without losing what it was set for, Stop in the last minute is a pause
and not an ending, and Undo puts it straight back. Times far off read ≈4y 23:55.17 — roughly when, and
still alive; that is all a four-year plan needs to say.
Tag & Go is a door you can open anywhere. Write a tag — #eyedrops — in a membrane's opening comment
while you are making the membrane, and later that tag calls every one of them to the door. Pick one and you
warp there. Hang a ⏰ on it while you are there, or set no clock at all and use the door as a table of
contents.
So Tag & Go is an H-TOC wearing a ⏰ mask. And once a clock is on a membrane, you do not have to go to it —
it comes and gets you.

NEW in v4.1 — stick a ⏰ note on a membrane, and the timer brings you back to it. Write the origin where the time goes (2030-10-05 10:00 ↺↻5y): an arrow is the direction, the figure is the length of one turn, and (…)×N is how many turns — so ↺(3m 1m)×3 is a boxing round and ↻((30s 15s)×4 1m)×3 is a HIIT set. The origin is never rewritten when the bell rings, so what you set is still there years later; the running figure is drawn, not stored. One minute out it sounds for three seconds, thirty seconds out for five, and from ten seconds it does not stop — then MeOS carries you to the membrane itself, where what you meant to do is already written. The ⏰ list is a table of contents with a time axis, and Tag&Go narrows it to one #tag — Anywhere = Tag&Go, When = ⏰.
v4.0 finishes the idea. Every mark you write is real Markdown — headings, lists, bold, highlight,
strikethrough, links. Everything MeOS needs sits in an HTML comment on the line below — a folding
comment, which MeOS keeps folded out of sight, so your sentence stays whole and the page reads clean.
## Morning 2026.08.09
<!-- Mew!FC H2 (white/green)//[]tip= -->
- first item
<!-- Mew!FC - (white/purple)//[]tip= -->
1. second item
<!-- Mew!FC -1.(white/green)//[]tip= -->
Warp to [the design note]() from any word.
<!-- Mew!FC [](https://github.com/LAIxai/MeOS/blob/HEAD/design_20260809S101533JST) -->
(Those comment lines are folded away as you read — each says what the line above it is, and nothing else.)
Open that file anywhere else and you get an H2, an ordered list, and a link label. Nothing is broken,
nothing is proprietary. Open it in MeOS and the comments disappear: you read prose, and the words are live.
- Warp anywhere —
[label]() plus one comment jumps to a membrane by name, or opens a URL.
The destination never sits inside your sentence, so the text after a link stays on the same line.
- Numbers that never rot — ordered lists are written
1. every time (Markdown's own escape hatch).
MeOS counts them on screen, so inserting a line in the middle never renumbers your file.
- Sub-numbering without indenting — write the same
-1.1 on every line of a sub-level and MeOS renders
1.1, 1.2, 1.3, indented. -1a gives you 1a, 1b, 1c (the Figure 1a style). Nothing in the file
ever holds a number, so nothing can go stale. A blank line starts a new list; a sentence in between does not.
- Long instructions leave the line — a line that ends in a pile of comments still wraps on those
hidden characters, pushing your own words onto the next screen line. So move them out: write
<!-- Mew!FC … --> on the line below, and the sentence stays whole. FC = Folding Comment —
MeOS folds those lines away by default, so the page reads clean. Put the cursor on the line and it
opens; switch to Raw and everything opens. Skipped line numbers are not deleted lines — they are
the receipt that your file is untouched.
- Nothing to keep in sync — an instruction says what kind of thing it is, never which one:
A↑1(white/green) means "a superscript", exactly the way -1. means "a numbered item".
Repeats are matched in the order they appear, so editing your text never breaks the instruction,
and the file holds no label or number that can go stale. Write A↑1#2(…) only when you mean the
second one.
A spec line carries everything the line holds — the heading, the superscripts, and the highlight or
strikethrough sitting in the middle of your sentence — one comment per instruction, so the number of
boxes is the number of instructions: <!-- Mew!FC ~~(red/) --><!-- Mew!FC ==(white/yellow) -->.
Those inline ones matter most: their comment sits between your words, not at the end, so every
character after it gets pushed along. One checkbox decides the form — Me Dock's Format ▼ →
□ Folding Comment(FC) below. It sets what you write from now on; what is already written is left
exactly as it is. A spec line is ordinary text, so you can reorder or delete the boxes right where they sit.
- Superscripts don't ambush your prose —
x↑2 and (a+b)↑2 render, but 、↑2 or 🐱↑3 stay as
plain text, because a superscript needs something it can sit on. Want one anyway? Name it in a comment
on the line below: <!-- Mew!FC A↑1(white/green) -->. Want the opposite — a real arrow sitting next to a
real superscript? Say not: <!-- Mew!FC A↑1(white/green) ↑↓not --> means "colour the first one,
leave the second alone". Same rule as everywhere else in MeOS — plain text by default, the comment is
the command — so you never need an escape character.
- Accents, with the recipe — write
a↑<(..)>, press the superscript button, and the text becomes the
real letter ä. The name draws the shape: <(..)> two dots · <(.)> one dot · <(--)> a bar ·
<(^)> a hat · <(o)> a ring · <(v)> a check · <(~)> a tilde · <(')> an acute.
This is the one place MeOS works the other way round: it does not hide anything, it makes the character
— Unicode already has â, x̂ and θ̂ as standard letters, and covering standard letters with a private
notation would make us the bad guy. The recipe stays in the comment
(<!-- Mew!FC a↑👒<(..)> (white/orange) -->), so later you can copy it and redo the same letter with a
different mark. Prime a↑', degree x↑o and negative exponents 10↑-3 stay ordinary superscripts.
- Highlight rides on standard Markdown —
==highlight== is in neither CommonMark nor GFM, so outside
MeOS the == shows up bare. It was the last mark still doing that. Now the button writes
***highlight*** with <!-- Mew!FC ***not (white/yellow) --> below: inside MeOS a highlight, outside
bold+italic — broken in neither. == is still read, it is simply no longer written.
not means "do not let this mark claim its usual meaning" — the same word as ↑not, and it works on
*, ** and ***. Add not to something you already wrote in bold and it turns plain without touching
a single character of your text.
- Mew! 🐱 — every MeOS comment starts with
Mew!, so grep Mew! finds all of them.
Still have the old notation? Press ↻ to see where it is for five seconds, press 🐱 to convert
what is on your screen. One click, one undo — your 100k-line past is never rewritten in one go.
- Your token, watched — the GitHub push row shows how many days your access token has left, at the right
edge where you can see it even with the panel folded. When it expires, the disconnect button turns into
a one-press fix.
- Three ways to look at a membrane — and a clock on it — every membrane decides for itself how much of the
raw source it shows: 👁🥩 Normal (decorated, and the line under your caret opens up raw), Raw🥩 (this
membrane shows its raw data, while the rest of the file stays exactly as it was), Pseudo👁 Pseudo-WYSIWYG
(nothing raw at all — the caret stops opening the source, 👻 stays hidden, and even a plain strikethrough
disappears: the finished text, the way a reader will meet it). A membrane that says nothing follows the one
around it, so a setting on the outermost membrane reaches everything inside — and the choice is saved in the
file's own mMETA membrane, so it travels with the file and is still there tomorrow.
Then put ⏰ on a membrane: minutes, or a time such as
18:30. Set from Pseudo-WYSIWYG it holds that
membrane — no way out until the time is up — and the answers are already in the file, hidden in 👻, so the
moment the bell rings you mark your own work: one file is the question paper, the answer sheet and the
answer key, and it can be sat again tomorrow. Set from any other view it is simply a bell — write the
next job inside a membrane and MeOS brings you to it when the time comes. The schedule lives in the place it
is about, the way a 👻 note does; once it has moved you, ↩ Back appears in the status bar and returns you
to whatever you were doing.

NEW in v4.0 — the comment is the command, and the data is still plain Markdown. A heading, a numbered list that sub-numbers itself, a link that warps by membrane name — every instruction sits in an HTML comment at the end of the line, so it never comes between your words. Put the cursor on a line (the orange arrows) and MeOS hands that line back to you raw: that is the whole file, valid Markdown everywhere else on Earth. Bold / italic / link and heading / bullet each collapse into one button, and 🚫 takes any of it back with no selecting — just put the cursor inside.

NEW in v3.1 — spreadsheet totals without cell addresses. Sum and product by direction, not coordinates: <!--Σ↑--> sums the column above, <!--Π←2--> multiplies the two cells to the left. No SUM, no B2:B4. The formula hides in a comment; the result stays plain text in the cell, so it reads on GitHub and with grep — all in the main editor, not a preview.

Auto mode — totals move as you type, the file stays clean. Edit a quantity and the row's amount and the grand total update live on screen; the .md is untouched until you save (Cmd+S), which bakes the results in and flashes the changed cells green. Manual mode (recompute on ▦, Excel-style) is one option away.

NEW in v3.0 — tables that never touch your data. GFM has no colspan / rowspan; MeOS adds them with one HTML comment (<!--🤝→2-->). The cell count never changes, so the file stays valid GFM and the marker is invisible on GitHub. The merge shows in the main editor — not a preview pane; put the cursor on the row and the raw marker returns for inline editing.

In v2.0 — your whole life's diary, from one button. The right Ⓣday is a polymorphic base point: type a date to warp there, a word to search by meaning, or T for today — then ↻ threads a day across Week / Month / Year (a 10-year diary). All structure lives in comments, so it never touches your prose.

The whole picture. Editor = strata of membranes · right = the Me Dock cockpit.

Line 4 → 13,957. 13,956 lines inside a single membrane — generated by AI, in one file.

The cockpit. Hyper TOC · Current Me · bookmarks · 📊 access counter.

Soft delete. Struck-through text is excluded from the count — see what you cut before you cut it.

One file, a whole life. From line 1 to line 46,997 — all inside one membrane.
MeOS for VSCm — Fold Membrane, Warp Anywhere
Part of MeOS™ for anywhere — the universal membrane notation.
Abbreviated as μOS (read: mu-OS / mi-OS / me-OS).
"micro-OS" on the surface — membraneOS at the root.
VSCm = VSCodium folded. The middle odiu is collapsed (just as MeOS folds membrane content), leaving the final m — the same m that begins membrane. The host editor renamed by its own guest notation: self-referential, compact, and symbolic.
The VSCm implementation of MeOS. MeOS notation itself is editor-independent; future implementations may target Joplin, Cursor, Obsidian, or any editor that supports comments.
The Crux of Membrane Notation
A membrane is a comment — so it leaves your original data as it is.
That is the crux of Membrane notation.
More than a boundary, a membrane has its own functions — comments (semantic metadata) create structure, like a cell membrane.
VSCodium meets Me.
It becomes MeOS — the Brain Editor.
Beyond Hyperlink — Navigate by Name, Return by Bookmark
Membrane names are proper nouns. Type a name in a TOC or a checklist — or search your whole workspace for it — and jump straight to that membrane.
🔖 Bookmarks bring you home. Drop up to three "place" bookmarks; one click flies you to your Front Anchor — the very line you're writing now. With two bookmarks, it becomes a bidirectional jump: leap there, and back, again and again.
Me (Membrane) transforms VSCodium into a Brain Editor for writers, developers, researchers, and AI.
Membrane structure introduces named, foldable, navigable thought architecture into code and text:
- Fold beyond headings
- Jump instantly by membrane name — from TOCs, checklists, or workspace search
- Return anywhere with bookmarks — three place markers and a one-click Front Anchor
- Use membrane names as proper nouns for workspace-wide discovery
- Build AI-readable and human-readable structured memory
- Transform notes, code, and knowledge into MeOS
This extension itself was co-created with AI trained to use membrane notation.
Once experienced, VSCodium can evolve from a code editor into a note system, thought system, and Brain Editor.
MeOS imagines a future where editors, note apps, and even operating systems become membrane-native.
MeOS := VSCodiuM = VSCodium + Membrane
Hyperlink connected pages.
Membranes connect meaning — by name, from anywhere.
MeOS for anywhere ← the universal notation (parent brand)
MeOS for VSCodium := μVSCodium (this implementation, folded form)
MeOS for Mac := μMac (future)
MeOS for Phone := μPhone (future)
MeOS for Pad := μPad (future)
MeOS for OS := μOS (the OS layer, where the abbreviation folds into itself)
MeOS is the legal/registered name. μOS is the abbreviation /
stylized form, used for logos, titles, and folded forms (μVSCodium,
μMac, μPhone). Both refer to the same notation; the choice is visual.
Read the prefix μ as "μ" (mu), "mi", or "me" — your call.
The Greek letter is the folded form (written, compact).
The spoken word is the unfolded form (mePhone, miPhone, μPhone).
The meaning is 「私の」 — mine, one with me.
μ is simply the Greek letter that corresponds to English m.
Both descend from Phoenician mem (𐤌, "water" — the sound of waves).
The shift m → μ is not a substitution to a foreign symbol; it is the same
letter, traced back to its foundational form. Latin m, Greek μ,
Cyrillic м — all carry the same sound across scripts.
Apple's i prefix marked devices for the individual.
The μ prefix marks devices structurally aligned with the self.
Where i pointed outward at "the individual customer",
μ points inward at "the self that has folded into the device".
μ is also the SI symbol for micro — the smallest meaningful unit,
the most compact carrier of meaning. A perfect membrane.
And μ is the first letter of Greek μέμβρανα (membrana, "membrane")
itself. The glyph structurally encodes its own meaning — μOS reads
as "micro-OS" on the surface, but unfolds to membraneOS at its root.
License & Trademark
Notation — Public Domain
The MeOS notation specification (membrane syntax, cross-reference ⇄,
Me notation ⇒, badge format, depth markers, etc.) is dedicated to
the public domain. The notation is intended to become a universal
technical convention, in the spirit of open scientific terms like
iPS, DNA, JSON, and YAML.
Anyone may implement, document, teach, fork, or extend the MeOS
notation in any editor, language, framework, or system without
permission, attribution, or fee. Derivative notations are welcome.
Software — MIT License
This VSCodium extension's source code is released under the MIT
License. See LICENSE in the repository root. The extension is
freely available for use, study, modification, and redistribution.
Trademark — Common-Law ™ (Unregistered)
MeOS™ and μOS™ are unregistered common-law trademarks
asserted by 川嶋俊克 (Toshikatsu Kawashima) as of 2026.05.16,
with prior art established via this repository's GitHub commit history.
The following name variants are also asserted as part of the MeOS™
family, primarily as defensive prior-art declarations against
squatting in first-to-file jurisdictions (notably China):
| Script |
Variants |
| Latin / Greek |
MeOS™, μOS™ |
| Chinese (semantic) |
微OS™ (micro-OS), 膜OS™ (membrane-OS) |
| Chinese (phonetic) |
美OS™, 妙OS™, 米OS™ (≈ "mee-OS" sounds) |
| Japanese |
ミーオス™, ミューオス™, メオス™ |
| Korean |
미OS™ (mi-OS) |
Implementation naming pattern: MeOS for [target] (e.g., MeOS for
VSCodium, MeOS for Mac, MeOS for Phone).
No formal trademark registration is currently pursued. The intent
mirrors the iPS / JSON / Markdown model: the term is open, the
implementation is free, the brand is identifiable.
You are explicitly permitted to:
- Use the names MeOS and μOS to refer to the notation and
its compatible implementations (e.g., "MeOS for Vim", "a μOS
extension", "MeOS notation").
- Build, distribute, and sell compatible implementations under
derived names such as "MeOS for [your target]".
- Teach, write about, demonstrate, and discuss the notation freely.
You are asked not to:
- Apply the name MeOS or μOS to products that are
incompatible with the published notation specification —
use a different name in that case.
- Imply official endorsement or affiliation when none exists.
Formal trademark registration may be pursued in the future only
for defensive purposes (preventing third-party squatting, e.g.,
in first-to-file jurisdictions). Such registration, if it happens,
will not restrict legitimate free use described above.
Acknowledgments — Conceptual Lineage
MeOS stands on the shoulders of:
- Gheorghe Păun (1998) — Membrane Computing / P systems. The
first formal use of "membrane" as a computational primitive.
MeOS approaches the same word from a different direction: not as
a model of computation, but as a model of human and AI thought
structure.
- Shinya Yamanaka (2006) — iPSC. The lowercase i,
consciously inspired by Apple's naming, became a universal
scientific term without trademark restriction. MeOS adopts the
same open-term model.
- Steve Jobs / Apple (1998) — the i prefix. The precedent
for a single-letter folded brand carrier that becomes its own
era. MeOS's μ continues this lineage, traced back through
Latin m to Phoenician mem (𐤌, "water").
Features
- Plain Markdown, always (v4.0) — headings, lists, bold, highlight, strikethrough and links are written as
real Markdown; MeOS reads its own settings from a folding comment on the line below. Your file renders correctly
on GitHub, in any editor, and in any Markdown tool — with or without MeOS installed.
- A clock on a membrane (v4.1) — write
<!-- Mew!UFC ⏰ 18:30 --> under a membrane and MeOS brings you
back to it at that time; ↺5m returns every five minutes, ↻15 measures fifteen and starts again. The
schedule lives in the place it is about, so there is nothing to remember about where you filed it, and it
travels with the file. The countdown is called in stages, like an archery line.
- Tag & Go (v4.1) — put
#eyedrops in a membrane's opening comment and it joins that tag's list, clock or
no clock; choose a row to warp there, tick its box to start the clock written on it. The ⏰ is the face of it
because a clock explains itself; what is underneath is a way back into your own writing.
- Warp anywhere (v4.0) — turn any word into a jump to a membrane by name, or to a URL, without putting the
destination in the middle of your sentence.
- Mew! 🐱 (v4.0) — one signature makes every MeOS comment grep-able, and the cat converts old notation
screen by screen, at your pace. Marks are off by default; ↻ shows them for five seconds.
- Membranes — comment-based structure that leaves your source untouched (decoration-only). Fold a huge file into a clean skeleton in one keystroke.
- Hyper TOC (H-TOC) — jump anywhere from an outline panel. One structure: read by AI (in-source, grep-able) and navigated by you (the panel).
- Current Me — always know which membrane the cursor is in; 3-point jump (open ⇔ close ⇔ cursor).
- Zoom Me! — focus into a sub-region, then return.
- Writer formatting — highlight / strikethrough / headings with text & background colors and
//comments (editor⇄author notes), via one-tap buttons.
- 🔖 Bookmarks — leap there, and back — up to 3 "place" bookmarks with a one-click Front Anchor (the line you're writing right now). Two bookmarks make a bidirectional jump: there, and back, again and again. A safety net so you never lose your home.
- ▶◀ Reference marks (point membranes) — named, grouped, grep-able in-text bookmarks that live in your text and travel with Git. Create a group via Edit▾ → Reference (pick a canonical symbol: ※ † ‡ * §), issue marks with the 💤 button (one click parks a "do it later" point; the new mark becomes F), and cycle a group with the ※ button (one click jumps to F, click again to walk the group). Footnotes (†n) are simply the most classic use of reference marks — the mark sits in the text, the explanation lives with the mark.
- Three views, one per membrane (v4.0) — 👁🥩 Normal (decorated; the caret line shows its raw data) · Raw🥩 (this membrane shows its raw source — membrane lanes and all decoration step aside — while every other membrane keeps its own setting) · Pseudo👁 Pseudo-WYSIWYG (nothing raw at all; 👻 and plain strikethroughs disappear, so a draft reads the way a reader will meet it). A membrane with no setting of its own follows the one enclosing it, and a setting is only written when it differs from what encloses it. Saved in the file's own mMETA membrane, so it travels with the file through Git. (The
kakaka spell still works — it now toggles Raw for the membrane you are in.)
- ⏰ A clock on a membrane (v4.0) — set it from ⏰ ▾: a date wheel on top, a time wheel below, or just type
18:30. How precisely you write it says what kind of plan it is — a time alone means today (or tomorrow if it has passed), a day and month means this year, a full date means that one day. From Pseudo-WYSIWYG the clock holds the membrane: no way out until the time is up, and because the answers are already in the file — hidden in 👻, exactly where you wrote them — one file becomes the question paper, the answer sheet and the answer key. The bell rings, the membrane returns to Normal, and you mark your own work; tomorrow the same file is a test again, or a memory sheet. From any other view it is a bell instead: write the next job inside a membrane, set a time, and MeOS brings you to it when the time comes — the schedule lives in the place it is about, the way a 👻 note does, and ↩ Back appears in the status bar to take you home. It rings out loud as well as on screen, it counts down in the membrane's own closing comment (so it is waiting for you exactly where you finish), ⏰ lists every clock you have running and jumps to any of them, and it is kept in the file, so it survives a restart and travels with the file.
⚙️ Recommended setting: "editor.wrappingIndent": "none"
Keeps wrapped lines flush, so they sit cleanly next to the gutter membrane lanes.
📌 Membrane lanes & wrapped lines — a quirk with an upside.
Membrane lanes are drawn in the gutter (glyph margin), which keeps the text area completely untouched — most importantly, CJK / IME input stays perfectly smooth (no caret wedging). One side effect: the current editor API renders a gutter decoration only on the first visual row of a wrapped line, so the lane shows a small break wherever a line wraps.
Many find this useful rather than annoying: the break quietly marks two things at a glance — the start of each membrane, and any unusually long paragraph (the rare line that wraps). In prose, most lines fit on one row, so a break stands out exactly where the text is dense. Like the rest of MeOS, the shape stays constant; only the signal changes.
Prefer a perfectly continuous lane? Set "laiMembrane.gutterLanes": false to draw it inside the text instead — at the cost of some IME friction (so the gutter is the default).
A note for VSCodium / VS Code maintainers: an API to let glyph-margin / gutter decorations span all visual rows of a wrapped line (as breakpoints and folding controls already do internally) would let MeOS offer both a perfectly continuous lane and clean IME input. We'd love to see it. 🙏
Markdown⊕ — Welcome to the New World
Markdown⊕ — the lightness of Markdown, with usability that leaves WYSIWYG far behind.
Your notes stop scattering. One file: a one-month diary, or a ten-year one. Goodbye to the sea of endlessly fragmented files. At last, a file becomes truly your own.
Wherever your data lives, warp to it in an instant through one entrance — the Hyper TOC. With three "anywhere bookmarks," flip between three jobs at full speed. Stride through gigantic data, stress-free.
The tool that always seemed like it should exist — yet never did. Step in once, and no one goes back to the old world. The old friction vanishes as if it had never existed — a comfortable lifelog life awaits.
And this is a fact: one AI wrote this membrane-structured code, and another AI took over and carried on without ever getting lost.… Put that structure to work as AI training data, and it could raise AI performance dramatically — that possibility, too, is here.
— One last thing. This extension — a single file of over 10,000 lines — was generated almost entirely by AI.… With no spec and no design document, I produced it in just one month.
— A collaboration between You(AI) & I(LAI).
Markdown⊕ ― 新世界へようこそ(日本語)
Markdown⊕ ― Markdown の軽快さはそのままに、WYSIWYG をはるかに凌ぐ快適さを。
ノートは、もう散らばらない。1ファイルで、1ヶ月日記も、10年日記も。 無数に分割されたファイルの海に、グッバイ。やっと、ファイルが"自分の所有物"になる。
データがどこにあっても、Hyper TOC という入口から一瞬でワープ。**3つの「どこでも栞」**で、3つの作業を高速に行き来する。巨大なデータの中を、ノーストレスで闊歩する。
ありそうで、手に入らなかったツール。一度足を踏み入れたら、もう旧世界には戻れない。あの不自由が、まるで嘘のように――快適なライフログ生活を。
そして、1つのAIが膜構造で書いたコードを別のAIが迷うことなく引き継ぐことができた。これは事実です。…この構造を AI の学習データに活かせば、AIの性能を飛躍的に引き上げることができる――そんな可能性も秘めている。
― 最後にひとつ。1ファイル1万行を超えるこの拡張機能は、ほぼすべて AI が生成した。…私は仕様も設計書も書かずに、わずか1ヶ月でプロデュースした成果です。
― AIと私(LAI)の共作。
🥷 魔法の呪文『かかか』(kakaka)
かかか(kakaka でも可)と打つ。それだけで、今カーソルのいる膜が Raw ―― 生データに切り替わる。打った文字は自ら消える。
生のマークアップを覗きたいときに。呪文をもう一度唱えれば、その膜は元に戻る。膜の外で唱えれば、ファイルの地が切り替わる ―― 従来どおりの「全体を素のエディタに」も、そのまま生きている。
そして ―― かな漢字変換は、Raw モードにするまでもなく快適だ。 装飾はすべてガター(行番号の脇)に描かれ、本文に指一本触れない。東アジア圏(CJK)の積年の悩みは、もう終わっている。
ボタンも、メニューも、ショートカットもいらない。ストレスフリー!
Type kakaka to show the raw source of the membrane you are in — cast it again to put it back. Outside every membrane it switches the whole file, exactly as it always did. (CJK input is already smooth without it: decorations live in the gutter, never touching your text.)
Reading — the story so far
MeOS is being built in the open, one idea at a time. Each of these is a short piece on one thing it does and
why it does it that way.
Changelog
Full version history: see CHANGELOG.md.