Repository navigation
Releases: netaart/cohub
Release list
@neta-art/cohub@12.4.0
Minor Changes
-
1597942:
itemAssetpictures can be Space files.BoardAssetReftakessrc, a Space path resolved throughresolveFileUrllike an image item's or a URL the page can load, in place ofurl; Space files get the same screen-sized CDN variants, cache entries andinvalidatePathrefreshes as built-in cards. Cropped pictures (fit: "cover") key ascover:followed by the plain key, andboardAssetRefKeyreturns null for an emptysrc.Hosts: rename
urltosrcinitemAssetresults 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:
mountBoardStagetakeshandlesHit(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 setsimageBackground.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.
createBoardEditortakestouchRotation: falseto 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
v2.78.0
- **Local-first Boards**: Board replicas now keep their document cach…
v2.77.0
- **Size-aware Board rendering**: Detail now follows each card's on-s…
@neta-art/cohub@12.3.0
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.
mountBoardStageandcreateBoardAssetManagernow defaultlod,prefetch,concurrencyandlruBudgettodefaultBoardDeviceBudget(): 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. Passprefetch: 0, or the previouslod,lruBudgetandconcurrency, to keep the old behavior.boardDeviceBudgetandreadBoardDeviceSignalsexpose the tiers, asset managers gain an optionalprefetch, and stagestats()addsloading,prefetching,waiting,settling,frameandinterval.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
getToneand thereadToneoption,subscribelisteners receive the change kind ("texture"or"tone"), and render contexts offerassetTone.Hosts: no action. Custom renderers can fill far plates with
farPictureTone(item, context). -
e95cd08:
board/renderexportsdrawFarPlate,drawFarBarsandfarPictureTonefor custom renderers'renderFar, andboard/stageexportsrunBoardStageBench, 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
createBoardAssetManageranitemAssetthat 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. CallinvalidateItemAssets()when the dataitemAssetreads changes, and useboardAssetRefKeyto look a picture up by URL.Hosts: replace asset manager wrappers with
itemAsset.BoardAssetManageris meant to be built bycreateBoardAssetManagerand 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 extensiondescribes it.Hosts: write
previewon 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.subscribehandlers gainresync, andspace.boards.open(target)opens a Board by id or.boardpath.Hosts: pass the IndexedDB storage to
createBoardReplicaand drop refresh polling. -
4110d6e: Board items can open on a tap. Define a type with
activation: "tap"and handle the stage'sonActivate: 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.onLongPressreports 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 withhitAt; the stage shows their cursor, passescontext.hoveredHitand routes presses toonHit. Media play keys use the same path (BOARD_PLAY_MEDIA).editor.commitPatchtakes{ record: false }to keep a write out of undo, and the root entry exportsbuildViewportContentBlockwith the viewport context types.Hosts: replace pointer interception for opening cards, long presses and card keys with these options.
-
e95cd08:
layoutTextLinestakes{ maxLines, whiteSpace }: it clamps text likeline-clamp, ending the last line in an ellipsis, collapses white space withwhiteSpace: "normal", and reportstruncated. Ellipses no longer split emoji or other grapheme clusters.ellipsizeWrappedLinesis removed; usemaxLines.Hosts: wrap canvas card text with
layoutTextLinesinstead 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.
boardTextEditLayoutfromboard/renderreturns that placement for text, shape, frame and arrow items, andboardEditableTextfromboardreturns the text an editor edits.Hosts: place in-place text editors with
boardTextEditLayoutinstead 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
BoardRenderStyleobjects needframeLabelSize; build them withresolveBoardRenderStyle.
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.runandpublic.cohub.runnow 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
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.
mountBoardStageacceptslod(DEFAULT_BOARD_LOD,COMPACT_BOARD_LOD), stages reportstats(), asset managers addfocus,statsandshrinkTexture, andplanLruTrimplans 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:
selectBoardExportAssetsnow takes{ scale, maxBytes? };boardImageKeySourceis replaced byboardAssetKeySource, andboardAssetKey/boardTextureEdgemove fromboard/stagetoboard. The SDK addsboardRenderTheme,BOARD_THEME_IDS,settleBoardMediaSizesand 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 andcohub boards exportlay 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:
setBoardTextLayouterreplacessetBoardTextMeasurer, taking a whole text and returning its lines.board/renderaddslayoutTextLines,boardTextStyleandonBoardTextFontsChange;boardaddslayoutShapeLabel; the editor addsrelayoutText().syncTextWrapWidthis removed.
@neta-art/cohub-cli@10.11.0
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 extensiondescribes it.Hosts: write
previewon 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
Minor Changes
- 3962c30: Add
cohub feedbackto 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
- **Weakly consistent directory listings**: Live file listings now be…
v2.75.0
- **Pixel-exact Board text**: Board text now rasterizes at the exact …