mrkeyoor.com_
Sat 17 Oct 13:32 UTC
Webevaluationupdated 15 Oct 2026

trellis review

Trellis is a layout engine for web applications where users arrange panels into their own workspace. It lets them nest, dock, float, and zoom panels while keeping the views mounted, which helps editors and canvases retain their state during rearrangement.

+1 / 1dstars / 7d
Verdict

Trellis passed all 108 tests in our sandbox, with a 14-second build and 0 known npm audit vulnerabilities, so its measured developer setup is an encouraging starting point. Choose it when keeping editor views alive through nested panel rearrangements is central to your product. Settle the commercial license and prototype persistence behavior before committing your application to its layout model.

We ran it

Lab card: what happened when we ran trellisScreenshot of trellis (trellisui.com)
Install✓ · 13s237 packages · 157 MB
Build✓ · 14s
Tests✓ · 8s108 passed · 0 failed of 108 (vitest)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo223 files~24,885 lines of source · 2.5 MB · 3 CI workflows

Answers from our run

Does trellis build from source?

Dependencies installed in 13 seconds (237 packages), and the build succeeded in 14 seconds. We cloned commit 9d1da36 into a clean Debian container with 3 CPUs and no project-specific setup.

Do trellis's tests pass?

Yes. The project's own test command finished in 8 seconds and reported 108 passed, 0 failed (vitest).

Does trellis have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use trellis?

Commercial teams expecting permissive open-source licensing: small organizations need active sponsorship, and larger ones need an enterprise license.

What are the alternatives to trellis?

FlexLayout, Dockview. Trellis passed all 108 tests in our sandbox, with a 14-second build and 0 known npm audit vulnerabilities, so its measured developer setup is an encouraging starting point.

Setup4/513-second install and green build, with integration work still needed
Docs5/5Specific FAQ answers cover mounting, JSX, sizing, and hydration
Community2/5232 stars and current open PRs, with a small public track record
Maturity3/5108 passing tests, but browser integration still needs evaluation

Who it’s for

Developers building browser editors, art applications, or workspaces whose panels users need to rearrange.
React teams that want a supplied adapter, or other framework users willing to integrate through the core mounting API.
Products that benefit from nested layouts and camera navigation enough to justify the commercial licensing terms.

Who it’s NOT for

Commercial teams expecting permissive open-source licensing: small organizations need active sponsorship, and larger ones need an enterprise license.
React applications that expect changed layout JSX to update an existing workspace: the FAQ says those declarations are read once.
Products that need the full workspace rendered on the server: the React adapter emits an empty host and initializes after hydration.
Interfaces that require directly maximizing a floating panel: the FAQ says to dock it first.

Setup reality

Our sandbox installed Trellis commit 9d1da36 in 13 seconds, adding 237 packages and using 157 MB. The build passed in 14 seconds. Vitest passed all 108 tests in 8 seconds, with 0 failures, and npm audit reported 0 known vulnerabilities.

Trellis needs integration into your own browser application, including registered view types and imported styles. The README describes core, React, and custom-element packages. No hosted service credentials are needed for the documented local workspace examples, but your commercial use needs the appropriate license.

Give the workspace host an explicit size or it can appear blank. React layout declarations define the initial state, and the workspace mounts on the client after hydration. Use the documented runtime API for later layout changes, and account for saved layouts when revising defaults.

Moving panels keeps editor views mounted

Trellis keeps a view's content mounted while a user docks, floats, or hides its panel. The documentation says it repositions the existing content container with CSS, and the React adapter uses a portal whose container stays put. That is a useful reason to choose a layout engine for an editor: rearranging the workspace shouldn't casually discard the state inside a canvas, iframe, or document view.

Our checkout contained 223 files and roughly 24,885 source lines in 2.5 MB. The project has a framework-independent core, a React adapter, and a custom element. Its scope is the workspace around your application content. You still provide the editor, terminal, or document renderer. I would evaluate Trellis when nested panels and zoom navigation solve a recurring problem for users, rather than adding it to make a simple dashboard look busier.

What happened when we ran it

Our sandbox installed Trellis commit 9d1da36 in 13 seconds, adding 237 packages and occupying 157 MB. The October 14, 2026 run used a fresh Debian container with 3 CPUs, 8 GB of RAM, image lab-node:22, no secrets, and no elevated privileges. The build succeeded in 14 seconds, and Vitest completed in 8 seconds with 108 passed and 0 failed.

Npm audit reported 0 known vulnerabilities. Our scan found 3 CI workflow files and workspace configuration for a monorepo, without a Dockerfile or a tests directory. The absence of that directory doesn't contradict the passing Vitest result. These are observations from the measured checkout, not a promise about all dependency revisions or every application that embeds the library.

Those 108 passing tests make Trellis easier to recommend for a trial, but they don't measure your editor's behavior during a drag. Our supplied results contain no frame-rate, memory, or browser interaction benchmark. Check whether a real document retains its state when moved, whether the saved workspace returns correctly, and whether the gestures fit your application's own pointer handling. That's where a layout library earns its place.

React layout declarations are initial state

The Trellis FAQ says layout JSX is read once. After initialization, users own the layout, and code changes it through methods such as open, dock, or setDocument. This can surprise a React developer accustomed to treating rendered declarations as the current source of truth. A new default arrangement also has to contend with a previously persisted workspace.

The 14-second build tells us compilation worked, while this state model determines integration effort. The README's React example gives Workspace a storageKey and version, and the FAQ says to bump the version when persistence gets in the way. Decide how your app handles changed defaults before users accumulate carefully arranged panels. Replacing everyone's saved workspace may be technically convenient and still be the wrong product behavior.

An empty host needs explicit sizing and client hydration

Trellis fills its host instead of sizing itself to its contents. The FAQ names missing host height as the usual explanation for a blank workspace. It also says the React adapter renders an empty host on the server and creates the workspace after hydration. That is reasonable for a browser editor, but it rules out expecting server-rendered panels to carry your initial page content.

A 157 MB local environment is manageable for experimentation, and the README supplies paint, IDE, desktop, and vanilla examples. Start with the one closest to your application and replace a view with actual content. Include a slow or stateful renderer in that experiment. A workspace full of placeholder boxes won't reveal whether your canvas sizing or iframe update strategy cooperates with the layout engine.

Floating panels and iframes have documented limits

The FAQ says a floating window cannot be maximized directly because floating windows aren't camera targets. The documented route is to dock it first and then maximize the docked panel. That behavior may fit a workspace organized around a main stage. If your users expect every floating window to behave like an operating-system window, evaluate the difference before designing controls around it.

The iframe guidance is equally concrete: changing computed iframe options reloads the frame, while a fixed URL with messages can support live preview updates. Pinch events inside an iframe don't reach the outer workspace. These details matter more than our 8-second test duration when your product embeds an existing web application. The library preserves mounting through rearrangement, but it cannot erase browser boundaries around embedded content.

Commercial use requires an ongoing license arrangement

The license overview makes non-commercial use free. Commercial organizations with 10 or fewer developers need an active GitHub Sponsorship at the required tier, while larger organizations need an enterprise license. The FAQ calls Trellis source-available. Treat it that way in procurement, even though you can read and modify the code. A prototype's licensing conditions may change when it becomes a commercial product.

FlexLayout is worth comparing if MIT terms and React docking satisfy the job. Dockview is another relevant comparison for tabs and split layouts. Trellis earns its trial through the combination of retained views and navigation across nested workspaces. Pay for that distinction only if it helps your users work, and obtain the applicable terms before it becomes expensive to replace.

October pushes include work that is still proposed

GitHub recorded a push on October 2, 2026, with 232 stars and 2 open issues and PRs when checked. Both open entries are pull requests, including an experimental camera renderer. There is no latest GitHub release entry. The push date and current proposals show development activity, but an open proposal is insufficient evidence that an improvement ships in the version you're using.

The experimental renderer PR discusses trade-offs during camera motion. Keep that discussion separate from the 108 passing tests in our measured checkout. I would adopt Trellis only after a representative document survives rearrangement and restoration in the target browser. That gives the commercial conversation a concrete basis: a workspace behavior your users need.

Alternatives

ProjectWhat it isPick it when
FlexLayoutAn MIT-licensed docking layout manager for React.pick this instead when React docking is enough and you need permissive commercial terms.
DockviewA docking layout manager with tabs, groups, grids, and split views across several frameworks.pick this instead when you want to compare conventional docking and framework adapters before adopting nested zoom navigation.

What people are saying

  1. [github-trending] microsoft/TRELLIS.2
  2. [velocity-scout] DanFessler/trellis

Sources

  1. Trellis README
  2. Trellis FAQ
  3. Layout concepts
  4. License tiers
  5. Proposed camera renderer

More web reviews

dioramas · elpis · deepseek-whale-girl · floorplan-3d · taro · driver.js · the whole board →