playcanvas / playcanvas/editor

Proposal: Packages section in the project Settings

Open
#601 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: editor interface enhancement requires: schema
Dominant language
TypeScript
Stars
1.3k
Forks
215
Avg merge
1d 29m
Merged PRs (30d)
30

Description

At the moment we have various import buttons: "Import Area Lights", "Import Ammo", "Import Basis". We also don't have an easy way to include Draco and MeshOptimizer. All of these import some files to the project that the people really don't need to see there.

I think we should create a new section in settings, perhaps called Packages, and list all these there with a tickbox. This would include a default engine supported version of the package into the build.

In place of all these "Import .." buttons, we'd have button such as "Enable this feature here", that would bring you to the Packages settings.

Each line in packages could look like:

[ ] Ammo Physics v 1.2.3 (255kb)
[ ] Area Lights v1.0 (100kb)

The user can include the version that is tested to be compatible with the engine easily. If they want different version, they would untick this and import it the usual way.

Ideally the list (json) of supported packages would be part of the engine, and released with the engine. So that if in the engine we update to newer Draco module, we'd update the json file, and when people use this version of the engine in the Editor, it would automatically start using new module. Or let user upgrade?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files or tests. Start by tracing the existing Import Area Lights, Import Ammo, and Import Basis controls and the project Settings UI. Before implementation, settle the package manifest, version, and upgrade behavior; done would require an agreed design for listing, enabling, and redirecting users to Packages settings.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.