67 lines
4.1 KiB
Markdown
67 lines
4.1 KiB
Markdown
# Bedrock panorama capture feasibility
|
|
|
|
Investigated on 12 October 2026 using Microsoft's current Creator documentation,
|
|
Context7, and MineGeo's Fabric source.
|
|
|
|
## Result
|
|
|
|
A self-contained, supported Bedrock add-on cannot currently reproduce MineGeo's
|
|
Java capture mod. Camera control is available, but the documented Script APIs
|
|
do not expose the client framebuffer, a screenshot-to-PNG operation, or the
|
|
square render target that the Java implementation uses. This is a conclusion
|
|
from the exposed API surface, rather than an explicit promise by Microsoft that
|
|
these capabilities will never exist.
|
|
|
|
No `.mcaddon` release was built or added to the downloads page: a pack that only
|
|
turns the camera would not deliver the requested working panorama exporter.
|
|
|
|
## How Bedrock add-ons differ
|
|
|
|
Resource packs supply assets and presentation; behavior packs supply world
|
|
behavior and can contain JavaScript modules. Pack manifests identify the packs,
|
|
modules, versions, and dependencies. Imported packs are activated for a world.
|
|
See [Getting started with add-ons](https://learn.microsoft.com/en-us/minecraft/creator/documents/gettingstarted?view=minecraft-bedrock-stable).
|
|
|
|
Bedrock gameplay scripts execute on the world/server side. Installing a local
|
|
resource pack does not give a player a client-side scripting hook into arbitrary
|
|
multiplayer servers. A scripted camera helper would need the host to activate
|
|
its behavior pack. See [Multiplayer script architecture](https://learn.microsoft.com/en-us/minecraft/creator/documents/scripting/multiplayer-scripts?view=minecraft-bedrock-stable).
|
|
|
|
## Comparison with MineGeo's Java implementation
|
|
|
|
| Required capability | Existing Java implementation | Supported Bedrock add-on surface |
|
|
| --- | --- | --- |
|
|
| Aim six views from one position | `Capture.java` overrides render-camera yaw/pitch | Camera position, rotation and FOV controls exist |
|
|
| Produce six 1024 x 1024 faces | Dedicated square framebuffer with six PNG writes | No documented framebuffer/image capture API |
|
|
| Save a surface map and capture manifest | `SurfaceDataset.java` writes PNG and JSON files | World data can be inspected, but no documented equivalent PNG/file exporter |
|
|
| Upload from an ordinary player's game | Java client performs upload | `server-net` HTTP is Dedicated Server only; not game clients or Realms |
|
|
|
|
Sources: [Camera API](https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/camera?view=minecraft-bedrock-stable),
|
|
[Graphics API](https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server-graphics/minecraft-server-graphics?view=minecraft-bedrock-experimental),
|
|
[Dimension API](https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/dimension?view=minecraft-bedrock-stable),
|
|
and [HTTP module restrictions](https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server-net/minecraft-server-net).
|
|
|
|
The graphics module exposes lighting, atmospheric, water and color-grading
|
|
controls; it does not expose screenshot capture. Built-in screenshots or
|
|
resource-pack screenshot buttons should not be confused with a script API that
|
|
returns six image files and metadata to an exporter.
|
|
|
|
## Plausible alternative requiring a separate implementation
|
|
|
|
A Windows companion could capture the game window while a host-installed
|
|
behavior pack guides the camera through six views. The companion would own
|
|
image processing, local files, checksums and upload. Manual screenshots are
|
|
another possible input. Neither approach is a portable, automatic add-on with
|
|
the Java mod's existing behavior.
|
|
|
|
Before releasing such a companion, an in-game prototype must establish:
|
|
|
|
1. Consistent square capture geometry and matching 90-degree cube-face projection.
|
|
2. Matching face orientation, stable camera position, hidden HUD/hand and loaded terrain.
|
|
3. A reliable link between coordinates and the captured images, plus camera restoration on cancellation.
|
|
4. Surface-map export and explicit Bedrock support in MineGeo's dataset validation and upload processing.
|
|
|
|
These alternatives have not been implemented or tested in Bedrock. Existing
|
|
Fabric sources, published Java artifacts, and the production deployment are
|
|
unchanged by this investigation.
|