Drop gpu/deps, make window, shader language/compiler (luma), and font library first-class ownership surfaces, and repoint gpu examples/tests to those libraries. Rebrand truetype as font. Keep snapshots small, child-first. Add remotes now; do not publish while Harbor Hub repairs are happening.
Current honest status: implemented locally, 100% for requested no-publish scope.
corvette Harbor workspace is dirty with pending added files under window/, luma/, and truetype/.gpu, pinned clean at 5e29ccf545b8.window/, luma/, and truetype/ do not yet have .harbor.d; root currently sees their files as plain pending adds.gpu Harbor workspace is clean. gpu/deps exists on disk, but is untracked by gpu Harbor.gpu imports only vendored window and luma through deps::deps:window/windowdeps:luma/lumatruetype yet.gpu/scripts/check.sh and gpu/tools/test.lua pass -collection:deps=<gpu/deps>.window package lives at window/window with package name window.luma package lives at luma/luma with package name luma.truetype package is flat under truetype/*.odin with package name truetype..claude/settings.local.json, .DS_Store, *.bin, *_bin, and generated shader binaries unless intentionally source artifacts.gpu/deps is untracked, so dropping it is disk cleanup plus import/build-script changes, not Harbor de-tracking.../window makes gpu not standalone-buildable from its own remote unless window is also available as a gpu component or CI clones corvette. Need explicit component graph choice.truetype to font is isolated but must sweep docs/scripts, not only Odin package declarations.luma ownership is the key design choice:gpu is simplest if gpu truly owns language/compiler;luma workspace under gpu preserves independent versioning but adds root -> gpu -> luma pin/publish ordering.Pending user confirmation:
window: independent Harbor workspace at window/, linked into root corvette as workspace component, published to window remote.font: renamed from truetype/ to font/, package declarations renamed from truetype to font, independent Harbor workspace linked into root corvette.luma: refactor into gpu/shader as a literal gpu subpackage. It will not be a root corvette component. Root-level luma/ is migration input only, then removed from root ownership.window/, luma/, truetype/ files as plain root-owned files.window child workspace; add remote origin = https://harbor.sharkk.net/sharkk/window; do not publish yet.truetype -> font, rename package truetype -> package font, update README/docs/package references, initialize/snapshot font child workspace; add remote origin = https://harbor.sharkk.net/sharkk/font; do not publish yet.luma according to confirmed ownership model.window and font into root corvette as workspace components.luma becomes gpu-owned nested workspace, link it into gpu; root only pins gpu.harbor component list, harbor graph, harbor status, and harbor doctor show component pins, not unmanaged nested workspaces or root-owned child internals.luma/luma (and current disk gpu/deps/luma/luma) into gpu/shader.luma to shader if the codebase convention requires package name match the new subpackage; otherwise keep public alias at import sites only if Odin permits cleanly. No compatibility shim unless needed by tests.shader from the local package path, not a collection.deps:window/window imports with window:window.deps:luma/luma imports with gpu-owned shader package imports.gpu/scripts/check.sh and gpu/tools/test.lua to pass explicit collections:-collection:window=<component path>, defaulting to sibling ../window, overridable by GPU_WINDOW_COLLECTION for standalone gpu clones/CI.luma collection after shader absorption-collection:deps.gpu/deps after imports/scripts no longer reference it.window, font, and gpu-owned shader where available.cd gpu && scripts/check.sh.deps: imports in gpugpu/deps referencespackage truetype after font rebrandwindow and font remotes after validation; do not publish until Harbor Hub repairs are complete.gpu after shader absorption and deps removal.corvette last so component pins reference child workspaces.gpu/shader subpackage owned by gpu.https://harbor.sharkk.net/sharkk/window; font remote URL is https://harbor.sharkk.net/sharkk/font.../window inside corvette; GPU_WINDOW_COLLECTION override keeps standalone clones/CI possible if they provide a window checkout.plan.md should remain tracked in the root Harbor snapshot. User asked for local plan.md, so default is yes.window is a Harbor workspace at window/, snapshot 8a10473e27c2, remote origin = https://harbor.sharkk.net/sharkk/window.truetype was renamed to font, package declarations/docs were rebranded, and font is a Harbor workspace at font/, snapshot b6ff6bd8a9f8, remote origin = https://harbor.sharkk.net/sharkk/font.luma was absorbed into gpu as gpu/shader; compiler CLI moved to gpu/tools/shader; gpu snapshot 69c44c9993b6.gpu/deps was removed. gpu imports now use window:window for the external window collection and local shader package for shader compiler/language.gpu/scripts/check.sh and gpu/tools/test.lua use GPU_WINDOW_COLLECTION override, defaulting to sibling ../window.corvette links window and font as local workspace components while Hub publish is deferred; root snapshot fb7147bdde70.window: odin check window -no-entry-point, odin check examples/basic.odin -filefont: odin check . -no-entry-pointgpu/shader: odin check shader -no-entry-point, odin check tools/shader, golden tests 65 passed, external validation 30 passed / 0 failed with unavailable WGSL/HLSL/MSL validators skippedgpu: scripts/check.shdeps:/-collection:deps/gpu/deps, no package truetype, no stale package luma imports