upstream imports through a @/ alias, and this platform already binds @/* to src/apps/officer-web and @/components/* to its own shared components — so an unrewritten import resolves to the WRONG module rather than failing. the rewrite is mechanical and lives in scripts/vendor.sh so a re-vendor produces a readable diff. lib/ai.ts and AiPanel are vendored despite being unwanted: deleting them meant editing vendored code, and Canvas.tsx references them throughout. a faithful copy carrying an unused module beats a doctored one. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# Vendored from lnkiai/m3e-canvas
|
|
|
|
| | |
|
|
| --- | --- |
|
|
| upstream | https://github.com/lnkiai/m3e-canvas.git |
|
|
| ref | `main` |
|
|
| commit | `5c83ac6f437153b4df4d2348c4f94c4ff71b864a` |
|
|
| dated | 2026-09-05 |
|
|
| licence | MIT — see `LICENSE` beside this file |
|
|
| vendored | 2026-09-05 by `scripts/vendor.sh` |
|
|
|
|
**Do not edit anything in this directory.** Officer's changes live outside it, reached through
|
|
`web/adapter.ts`. Editing here makes the next `vendor.sh` run either clobber the change or
|
|
produce a diff nobody can read.
|
|
|
|
## What was taken, and what was not
|
|
|
|
Taken: `lib/`, `components/`, upstream's `app/page.tsx` as `Canvas.tsx`, and `globals.css`.
|
|
|
|
Not taken: `app/layout.tsx` — a Next.js route shell with no meaning here.
|
|
|
|
`lib/ai.ts` and `components/AiPanel.tsx` ARE taken even though Officer does not use them. They
|
|
keep model-provider API keys in `localStorage`, which is not how anything here should work — but
|
|
`Canvas.tsx` references them throughout, so removing them would mean editing vendored code. A
|
|
faithful copy carrying an unused module beats a doctored one that cannot be re-vendored. They are
|
|
inert without a key, and the shell does not surface them.
|
|
|
|
## The one edit `vendor.sh` makes
|
|
|
|
Every `@/lib/…` and `@/components/…` import is rewritten to a relative path. This platform already
|
|
binds `@/*` to `src/apps/officer-web` and `@/components/*` to its own shared components, so an
|
|
unrewritten import resolves to the WRONG module rather than failing — silent breakage.
|
|
|
|
The rewrite is deterministic, so a re-vendor produces a readable diff of upstream's real changes.
|