58 std::shared_ptr<Nodes::NodeGraphManager> node_graph_manager,
59 std::shared_ptr<Buffers::BufferManager> buffer_manager,
60 std::shared_ptr<Vruta::TaskScheduler> scheduler,
61 std::shared_ptr<Vruta::EventManager> event_manager,
62 std::shared_ptr<Core::WindowManager> window_manager);
79[[nodiscard]] MAYAFLUX_API Bridge&
bridge();
93[[nodiscard]] MAYAFLUX_API Inspector&
inspector();
110[[nodiscard]] MAYAFLUX_API
111 std::pair<std::shared_ptr<Layer>, std::shared_ptr<Context>>
113 const std::shared_ptr<Core::Window>& window,
130[[nodiscard]] MAYAFLUX_API
131 std::shared_ptr<Buffers::FormaBuffer>
133 std::shared_ptr<Core::Window> window,
135 const std::string& texture_binding = {});
150[[nodiscard]] MAYAFLUX_API
151 std::shared_ptr<Buffers::FormaBuffer>
153 std::shared_ptr<Core::Window> window,
155 std::vector<std::pair<std::string, std::shared_ptr<Core::VKImage>>> additional_textures);
172 requires std::ranges::contiguous_range<V>
173 && std::is_trivially_copyable_v<std::ranges::range_value_t<V>>
175 std::shared_ptr<Core::Window> window,
179 using Vertex = std::ranges::range_value_t<V>;
180 const size_t cap = std::ranges::size(vertices) *
sizeof(Vertex);
182 buf->submit(vertices);
187 requires std::is_trivially_copyable_v<V>
188 && (!std::ranges::range<V>)
190 std::shared_ptr<Core::Window> window,
223 std::shared_ptr<Core::Window> window,
247 std::shared_ptr<Core::Window> window,
252 std::function<
float(T)> project = {})
255 layer, std::move(window), std::move(geom), std::move(initial),
256 topology, capacity, std::move(project));
281 std::function<
float(T)> project = {})
285 std::move(form.
geometry), std::move(initial),
289 if (mapped.element.bounds_hint)
290 surface.
layer().
set_bounds(mapped.element.id, *mapped.element.bounds_hint);
291 if (mapped.element.contains)
295 form.
wire(surface.
ctx(), mapped.element.id, mapped.state);
335 std::function<
float(T)> project = {})
338 surface, std::move(geom), std::move(initial), topology, std::move(project));
356[[nodiscard]] MAYAFLUX_API
357 std::pair<Mapped<std::shared_ptr<Kakshya::PlotContainer>>, Surface>
362 std::shared_ptr<Kakshya::PlotContainer> container,
363 Plot::SeriesSpec spec);
404MAYAFLUX_API
void inspect(
const std::shared_ptr<Nodes::Node>& node);
409MAYAFLUX_API
void inspect(
const std::shared_ptr<Buffers::Buffer>& buf);
414MAYAFLUX_API
void inspect(
const std::shared_ptr<Nodes::Network::NodeNetwork>& net);
419MAYAFLUX_API
void inspect(
const std::shared_ptr<Vruta::Event>& ev, std::string_view
name = {});
Illustrative geometry functions for common Mapped use cases.
PrimitiveTopology
Vertex assembly primitive topology.