Skip to content

feat: port OutlinedPathLayer from ubilabs/outlined-path-layer#484

Closed
Copilot wants to merge 3 commits intomasterfrom
copilot/port-outlined-path-layer
Closed

feat: port OutlinedPathLayer from ubilabs/outlined-path-layer#484
Copilot wants to merge 3 commits intomasterfrom
copilot/port-outlined-path-layer

Conversation

Copy link
Contributor

Copilot AI commented Feb 15, 2026

Ports @ubilabs/outlined-path-layer into @deck.gl-community/layers.

Screen.Recording.2026-02-15.at.11.44.11.PM.mov

Changes

  • modules/layers/src/outlined-path-layer/ — new layer directory with:
    • outlined-path-layer.ts — extends PathLayer, adds instanced outline color/width attributes
    • outlined-path-layer-vertex.glsl.ts — computes inner vs outline geometry via width ratio
    • outlined-path-layer-fragment.glsl.ts — branchless inner/outline coloring
    • outlined-path-uniforms.ts — uniform block for outline width units/min/max
  • modules/layers/src/index.ts — exports OutlinedPathLayer and OutlinedPathLayerProps

Usage

import {OutlinedPathLayer} from '@deck.gl-community/layers';

new OutlinedPathLayer({
  id: 'paths',
  data,
  getPath: d => d.path,
  getColor: [255, 0, 0],
  getWidth: 5,
  getOutlineColor: [0, 0, 0, 255],
  getOutlineWidth: 2,
  outlineWidthUnits: 'pixels',
});

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/ubilabs/outlined-path-layer/contents/src
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (http block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Port the OutlinedPathLayer from https://github.com/ubilabs/outlined-path-layer
into @deck.gl-community/layers. This layer extends PathLayer to add a true
colored border/outline around paths, with configurable outline color, width,
and units.

This is fundamentally different from the existing PathOutlineLayer which uses
a two-pass shadowmap approach for z-level ordering. The OutlinedPathLayer
adds per-path outline properties (getOutlineColor, getOutlineWidth,
outlineWidthUnits, outlineMinPixels, outlineMaxPixels) rendered in a single
pass with custom vertex/fragment shaders.

Co-authored-by: charlieforward9 <62311337+charlieforward9@users.noreply.github.com>
Copilot AI changed the title [WIP] Port outlined path layer to deck.gl community layers feat: port OutlinedPathLayer from ubilabs/outlined-path-layer Feb 15, 2026
@charlieforward9 charlieforward9 marked this pull request as ready for review February 16, 2026 03:27
Add an interactive example for the ported OutlinedPathLayer, ported from
the ubilabs demo with full control panel: Width, Width Units, Outline Width,
Outline Width Units, Outline Color, Width/Outline Min/Max Pixels, Cap Rounded,
Joint Rounded, and Miter Limit. Uses sinusoidal weaving routes on a dark
background to clearly showcase the outline effect.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@charlieforward9 charlieforward9 force-pushed the copilot/port-outlined-path-layer branch from 0298e63 to 4a3a6f3 Compare February 16, 2026 04:46
@ibgreen
Copy link
Collaborator

ibgreen commented Feb 16, 2026

From the repo

we are not planning further development. Our goal is to support the integration of outline functionality directly into deck.gl.

Moving this to deck.gl-community would be a good first step towards this goal.

Copy link

@pappkartoni pappkartoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for porting this!
Looks good to me.

I agree this serves as a good first step to hopefully integrate this into base deck.gl at some point.

If I decide to make changes / add features I plan on doing so in the original repo so there might arise the need to update this here as well, just wanted to mention this.

Cheers

@charlieforward9

This comment was marked as outdated.

@charlieforward9
Copy link
Collaborator

Inline with the discussion in #495

openjs-foundation/open-visualization#43 supercedes this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants