Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 15 additions & 6 deletions docs/tickets.md
Original file line number Diff line number Diff line change
Expand Up @@ -2082,7 +2082,7 @@ equal-power, air absorption, rear cue, pitch rate, doppler zero-crossing
count, max-dist cull/return, per-voice occlusion). watchOS stubs regenerated;
web target exports the same six calls. First consumer: shooter SH-050.

## EN-063 — build-web has been red on main since EN-055: models.rs no longer compiles without `models3d` 🔴 *(2026-07-16 evening)*
## EN-063 — build-web has been red on main since EN-055: models.rs no longer compiles without `models3d` *(compile fix shipped 2026-07-17; loud-gate wish still open)*

Every `Tests` run on main from PR #107 (EN-055, 323a6c9) onward fails the
`build-web` job at its first step, `cargo check --target
Expand All @@ -2099,10 +2099,19 @@ Error classes (all in `models.rs`, all `models3d`-off builds):
the use isn't.
- ~29 bare `gltf::` paths — `gltf` is `dep:gltf` behind `models3d`.

Fix wanted: make `bloom-shared` compile with `--no-default-features
--features web` again — gate the re-export and the gltf/staging-touching
`ModelManager` internals on `models3d` (the `ffi_core/models.rs` surface
already has both gated variants; it's the module internals that lost their
compileability). Then make the red gate LOUD: build-web has been failing
Fix as shipped (2026-07-17): two moves. (1) `anim_mixer` is UN-gated in
`lib.rs` — it is pure per-instance state embedded in the always-compiled
`ModelAnimation`, no heavy deps; gating it was wrong to begin with
(models3d exists to drop gltf/image_dds, not mixer math). (2) Everything
that actually touches the optional deps — the `load_gltf*` family and its
private helpers, ~1,200 lines — moved to a new `models_gltf.rs`, included
from `models.rs` as a single `#[cfg(feature = "models3d")]` module; the
four `ModelManager` loader methods carry the same cfg. All FFI call sites
already had feature-off stubs, so no surface changed. Side effect: the
split takes `models.rs` from 2,346 to ~1,090 lines, retiring its EN-052
grandfather entry in `tools/file-lines-baseline.json`. Verified: wasm
`--features web` (the failing check), wasm `web,models3d`, and native
default all compile. Still open from this ticket: make the red gate
LOUD — build-web was failing
for ~10 hours and five merged PRs without anyone noticing, which is the
EN-058(a) lesson again — a gate nobody reads is not a gate.
4 changes: 3 additions & 1 deletion native/shared/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ pub mod renderer;
pub mod text_renderer;
pub mod audio;
pub mod textures;
#[cfg(feature = "models3d")]
// Not gated on models3d: the mixer is pure per-instance state embedded in
// ModelAnimation (always compiled); only the gltf/image_dds LOADERS are
// behind the feature, in models_gltf.rs (EN-063).
pub mod anim_mixer;
pub mod models;
pub mod scene;
Expand Down
Loading
Loading