Skip to content

Releases: netaart/cohub

@neta-art/cohub@12.4.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 02:27
24ce6ed

Minor Changes

  • 1597942: itemAsset pictures can be Space files. BoardAssetRef takes src, a Space path resolved through resolveFileUrl like an image item's or a URL the page can load, in place of url; Space files get the same screen-sized CDN variants, cache entries and invalidatePath refreshes as built-in cards. Cropped pictures (fit: "cover") key as cover: followed by the plain key, and boardAssetRefKey returns null for an empty src.

    Hosts: rename url to src in itemAsset results and pass Space paths as they are.

  • 1597942: Board replicas read the server while their local cache loads instead of after it, so a slow or stalled IndexedDB no longer delays the first document. The cached document still shows first whenever it arrives before the server answers.

    Hosts: no action.

  • 1597942: mountBoardStage takes handlesHit(item, action): card keys it rejects show no cursor and their presses go to the editor, so a play key the host does not open no longer looks clickable. viewLayer: "below" puts DOM views under the canvas, so selection, arrows and strokes draw over them; pair it with a theme that sets imageBackground.

    Hosts: no action.

  • 1597942: A touch on the selected item drags it instead of starting an arrow from a connection port whose touch reach covers it when zoomed out; ports outside the item still draw arrows. createBoardEditor takes touchRotation: false to move and resize selections by touch and pen without a rotation handle.

    Hosts: no action.

Patch Changes

  • 1597942: The Neta Pixel, Neta Pixel Dark and Neta Studio Board themes take Neta Studio's design tokens: lighter Pixel borders and hovers, Studio's darker Pixel Dark greys, and Studio's cream ladder and translucent surfaces in Neta Studio.

    Hosts: no action.

@neta-art/cohub-cli@10.11.1

Choose a tag to compare

@github-actions github-actions released this 23 Oct 02:27
24ce6ed

Patch Changes

  • Updated dependencies [1597942]
  • Updated dependencies [1597942]
  • Updated dependencies [1597942]
  • Updated dependencies [1597942]
  • Updated dependencies [1597942]
    • @neta-art/cohub@12.4.0

v2.78.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 17:03
- **Local-first Boards**: Board replicas now keep their document cach…

v2.77.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 03:52
- **Size-aware Board rendering**: Detail now follows each card's on-s…

@neta-art/cohub@12.3.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 16:53
e49956a

Minor Changes

  • dcd541b: Boards adapt to the device on their own. Input reaches the screen one frame sooner: every stage update now syncs and renders in the same animation frame. New cards, far plates and text refreshes are paced by measured frame time instead of fixed counts, so fast devices settle in a few frames while slow ones keep their frame rate. Multisampling turns off at 3× density.

    mountBoardStage and createBoardAssetManager now default lod, prefetch, concurrency and lruBudget to defaultBoardDeviceBudget(): phones and devices reporting little memory get the compact budget, devices reporting plenty of memory and cores a larger cooling pool and more parallel loads, and a resting camera warms pictures just beyond the view unless Save-Data is on or the connection is slow. Pass prefetch: 0, or the previous lod, lruBudget and concurrency, to keep the old behavior. boardDeviceBudget and readBoardDeviceSignals expose the tiers, asset managers gain an optional prefetch, and stage stats() adds loading, prefetching, waiting, settling, frame and interval.

    Hosts: no action.

  • e95cd08: Zoomed far out, Board pictures keep their color: images, video stills, task previews, file covers and model stills draw in their average color instead of a neutral plate once they have loaded. The color is read while the browser is idle and kept after the texture is released. Asset managers add getTone and the readTone option, subscribe listeners receive the change kind ("texture" or "tone"), and render contexts offer assetTone.

    Hosts: no action. Custom renderers can fill far plates with farPictureTone(item, context).

  • e95cd08: board/render exports drawFarPlate, drawFarBars and farPictureTone for custom renderers' renderFar, and board/stage exports runBoardStageBench, the wheel-driven benchmark the Cohub app uses, reporting frame and settle times per phase. The SDK README gains a guide to hosting a Board.

    Hosts: no action.

  • e95cd08: Boards load pictures for your own item types through the same pipeline as built-in cards. Give createBoardAssetManager an itemAsset that maps an item to { url, media?, fit? }; those pictures get screen-sized CDN variants, loads ordered by where the view is heading, prefetch, compact copies when panned away, device budgets, one shared cache and exports. fit: "cover" sizes the short edge for pictures cropped to fill their box. Call invalidateItemAssets() when the data itemAsset reads changes, and use boardAssetRefKey to look a picture up by URL.

    Hosts: replace asset manager wrappers with itemAsset. BoardAssetManager is meant to be built by createBoardAssetManager and gains members as the SDK grows.

  • 4110d6e: Extension items take a preview (title, excerpt, cover, src). Clients and exports without the type's renderer draw it as a file card, and item titles, including the selection sent to agents, use it. boards schema extension describes it.

    Hosts: write preview on your own item types and keep it current.

  • 4110d6e: Board replicas keep their cache and unsent writes in IndexedDB with createIndexedDbBoardReplicaStorage({ userKey, spaceId, boardId }), so a reload shows the last document at once and never loses an edit; clearBoardReplicaStorage({ userKey }) forgets them on sign-out. Replicas read the Board again when realtime reconnects and resend pending writes when the network returns, and writes applied while storage loads are no longer dropped. BoardRemote.subscribe handlers gain resync, and space.boards.open(target) opens a Board by id or .board path.

    Hosts: pass the IndexedDB storage to createBoardReplica and drop refresh polling.

  • 4110d6e: Board items can open on a tap. Define a type with activation: "tap" and handle the stage's onActivate: a quick press opens the item without selecting it, a drag moves it without selecting it (or pans with the hand tool or read-only), and hovering shows a pointer instead of connection ports. onLongPress reports a still touch or pen; editor.pickUp() there picks the item up and drags it. The stage drops the click a touch screen sends after an opening tap. Renderers declare keys drawn on a card with hitAt; the stage shows their cursor, passes context.hoveredHit and routes presses to onHit. Media play keys use the same path (BOARD_PLAY_MEDIA). editor.commitPatch takes { record: false } to keep a write out of undo, and the root entry exports buildViewportContentBlock with the viewport context types.

    Hosts: replace pointer interception for opening cards, long presses and card keys with these options.

  • e95cd08: layoutTextLines takes { maxLines, whiteSpace }: it clamps text like line-clamp, ending the last line in an ellipsis, collapses white space with whiteSpace: "normal", and reports truncated. Ellipses no longer split emoji or other grapheme clusters. ellipsizeWrappedLines is removed; use maxLines.

    Hosts: wrap canvas card text with layoutTextLines instead of a separate line breaker.

  • e95cd08: Editing a frame title or an arrow label now opens the editor exactly over the canvas text, in the same font, size and position. boardTextEditLayout from board/render returns that placement for text, shape, frame and arrow items, and boardEditableText from board returns the text an editor edits.

    Hosts: place in-place text editors with boardTextEditLayout instead of computing their geometry.

  • 4110d6e: Board themes set frame titles with style.frameLabelSize; the title's position, the editor's hit box and the in-place editor follow it. The Neta themes draw 16px titles and a 1.5px selection that hugs the item, and Neta Studio selects in blue.

    Hosts: custom BoardRenderStyle objects need frameLabelSize; build them with resolveBoardRenderStyle.

Patch Changes

  • b01e55d: The board stage redraws in the same frame its canvas resizes, so opening a soft keyboard or resizing the window no longer flashes a stretched frame.

  • e95cd08: Images on oss.talesofai.com, works.cohub.live, works.cohub.run and public.cohub.run now load as resized variants on Boards and are downscaled before reaching a model, like other Cohub media hosts.

    Hosts: no action.

@neta-art/cohub@12.2.0

Choose a tag to compare

Minor Changes

  • 276874d: Boards keep cards visible as long as they are legible. Detail now depends on each card's size on screen rather than how many cards are in view: pictures stay real down to a few pixels, text fades to line bars, and the rest draw as plates painted only where they change. Panning a board full of images stays smooth: loads start where the view is heading, pictures fade in over several frames, small pictures hold small textures, and pictures panned away stay warm as compact copies instead of downloading again. mountBoardStage accepts lod (DEFAULT_BOARD_LOD, COMPACT_BOARD_LOD), stages report stats(), asset managers add focus, stats and shrinkTexture, and planLruTrim plans which cooling textures shrink or leave.

  • d8256d6: Board views and CLI writes now use one media-sizing rule. Exports match the Cohub app's colors, card styles, fonts and previews, including video covers from Cohub-hosted media. Texture selection follows a decoded-memory budget instead of a 64-image cap. Emoji render in color, and Node exports use the variable Geist fonts.

    Breaking for direct export callers: selectBoardExportAssets now takes { scale, maxBytes? }; boardImageKeySource is replaced by boardAssetKeySource, and boardAssetKey / boardTextureEdge move from board/stage to board. The SDK adds boardRenderTheme, BOARD_THEME_IDS, settleBoardMediaSizes and media probe helpers.

  • 58a8e66: Board text wraps where the browser wraps it. Chinese, Japanese and Korean text no longer breaks early after a dash or overflows its selection box, punctuation such as , and 。 never starts a line, and long URLs break instead of running past their box. The canvas, the in-place editor and cohub boards export lay text out once, with the same lines, so editing no longer shifts text or shows it twice, and typing animations reveal text without reflowing. Shape labels align to their padding when left- or right-aligned.

    SDK: setBoardTextLayouter replaces setBoardTextMeasurer, taking a whole text and returning its lines. board/render adds layoutTextLines, boardTextStyle and onBoardTextFontsChange; board adds layoutShapeLabel; the editor adds relayoutText(). syncTextWrapWidth is removed.

@neta-art/cohub-cli@10.11.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 16:54
e49956a

Minor Changes

  • 4110d6e: Extension items take a preview (title, excerpt, cover, src). Clients and exports without the type's renderer draw it as a file card, and item titles, including the selection sent to agents, use it. boards schema extension describes it.

    Hosts: write preview on your own item types and keep it current.

Patch Changes

  • 19c1520: Recover disconnected file bridges after the Runtime reconnects, while leaving healthy bridges and the Runtime process running.
  • Updated dependencies [dcd541b]
  • Updated dependencies [e95cd08]
  • Updated dependencies [e95cd08]
  • Updated dependencies [e95cd08]
  • Updated dependencies [4110d6e]
  • Updated dependencies [4110d6e]
  • Updated dependencies [b01e55d]
  • Updated dependencies [4110d6e]
  • Updated dependencies [e95cd08]
  • Updated dependencies [e95cd08]
  • Updated dependencies [4110d6e]
  • Updated dependencies [e95cd08]
    • @neta-art/cohub@12.3.0

@neta-art/cohub-cli@10.10.0

Choose a tag to compare

Minor Changes

  • 3962c30: Add cohub feedback to send feedback to the Cohub team from the terminal, with file attachments, optional local Runtime diagnostics, and automatic CLI, OS, account, and Space/Chat context. 新增 cohub feedback,可在终端向 Cohub 团队提交反馈,支持附件、可选的本地 Runtime 诊断日志,并自动附带 CLI、系统、账号与 Space/Chat 上下文。

v2.76.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 15:40
- **Weakly consistent directory listings**: Live file listings now be…

v2.75.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 09:58
- **Pixel-exact Board text**: Board text now rasterizes at the exact …