chore: checkpoint web Blender migration source, tools and docs
Accumulated uncommitted work: GHOST Web backend, WebGL/GPU web layer, web workflow engine and protocol, tooling, docs and task records. Large generated evidence, user-testing archives, build snapshots and imported test assets remain untracked. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -36,6 +36,13 @@ class GHOST_IContext;
|
||||
|
||||
namespace blender {
|
||||
|
||||
#ifdef WITH_WEB
|
||||
/* Completed native saves and file-selector exports consumed by the browser GPU frame. */
|
||||
void WM_web_publish_save(const char *filepath, bool save_copy, bool save_as);
|
||||
std::optional<std::string> WM_web_take_export_path(std::optional<bool> *r_save_copy = nullptr,
|
||||
bool *r_save_as = nullptr);
|
||||
#endif
|
||||
|
||||
struct ARegion;
|
||||
struct GPUViewport;
|
||||
struct ID;
|
||||
@@ -278,8 +285,12 @@ bool WM_desktop_cursor_sample_read(float r_col[3]);
|
||||
uint8_t *WM_window_pixels_read_from_frontbuffer(const wmWindowManager *wm,
|
||||
const wmWindow *win,
|
||||
int r_size[2]);
|
||||
/** A version of #WM_window_pixels_read_from_frontbuffer that samples a pixel at `pos`. */
|
||||
void WM_window_pixels_read_sample_from_frontbuffer(const wmWindowManager *wm,
|
||||
/** A version of #WM_window_pixels_read_from_frontbuffer that samples a pixel at `pos`.
|
||||
*
|
||||
* Returns false when the native front-buffer cannot be read, allowing browser callers to
|
||||
* fall back to the slower off-screen compositor without publishing a false black sample.
|
||||
*/
|
||||
bool WM_window_pixels_read_sample_from_frontbuffer(const wmWindowManager *wm,
|
||||
const wmWindow *win,
|
||||
const int pos[2],
|
||||
float r_col[3]);
|
||||
@@ -388,6 +399,16 @@ void WM_window_set_active_screen(wmWindow *win, WorkSpace *workspace, bScreen *s
|
||||
ViewLayer *WM_window_get_active_view_layer(const wmWindow *win)
|
||||
ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT;
|
||||
void WM_window_set_active_view_layer(wmWindow *win, ViewLayer *view_layer) ATTR_NONNULL(1);
|
||||
#ifdef __EMSCRIPTEN__
|
||||
/** Preflight the browser window family before replacing its view layer. A null
|
||||
* target denotes a layer that is about to be created or removed. No mutation. */
|
||||
bool WM_window_web_view_layer_change_allowed(const wmWindowManager *wm,
|
||||
const wmWindow *win,
|
||||
const ViewLayer *view_layer,
|
||||
ReportList *reports);
|
||||
/** Invalidate queued input before callbacks can consume the replacement layer. */
|
||||
void WM_window_web_view_layer_changed(wmWindow *win);
|
||||
#endif
|
||||
void WM_window_ensure_active_view_layer(wmWindow *win) ATTR_NONNULL(1);
|
||||
|
||||
bool WM_window_is_temp_screen(const wmWindow *win) ATTR_WARN_UNUSED_RESULT;
|
||||
@@ -506,6 +527,7 @@ bool WM_file_read(bContext *C,
|
||||
const bool use_scripts_autoexec_check,
|
||||
ReportList *reports);
|
||||
void WM_file_autosave_init(wmWindowManager *wm);
|
||||
bool WM_file_write_last_session(bContext *C, ReportList *reports);
|
||||
bool WM_file_recover_last_session(bContext *C,
|
||||
const bool use_scripts_autoexec_check,
|
||||
ReportList *reports);
|
||||
@@ -1497,6 +1519,10 @@ void WM_operator_type_modal_from_exec_for_object_edit_coords(wmOperatorType *ot)
|
||||
void WM_uilisttype_init();
|
||||
uiListType *WM_uilisttype_find(StringRef idname, bool quiet);
|
||||
bool WM_uilisttype_add(uiListType *ult);
|
||||
/**
|
||||
* Clear list type references without deleting saved list settings, then remove the type.
|
||||
* With WITH_WEB, `bmain` may be null only when session teardown has no surviving owner Main.
|
||||
*/
|
||||
void WM_uilisttype_remove_ptr(Main *bmain, uiListType *ult);
|
||||
void WM_uilisttype_free();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user