GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - PCL-Community/PCL.Proto: Modeled after PCL2 and PCL2-CE, with a goal of providing a standardized prototype sample for each PCL branch version.

BranchesTags
Open more actions menu

Latest commit

 

History

444 Commits
444 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
.vscode
.vscode
 
 
app.icon
app.icon
 
 
crates
crates
 
 
docs
docs
 
 
packages/components
packages/components
 
 
public
public
 
 
scripts
scripts
 
 
src-tauri
src-tauri
 
 
src
src
 
 
tests/ui
tests/ui
 
 
vendor/pnet-datalink
vendor/pnet-datalink
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
AGENTS.md
AGENTS.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
Cargo.lock
Cargo.lock
 
 
Cargo.toml
Cargo.toml
 
 
LICENSE
LICENSE
 
 
README-CN.md
README-CN.md
 
 
README.md
README.md
 
 
bun.lock
bun.lock
 
 
bunfig.toml
bunfig.toml
 
 
env.d.ts
env.d.ts
 
 
index.html
index.html
 
 
package.json
package.json
 
 
screenshot.png
screenshot.png
 
 
tsconfig.app.json
tsconfig.app.json
 
 
tsconfig.json
tsconfig.json
 
 
tsconfig.node.json
tsconfig.node.json
 
 
vite.config.ts
vite.config.ts
 
 

Repository files navigation

PCL.Proto

| 中文版点我 |

PCL.Proto

With the rapid launch of PCL branch versions, UI restoration has become a major challenge for many developers. PCL.Proto emerges as a solution.

screenshot

This project is modeled after PCL2 and PCL2-CE, with a goal of providing a standardized prototype sample for each PCL branch version. The repository is built using Vue3, and if your project uses Webview as the frontend, you can directly reference this project.

The project is also ready for preview at PCL.Proto.

The website and desktop client are maintained together on main. Browsers show the project introduction, launcher preview, and interactive component demos on the home page. The PCL homepage editor is also available from the toolbox. The desktop client shows only the launcher.

Run bun run deploy to check, build, and publish the website to origin's gh-pages branch.

Prototype

If your PCL branch version or your custom launcher is not based on Web technology, referencing this repository directly might have limited convenience. You may head to js.design - 「PCL.Prototype」 to view the specific application prototype, export the cut image or refer to the style code generated by it.

In case you would like to modify the prototype design file, you are welcome to click this link to join the team.

Project Configuration

Prerequisites

  • Install Bun 1.4.4 or later. The project uses Bun for package management, scripts, formatting, and UI checks.
  • The device should have a usable rust toolchain installed.

Platform Specific

  • Windows: the MSVC toolchain, C++ development tools, and Windows SDK are required. Run bun run setup:windows to prepare the Protobuf compiler and WinDivert driver. Npcap is no longer a build dependency; the launcher installs it on demand the first time multiplayer is used. The Tauri WebView2 runtime is assumed to be present.
  • macOS: make sure that Xcode is installed. You also need to install protobuf via Homebrew (brew install protobuf).
  • Ubuntu: you need to install the following packages: libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf protobuf-compiler.

Note

If you have any questions, please refer to Prerequisites | Tauri.

Project Dependencies

After cloning this project, you need to run the following command to initialize the submodule:

git submodule update --init --recursive

Currently, the project is a Tauri + Vue3 + Vite project. Before running the project for the first time, please run the following command to install the front-end dependencies:

bun install --frozen-lockfile

The backend dependencies will be managed by cargo automatically.

Then, use bun run icons to automatically generate icons. You can then start the development and build processes.

Warning

The icons in this repository are excluded. Therefore, if you do not perform this step after cloning the repository, the icons folder will be empty, and the Tauri application will throw an error when it starts!

Hot Reload Development

bun run dev

Note

The CurseForge resource source needs an API key: set CURSEFORGE_API_KEY in the environment or in the git-ignored root .env before building. The key is embedded in the desktop binary, with a runtime environment fallback. Without it CurseForge is unavailable; the web preview cannot use it.

Note

Microsoft login requires a Microsoft OAuth client ID and has no built-in default: the old public client ID is rejected by the Microsoft device-code endpoint, so login fails with configuration_error when unset. Set MS_CLIENT_ID in the build environment or the git-ignored root .env, or set MS_CLIENT_ID / PCL_MS_CLIENT_ID at runtime. The Azure app registration must support the device-code flow and the XboxLive.signin offline_access scope, and must be approved at https://aka.ms/mce-reviewappid; otherwise login_with_xbox returns 403.

The lobby announcement service and Natayark ID login have no built-in endpoints either. Set LINK_SERVER_ROOT (one or more roots separated by |) and NAID_CLIENT_ID / NAID_CLIENT_SECRET in the build environment, the root .env, or the runtime environment. Both are optional: without them the multiplayer page works offline (no announcements, no account card) and Terracotta remains fully usable.

Build Tauri App

See Application packaging for the macOS bundle layout. Distribute the complete .app or DMG.

Tauri's development and build hooks use Bun directly.

Vue Components

The reusable controls are packaged as @amagicpear/pcl-proto-components. See the component package guide for imports, styling, locale, and licensing. To build a local npm package, run bun run components:build followed by npm pack ./packages/components. Publishing requires access to the npm scope and is a separate step.

Rust Core

The launcher core is a standalone crate at crates/pcl-core, usable to build another launcher:

[dependencies]
pcl-core = { git = "https://github.com/PCL-Community/PCL.Proto", rev = "<commit>" }

See the core crate guide for explicit HTTP clients, credentials, launch inputs, and the built-in installation and launch helpers.

Credits

If I have seen further it is by standing on ye shoulder of Giants. —— Sir Isaac Newton

Directed referenced projects

  • Vue.js
  • TypeScript
  • Pug
  • Vite
  • Vue Router
  • xml-js
  • Pinia
  • skinview3d
  • Bun
  • Rust Programming Language
  • Tauri
  • Terracotta

Implementation or design reference

  • Plain Craft Launcher
  • PCL2-CE
  • PCL.Neo
  • xphost008/MMCLL
  • Steve-xmh/scl

Localization

应用多语言方案与文案约定

Code organization and maintenance boundaries

About

Modeled after PCL2 and PCL2-CE, with a goal of providing a standardized prototype sample for each PCL branch version.

amagicpear.top/PCL.Proto/

Topics

prototypetauritypescriptvue3

Resources

Readme
License
Activity
Custom properties

Stars

10 stars

Watchers

0 watching

Forks

2 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.