Repository navigation
Releases: jonathanmcw/obsidian-ideascape
Release list
1.0.0
Ideascape leaves beta. The plugin is 1.0; dropped and pasted content is the one part still marked as being refined.
Most of what is here came from two things: a read-only audit of every path that writes to a note, and a real iPhone
on the end of a cable. Six ways a note could lose text came out of the audit, none of them caught by a test here. Two more came off the
phone, invisible to every check in the repository, because the chrome was only ever rendered in a desktop's engine.
The format is now a promise. Every map's %%ideascape block carries a version now. One written by a newer
Ideascape opens in an older one, and fields that older one does not know are kept and written back, not dropped.
Your note's own text is kept. Fenced code under a node is left whole — a ^word inside it is not a block id, a
list line inside it is not a node, and a tab stays a tab. Frontmatter keeps its blank lines, and a marker whose value
runs over several lines is no longer written back as broken YAML. Quoted embed syntax survives attaching an image.
A late paste can no longer overwrite a reloaded map. Phones ask before handing over the clipboard, and a map
could move on while one waited — a sync landing, or another note opened. It now says so and pastes nothing.
On a phone: the note's name is no longer shaved at both ends, and in the outline it steps aside once the rows
scroll under it.
Export and "Open as a map" are out of beta.
Full list: CHANGELOG.md.
0.9.5
Almost all of this is the phone and the tablet, found by using one.
Typing on a phone
- The last row of an outline is no longer hidden behind Obsidian's navigation bar, or behind the editing dock. The bar's reach is measured now rather than assumed.
- The dock sits on the keyboard instead of a finger's width above it, and the row you are typing into settles where you can read it.
- Moving a row in or out a level stands in the dock itself — an outline is for nesting and a soft keyboard has no Tab.
- Delete is in the dock's More panel, and says so afterwards with Undo for five seconds rather than stopping to ask beforehand.
Gestures
- A finger on a list scrolls it. Reordering now waits for the finger to rest on a row, so scrolling no longer picks rows up by accident.
- A flick carries on and slows, and stops when you touch it.
- A finger the system takes away — a long press, a photo picker, a share sheet — is forgotten rather than remembered forever. Remembering one is what made a thumb zoom a map it meant to pan.
- A long press is no longer also a tap, which had been raising the keyboard and the context menu together on Android.
Fixed
- An image could be copied into a node that never had one: pressing Return for a new node and typing a character fetched the previous node's picture. This was the only fault here that damaged a note.
- The zoom, undo and redo buttons are back on phones and tablets — a stylesheet mistake in 0.9.3 hid them.
Changed
- Every built-in chord is a command, so its keys can be reassigned in Settings → Hotkeys.
- Focus takes the keyboard with it, so the arrow keys move between nodes rather than along the toolbar, and it no longer waits to be given a node — it falls back to the one you last typed into, then the root. It sits beside the Map/Outline toggle at every width.
- Fit joined the zoom steps in the corner. Alignment folds into one key that wears the current alignment, and its menu stands over that key.
- The Free layout joins children from the sides, as the tidy one does, instead of drawing lines from all four.
- A dock with a tablet's width unpacks what a phone folds under ⋯.
- The note's name stands in the canvas corner on every screen, and Bold has left the root, where it could only edit the file.
- Corner shape, type scale, icon weight and animation speed come from Obsidian's own variables.
Mobile screenshots are on the listing for the first time.
0.9.5-beta.9 — the name stays put
Ninth test build. Not a release.
- The note's name is back in the canvas corner on every screen, phone and tablet included — it never should have gone. Measured over the cable on the phone: the band is 37px of a 769px stage, two thirds of one row, and in the outline it sits above the first row rather than over it. The outline's own root row scrolls away; this one is pinned, which is the whole point of it.
This reverses the change in beta.8. The rendered check now holds all six shells to showing it.
0.9.5-beta.8 — hand-held chrome
Eighth test build. Not a release.
- The note's name is desktop-only now. A phone already dropped it; a tablet was still drawing it. On any hand-held Obsidian, its own header carries the name and the root node carries it again — a third copy costs map for nothing. The desktop keeps it, where it is Obsidian's inline title and the way a map is renamed.
- The rendered check gained a tablet shell (Obsidian's hand-held chrome at 1024px), which nothing had covered before. I put the old rule back and watched the check fail before trusting it.
Everything from beta.7 is still here: Delete and Done at the right-hand end, the undo toast, the two dock widths, and the de-duplicated alignment key.
0.9.5-beta.7 — tablet bar
Seventh test build. Not a release.
- The duplicated alignment key is fixed. Promoting it into the row left it under ⋯ as well.
- Delete and Done sit at the right-hand end of a bar with room, 22px apart. Done is a filled circle so a thumb finds it without reading the row.
- A dock 960px or wider carries every formatting key, leaving ⋯ with navigation only. Between 700 and 960 it carries italic, underline, link and alignment, as before.
- ⋯ is ordered by how often you reach for it: the rarer styling, then moving the row about, then Delete alone at the bottom.
- Deleting on a touch screen says so and offers Undo for five seconds.
On the modal: I did not add one. The map keeps whole history, so a delete is always reversible — a modal would tax every deliberate delete to catch the rare accident, whereas undo costs nothing when you meant it. If it still feels risky after trying it, the modal is a small change.
Unverified: forcing Obsidian's is-phone class on the desktop collapses its layout (the stage measures zero), so I cannot reproduce the docked-and-wide bar on this machine. The width thresholds are covered by tests; the row's actual layout is not. Your tablet is the only place it can be seen.
0.9.5-beta.6 — desktop and tablet
Sixth test build. Not a release. Includes everything in beta.5 plus:
- Bold is gone from the root's bar. The root is the note's
# headingand is drawn bold whatever its text says, so the key could only write**into your file while changing nothing on screen. On a phone, where Bold was the only formatting key in the row, Italic takes its place.
From beta.5, if you have not tried it yet:
- Focus takes the keyboard with it, and works with nothing selected (falls back to the last node you typed into, then the root).
- The alignment menu hangs off its own button.
- Free layout joins children from two sides, like Auto.
- A dock 700px or wider unpacks the ⋯ menu into the row — for tablets Obsidian calls phones.
Lopsided sides already work: dragging a branch across the root pins it to that side and freezes the others, so three-and-one or four-and-none both stick, and a branch added later fills the shorter side without moving anything you chose. That is now covered by tests so it cannot be tidied away.
0.9.5-beta.5 — desktop and tablet
Fifth test build. Not a release.
- Focus takes the keyboard with it. It was leaving the keys on the toolbar button you just pressed, which is why the arrows walked the bar instead of the map. It also says what the arrows do when it opens.
- Focus works with nothing selected — it falls back to the node you last typed into, then the root. The button is never dead.
- The alignment menu hangs off its own button, not the middle of the bar. Verified open: the two centres agree to the pixel.
- Free layout joins from two sides, like Auto. A child parked above or below its parent was being joined top-to-bottom, so the same map drawn two ways had lines leaving nodes on four sides in one and two in the other.
- A wide dock unpacks. Obsidian calls some tablets phones, so they get the phone's dock — with a tablet's width empty either side. At 700px or wider, italic/underline/link and the alignment key stand in the row instead of under ⋯.
Unverified: I could not force the docked-and-wide combination on the desktop (Obsidian owns the is-phone class), so the tablet row is covered by unit tests and your eyes, not a live measurement here.
0.9.5-beta.4 — phone and tablet testing
Fourth test build. Not a release.
- The dock stands on a measured lift. It was placed with the host's env() values, which say where a home indicator and a navigation bar are, not where the keyboard is — so on a host that lets the keyboard cover the page instead of resizing for it, the dock sat behind the keyboard. It now uses how much of the stage is actually hidden below the fold. This is my best candidate for the missing dock on Android.
- The checkbox is a span, not a button — a mobile theme that gives buttons a minimum size or padding was restyling it. Unconfirmed: measured against Obsidian's own mobile stylesheet at tablet width it was already 15x15 here, so I could not reproduce your stretching. If it persists, tell me whether you have a community theme enabled on Android.
- Alignment is one key that wears the current alignment, across every viewport, with the three under it.
- Flicks go further — half again as fast at their quickest, gliding about two seconds.
The keyboard-and-context-menu-together case should already be fixed in beta.3 (a long press is no longer treated as a tap); your screenshot is from before that.
Still open: the insert-picture button, and unpacking the ⋯ menu into a tablet's spare width.
0.9.5-beta.3 — phone testing
Third test build. Not a release: manifest.json on main stays at the published 0.9.4.
Gestures
- A finger on an outline row scrolls. Reorder now needs a 350ms rest on the row first. The sideways swipe for in/out a level is unchanged.
- Flick to scroll. The list carries on and slows, and stops when you touch it.
- A long press is no longer a tap — on Android it was raising the keyboard and the context menu together.
- Stale fingers dropped at the front door. A press the system takes over may never deliver its lift; a new primary press now clears anything left behind. This is the likely cause of scrolling the opposite way, and of the pasted-picture lockup.
Typing
- The dock sits on the keyboard, not a finger's width above it.
- The row being typed into settles in the middle of what you can see, so the end of a long block stays visible.
Data
- An image could be copied into a node that never had one — Return, then a character, fetched the previous node's picture. Fixed at the root: the kept-aside media now carries the node it belongs to.
New
- Delete is in the dock's More panel (the trash). A phone has no Backspace.
Not in this build: the insert-picture button, and using a tablet's extra width to unpack the ⋯ menu.
0.9.5-beta.2 — phone testing
Second test build. Not a release: manifest.json on main stays at the published 0.9.4, and this tag is not a plain version number, so Obsidian's updater never sees it.
Fixes from the first round on glass:
- The outline's last row is no longer covered while scrolling. The bottom reserve knew about the editing dock but not Obsidian's own navigation bar. Both are now one number.
- Move in / out a level are in the dock, between More and Return. On a narrow phone the eight keys shrink together to a 34px floor rather than overflowing the screen; they keep their full 44px height.
- The knob and collapsed count no longer jump sides when you switch between Auto and Free layout. They stand on the branch's outer edge relative to the root in both.
- Gestures are forgotten when the page loses the screen — a photo picker or share sheet can end a touch without telling the page, leaving a finger remembered forever so the next drag reads as a pinch. This may be the pasted-picture lockup; unconfirmed.
Still open: an insert-picture button, and confirming the paste lockup.