@creator-notes/cnotes 0.73.0 → 0.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@creator-notes/cnotes",
3
- "version": "0.73.0",
3
+ "version": "0.75.0",
4
4
  "description": "CLI for CreatorNotes — create notes, build canvases, search knowledge from the terminal",
5
5
  "type": "module",
6
6
  "bin": {
@@ -309,7 +309,12 @@ cnotes canvas get <canvasId>
309
309
  # to {id, kind, displayId, label, positionX, positionY, width, height} — plus
310
310
  # `contentBounds` (the bounding box of everything). Use allNodes/contentBounds to
311
311
  # reason about occupancy in one read instead of unioning the per-kind arrays.
312
- # (You rarely need this for placement — `cnotes canvas place` already avoids overlaps.)
312
+ # Portals live in canvasLinkNodes, NOT nodes: checking only `nodes` is how a card
313
+ # got dropped exactly on a portal. (You rarely need this for placement —
314
+ # `cnotes canvas place` already avoids overlaps.)
315
+ # See the whole layout before touching x/y: every item's box by kind, the pairs
316
+ # that overlap, and with --near a free spot next to an anchor.
317
+ cnotes canvas status <canvasId> [--near <displayId|nodeId|x,y>] [--size 280x130]
313
318
 
314
319
  # Read a canvas as STRUCTURE, not just content — one round-trip to think across it.
315
320
  # Returns the notes as concatenated markdown in display order (top-to-bottom, then
@@ -352,7 +357,10 @@ cnotes canvas unarchive <canvasId>
352
357
 
353
358
  # Add nodes to canvas — see "Canvas Elements — When to Use What" before choosing.
354
359
  # Default to NOTES for content; text/list/section are presentation furniture.
355
- cnotes canvas add-node <canvasId> --note <noteId> [--x <n>] [--y <n>] # (despite the name, add-node adds NOTE nodes only)
360
+ # PUT CARDS ON A CANVAS WITH `canvas place` (below): it packs them overlap-free and
361
+ # --placement auto finds the space. add-node is LOW-LEVEL: raw x/y, no collision
362
+ # check (it warns after the fact). Only use it with a spot from `canvas status --near`.
363
+ cnotes canvas add-node <canvasId> --note <noteId> [--x <n>] [--y <n>] # low-level; NOTE nodes only
356
364
  # text = free-form rich text placed on the canvas (wire type: richtext). Markdown —
357
365
  # headings, emphasis, images. Optional background tint (--color); DEFAULT IS NO BACKGROUND.
358
366
  # A HEADING IS JUST `--content '# Q1 Goals'` with no tint — there is no separate heading
@@ -405,6 +413,12 @@ cnotes canvas add-section <canvasId> --name "<title>" [--x <n>] [--y <n>] [--wid
405
413
  # breaks every [[SECTION-51]] mention pointing at the old one.
406
414
  cnotes canvas update-section <canvasId> --section SECTION-51 --height 1800
407
415
  cnotes canvas update-section <canvasId> --section SECTION-51 --name "Open Questions" [--x <n>] [--y <n>] [--width <n>] [--color "<hex>"] [--clear-color]
416
+ # Edit a Text card's words IN PLACE (same node id, edges and mentions survive).
417
+ # Card ids: the `id` on kind:richtext elements in `cnotes canvas read <canvasId> --json`.
418
+ # --find must match exactly once; never delete + re-add a card to change its copy.
419
+ cnotes canvas update-text <canvasId> --node <nodeId> --find "picks none" --replace "picks none (10 Oct 2026)"
420
+ cnotes canvas update-text <canvasId> --node <nodeId> --append "Answered on 10 Oct 2026."
421
+ cnotes canvas update-text <canvasId> --node <nodeId> --content-file ./banner.md [--size large] [--color "<hex>"]
408
422
 
409
423
  # Place items using a declarative layout (NO x/y math — server packs them)
410
424
  # This is the PREFERRED way to add multiple items. See "Canvas Layout" below.
@@ -421,6 +435,9 @@ cnotes canvas arrange <canvasId> --section SECTION-90 \
421
435
  cnotes canvas bulk-add <canvasId> --notes '[{"noteId":"NOTE-1","x":100,"y":100},{"noteId":"NOTE-2","x":400,"y":100}]'
422
436
 
423
437
  # Move / remove nodes (--type for non-note nodes, e.g. --type section)
438
+ # move-node is LOW-LEVEL: raw x/y, no collision check (it warns when the node lands
439
+ # on something). To tidy or reorganize, use `canvas arrange`; to pick a spot by
440
+ # hand, get one from `canvas status <canvasId> --near <ref>` first.
424
441
  # NOTE: `text` in these type lists is the LEGACY heading kind (old canvases only). It can no
425
442
  # longer be CREATED, but existing ones stay movable and deletable — that is why it is still
426
443
  # accepted here. Today's Text element is `richtext`.