perf: reduce startup work and fix grade analytics bar chart animation

Batch settings storage writes, tier plugin startup, lazy-load heavy UI
chunks, and optimize global search indexing. Stop tweening bar height in
grade analytics to prevent invalid negative SVG rect values.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-17 10:50:26 +09:30
parent 62ed702e64
commit d10fca6c0f
41 changed files with 919 additions and 537 deletions
+9 -8
View File
@@ -1,26 +1,27 @@
import renderSvelte from "@/interface/main";
import Store from "@/interface/pages/store.svelte";
import { unmount } from "svelte";
let remove: () => void;
export function OpenStorePage() {
remove = renderStore();
export async function OpenStorePage(): Promise<void> {
remove = await renderStore();
}
export function renderStore() {
export async function renderStore() {
const [{ default: renderSvelte }, { default: Store }] = await Promise.all([
import("@/interface/main"),
import("@/interface/pages/store.svelte"),
]);
const container = document.querySelector("#container");
if (!container) {
throw new Error("Container not found");
}
// Avoid stacking multiple store roots if opened repeatedly without close.
document.getElementById("store")?.remove();
const child = document.createElement("div");
child.id = "store";
container!.appendChild(child);
container.appendChild(child);
const shadow = child.attachShadow({ mode: "open" });
const app = renderSvelte(Store, shadow);