refresh: stack al día (vello 0.7 / wgpu 27 / parley 0.6) + motor 3D voxel

Re-sincroniza las fuentes desde el monorepo (estaba en vello 0.5/wgpu 24 y con la
estructura vieja de eventloop) y suma el 3D:

- bump del workspace a vello 0.7 / wgpu 27 / parley 0.6, + accesskit 0.24 /
  accesskit_winit 0.33 / vello_hybrid 0.0.9.
- nuevos crates: llimphi-3d (voxels ray-march + mallas en un depth compartido,
  montable dentro de un View 2D vía set_viewport+scissor) y llimphi-voxel
  (world-gen, personajes, director de escenas) + shared/foreign-vox (puente .vox).
- README: sección "Not just 2D — a 3D voxel engine" + GIF (docs/llimphi_voxel.gif).
- excluido modules/allichay (arrastra deps fuera del alcance del front-door).
- cargo check --workspace: verde.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sergio
2026-06-18 14:40:00 +00:00
parent e74800d9da
commit ccab39f140
202 changed files with 44034 additions and 1811 deletions
+17 -2
View File
@@ -27,9 +27,9 @@ use llimphi_ui::llimphi_layout::taffy::{
};
use llimphi_ui::llimphi_raster::peniko::Color;
use llimphi_ui::llimphi_text::Alignment;
use llimphi_ui::View;
use llimphi_ui::{Shadow, View};
use llimphi_icons::{icon_view, Icon};
use llimphi_theme::radius;
use llimphi_theme::{elevation, motion, radius};
/// Severidad del toast — define color e icono.
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
@@ -187,6 +187,19 @@ fn single_toast_view<Msg: Clone + 'static>(toast: &Toast, on_dismiss: Msg) -> Vi
})
.text_aligned(toast.text.clone(), 12.0, fg, Alignment::Start);
// Sombra E3 + entrada/salida animada (key estable = id del toast):
// el toast aparece con fade-in suave y, al expirar/dismiss, su
// subescena se reproduce con fade-out — sin necesidad de tween
// manual en la app.
let (alpha, blur, dy) = elevation::E3;
let shadow = Shadow {
color: Color::from_rgba8(0, 0, 0, alpha),
blur,
dx: 0.0,
dy,
spread: 0.0,
};
View::new(Style {
flex_direction: FlexDirection::Row,
size: Size {
@@ -211,6 +224,8 @@ fn single_toast_view<Msg: Clone + 'static>(toast: &Toast, on_dismiss: Msg) -> Vi
})
.fill(bg)
.radius(radius::MD)
.shadow(shadow)
.animated_inout(toast.id, motion::NORMAL)
.clip(true)
.on_click(on_dismiss)
.children(vec![rail, icon_cell, text])