Fix:
There was a texture caching issue were parts of old images were temporarily visible
when blending between Depthmapped-3D-Models with cubical images
(report).
Fix:
If a layer or hotspot was removed during a pano/scene change, then the layer/hotspot object was no longer available in the
ondestroy event
(report).
Fix:krpano Maps and all maps-examples - update the basemap.at urls
(report).
Fix:
The getxml() function was wrongly always including the capturewheel setting,
even if it had the default value.
Fix:
The Shadow Floor from the ThreeJS Plugin
was writing to the depthbuffer and so causing that krpano hotspots would be hidden if behind it.
Fix:
Certain bgroundedge values were not working
in the Safari browser for WebGL hotspots (a Safari bug).
Fix:
The hotspot raycast hit-testing wasn't working when using viewing offsets (e.g. when using dollhouse views).
Fix:
If loading a .obj 3D-Model as depthmap that doesn't contain textures and also not using a pano-image as texture,
then the loading never finishes and the viewer seems to be hanging.
Fix:
Some HTML layers (content depended) with autosize enabled, didn't show up when inside other layers
(report).
Fix:
vtourskin.xml - deep-linking didn't work when skin_setting.webvr was disabled
(report).
Fix:
The layers/hotspots capture=false setting didn't work when using the follow control mode
(report).
New:scalemode="sizescale" - a new optional layer scale mode,
if used then additionally also the width/height changes of images are used
as scale-factor for children layers.
Change:
To improve compatibility with older krpano or Panotour Pro examples, the default setting
of scalemode (for old xml files) is changed from "resize" to "sizescale".
Fix:
Improved Panotour Pro compatibility, if in the showlog() action
the first parameter is an empty string, then this is evaluated as true, which means the log will be opened.
Fix:
For improved compatibility with older examples, support for the 'alturl' (alternative url for html5) setting was added again.
Fix:
A layer with capture=false was wrongly triggering a global doubleclick event on a single-click,
and the onsingleclick/ondoubleclicks events on the layer were not working
(report).
Fix:
It's now possible to optionally disable the mouse-wheel capturing in html,
iframe and
krpano elements.
Therefore the capturewheel setting is true by default now for these elements.
But if set to false, the elements will pass-through the mouse-wheel events.
Fix:
Hotspots with type html,
iframe or
krpano were missing after returning from VR mode.
Fix:
The sameorigin setting wrongly affected also layer/hotspot images
(report).
Fix:
Improved error reporting for layer/hotspot loading errors. If known, the reason for the loading error is also given.
Fix:WebVR - On Android devices, the new
userAgentData
Browser API will be used to get the real device-name. That name is necessary to look for the correct physical screen-size in the VR-device-databases.
Fix:
Several layout bugs with flowchildren and missing updates were fixed
(report).
Fix:
When a layer was added to another layer (using the parent setting) and that layer was not ready/created yet, that layer could be missing (not displayed)
Fix:
Layout performance improvements when using changing textfields and flowing layers.
Fix:
The text alignment could be wrong when using ellipsis.
Fix:
A wait(load) call in the first pano load could wrongly cause an infinity waiting.
Fix:
The right mouse button tracking was not working correctly on Mac
(report).
Fix:
Use a time-and-random-based unique hotspot name in the krpano Tools VTour Editor when creating new hotspots to avoid potential naming conflicts
(report).
Fix:
In some cases html-links inside disabled (enabled=false) textfields were still clickable.
Fix:
krpanomaps.xml and maps2 example - use the shortest 360 wraparound path to the target when panning on the map.
Fix:
showtext.xml - the text position was wrong when using a custom area or display.safearea.
New:
The textfield template supports now also linking to events
(and using an expression for the resulting content)
New:
The ThreeJS Sun Light supports now an optional custom center position for the shadowmap
(atview=false).
Additionally there is new shadowmaphelper setting to visualize also the position and range of the shadowmap.
And the Sun Light helper is now dragable.
New:
Updated ThreeJS: Tesla Example -
VR support, changeable pano-environments, editable materials (adjustable car colors, interior, rims).
Fix:
Static defined linking to attributes of the same element was not working
(report).
Fix:
Adding a value to an existing krpano array-item, that has the the index 0, wrongly created an new auto-named array-item
(report).
Fix:
WebGL 3D-polyline hotspots had a wrong position offset.
This was only visible at high-zooms, e.g. in flat-panos
(report).
Fix:
The WebGL non-borderzoom 3D-polyline hit-testing was inaccurate at high-zooms.
Fix:
Custom encryption keys didn't work if the key ID contained a 'z' character
(report).
Fix:
Registering the license code did not work if the code had two '=' characters at the end
and a line-break or white-space in between them.
Fix:
Editable textfields (with editenterkey=stop or shiftnewline) didn't lose the input-focus on iOS when the Enter-key was pressed
(report).
Fix:
Improved String handling in expressions.
String operations in expressions could cause that sub-expressions didn't work as expected
(report).
Fix:
Depending on the actual loading timing, there could be false events (onxmlcomplete, onnewscene)
when another pano/scene get loaded while exactly these events are being processed.
And this could have several strange/unexpected effects
(report).
Fix:
Improve compatibility by calling the lookto() ondone callback also when the nonblocking setting is not explicitly set to true.
Now the lookto is automatically nonblocking when ondone is set and the nonblocking setting not explicitly set to false
(report).
Fix:
Improve compatibility - when a layer is defined within another layer, its parent setting will be ignored now
(report).
Fix:
The depthmap.origin position was wrong when depthmap.scale was used
(report).
New:sameorigin -
A new security feature as cross-site-scripting (XSS) protection.
When enabled (the new default), text-based files can be only loaded from the same server.
New:iosfullscreen -
Enable or disable the iOS HTML5 Fullscreen API support.
New:cors -
Enable the sending of CORS HTTP headers when loading files from external servers
(same as the security.cors setting, but to set already on startup).
New:
The removepano() function can now
be called also with the embedding-target HTML element.
Change:
The default for the xml setting is null instead of "krpano.xml" now.
Change:
The onerror callback has been removed.
Since there is no Flash support anymore, this was only used for 'local-file-access-errors'. Now these are normal errors.
Change:
Using passQueryParameters=true is deprecated now
due security implications and will show a console warning message.
Change:
When a startup xml file is set,
then onready will be called when all startup xml files are loaded.
This avoids conflicts with initial xml load requests.
New:WebGL2 will be used by default now (when available).
New:device.istouchevent
for checking if the current user interaction is made by touch or mouse.
Can be useful on systems that support mouse and touch usage the same time.
New:
Improved support for device simulators (Chrome/Edge/Firefox developer tools).
New:
Improved input focus/blur detection.
New:
Add an 'id' property in the gesture.touches Array
to enable the tracking of individual touch points.
Fix:
Workaround for a Chrome touch bug: HTML form elements inside HTML elements that handle touch events (like layers) could not be controlled by touch.
Fix:
Workaround for a Chrome bug: when releasing the mouse-button over an iframe, then this mouse-button release is not detected (Chrome blocks the related event).
In such case krpano will now use the next normal mouse event over the viewer to manually trigger an onup mouse-button release event.
Fix:
When using the hotspot alphachannel=TB/SBS setting, there is was a (wrong) Javascript error in Chrome 128
(report).
Already fixed in newer Chrome versions.
Fix:
Detect the Apple Vision Safari Browser as iPad/Desktop instead as iPhone.
Fix:
Release the currently pressed keyboard keys (trigger onkeyup events) when losing the input-focus.
Fix:
Improved Workaround for the Apple GPU 16bit-Depthbuffer bug.
When rendering to a 16bit Depthbuffer, some Apple devices have a strange bug that causes the depthbuffer values to be cut off or clamped.
The Apple Vision Simulator WebXR rendering internally also seems to use a 16bit Depthbuffer and so also needs this workaround.
Fix:
Workaround for an iOS 17 window resize bug (report).
New:
There are new APIs for Reactive Programming.
This means that when one variable changes, other variables or elements automatically react and change as well.
New:
The <include> element can now also include Javascript and CSS files.
New:
The new getxml() function generates a full XML String representation
of a layer or hotspot element (including their children elements).
New:
In the XML it is now possible to directly define Javascript Objects and Arrays:
attribute.object="{num:123, str:'hello'}"
attribute.array="[1,2,3,4,5]"
New:
The def() action can also directly define Javascript Objects and Arrays.
New:
Javascript <action> elements now
also have an args setting to define the arguments as local variables.
New:plugin.api -
A special new setting for plugins.
It gets evaluated during the xml-parsing and defines the name for the plugin object, just like the name setting,
but additionally also instantly creates a global variable with the given name that refers to the plugin object.
This makes it possible to refer to that plugin using its global variable even before it is fully loaded and ready (e.g. already during the xml-parsing).
New:
The <layer> elements are now getting 'flattend' already during the xml-parsing.
E.g. an element where its xml-structure would create a path like this: layer[parent].layer[child1].layer[child2],
now directly becomes layer[child2].
In previous versions, this transformation was done AFTER the initial xml-parsing.
Doing this during the xml-parsing, now allows to address these elements also already during the xml-parsing using
"calc:", "get:" or
"link:".
New:
There is a new ONLYSCENES flag to
load only the <scene> elements and skip/ignore all others.
New:view.pixelzoom -
Get or set an image-size-based zoom.
E.g. A value of 1.0 means a 100% zoom of the source pixels (a 1:1 view).
New:
New lookrange option for view.limitview setting -
works the same as lookat,
but additionally limits also the fov/zoom to be within the available full-image-range.
New:
Support defining <action> elements
within <layer> or
<hotspot> elements,
but these actions can then only be called from this element and its child elements.
New:
Support also using THEN and ELSE for the Ternary operator.
Can be used in cases where the ? and : characters are problematic.
New:isidle -
Check if there are the currently no user-interactions.
This state will change on the onidle / onidleend (new) events.
New:onviewrender - A new event that is after the onviewchange event
and after updating the view calculations, but before the actual rendering.
New:security.cors_sameorigin -
A setting for enabling CORS also on requests on the same origin (can be required when doing a server-based file redirection).
New:view.syncto() function for easily synchronizing multiple krpano viewers.
New:suppresserrors() action for
calling actions where errors and warnings will be temporary suppressed.
New:reloadpano() action for reloading the current pano image.
New:swapvars() action for swapping the value/content of two variables.
Change:
The RESET flag
now additionally also restores some previously missing <view> settings, the <control> settings and most of the <display> settings.
Change:
When using styles that add events using addevent,
then ensure an event order, where the events from sub-styles are getting called first.
Fix:
The Boolean conversion is more 'correct' now.
An empty String is false now and all non-0 Numbers and Objects with a non-null/non-undefined value will be true now.
Fix:
Improved String handling in expressions - avoid unintended String to Number conversions.
Fix:
The KEEPLIMITS flag wasn't working when used without MERGE flag.
Fix:
In some cases, layer and hotspot elements may not have been removed from the
display.layout.* arrays.
Fix:
The xml filter devices="all" wasn't working anymore since version 1.20.
Fix:
The hotspot.index value could have been wrong in some cases when zorder was used.
Fix:
Some events were not working after a RESET call.
Fix:
Improved get(...) parsing - in some cases it didn't work.
Fix:
When a layer or hotspot gets removed during dragging, some mouse- or touch-events could be left assigned.
Fix:image.reset(copy) wasn't correctly copying some depthmap settings/states.
Fix:
The image.hfov was set to 0 for sphere panos by default, now it is 360.
This also caused invisible borderwidth3d polyline hotspots.
Fix:
Don't trigger update/resize events when the krpano viewer is hidden.
Fix:
for()/loop() actions- Report an error when using an invalid expression.
Fix:
When changing the hotspot.renderer setting, the videplayer DOM element could have been missing (no video).
Fix:
In some cases (when leaving the current browser window, e.g. due an openurl call) there could be invalid mouse/touch positions,
and when these were used for controlling the pano, invalid view hlookat/vlookat values can happen and
this would break the rendering and cause an empty/black screen
(report).
Fix:
Ensure correct mouse.button, mouse.leftbutton, mouse.middlebutton, mouse.rightbutton states when Browser window unexpectedly loses the focus.
New:
The functions from krpano.functions.*
can now also be called from Javascript.
Previously, some of the functions that returned a string had special characters added to the return string to avoid an unwanted string-to-number conversion.
This has now been removed when calling the functions directly from Javascript.
Fix:krpano.events.addListener() - When the exact same callback function was already added, don't add another one.
Automatically link to all variables defined in the <style>.
That means when a value inside the <style> changes,
then automatically the value at the element changes too.
Inside the <style> itself is also possible to use
style="link:..."
and also the special style="relink:..."
to 'forward' the linking from the style to the element (as if the "link:" was defined directly at the element).
A variable that links to another one is basically still independent and can have its own value,
but only until the content of one of the linked variables changes.
With this action it is possible to manually force updating/refreshing the link.
That means getting again the value from the linked variable or expression.
New:defaultlanguage -
The fallback/default language to look for a specific word if that word is not available in the requested language.
New:translate(word) expression-function to lookup the given word in the
<languages> translation-table and optionally fallback to the
defaultlanguage when the word is not defined in the current language.
New:
The tween() action is internally now fully Object-based.
That means it uses Object-references instead of String paths.
This is clearer and faster.
New:
There is a new Object API for changing multiple variables from one object at once:
tween(object, var1=val, var2=val, var3=val)
The parameters like time and tweentype are set like variable in this case:
And it is possible to access the Object itself in expressions using the this keyword:
tween(hotspot[test], ath=(this.ath+360))
New:
For Javascript usage it's now also possible to use Objects.
The first argument is the Object that should be changed, and the second argument an Object
with properties that should be changed:
krpano.tween(hs, {ath:0, atv:0}, 1.0, "smooth");
New:
Relative sizes support (percent-sizes and negative width/height values):
When tweening a 'size-based' variable from a layer or hotspot (e.g. width, height, or x, y, ox, oy),
then automatically convert between the relative and the absolute size depending on the target value.
New:
Multi-value support: Some variables (e.g. like image.prealign or
layer.bgborder) can contain
multiple values separated by a | or a , or a space character.
The detection and format of such variables is based on the target value.
New:stoptween() -
Support * as wildcard to stop all Object assigned tween animations.
New:
There are new tween-types:
smooth,
smoother,
step and
power.
The step and power tween-types have additional arguments.
The new power tween-type is very similar to easeoutquad, but with a slightly smoother starting.
New: All easeinout*tween-types
have now an optional argument to control the ratio of the in- to the out-function (0.0 to 1.0, 0.5 by default).
Change:
The easeoutin* tween-types have been removed, they were basically useless.
Fix:
The easeinoutexpo function was using a wrong curve.
Fix:
Tween animations that were started during processing other tweens could have an invalid value for a very short time at the startup.
New:debugkeeplog (enabled by default) -
Keep the current krpano log-input history and the current log-position, even when reloading the Browser.
The input-history is stored in the Browsers localStorage memory for the current domain/origin.
New:
Inside the debugmode log-input field, there are new special commands to
clear the log and to clear the input-history.
New:debug(var) expression-function for checking values
in more complex expression - it logs the value and pass-through it.
New:
Improved loading error handling/reporting - show additional information when the loading fails (plus extra infos when trying to load local files).
New:
When there are multiple 'fatal errors', merge the messages into one error-box instead of showing multiple overlapping error-boxes.
Change:
The debugkeys were changed to avoid an interference with the WASD-keys
('S' ⇒ 'T' for toggling stereo, 'A' ⇒ 'R' for toggling autorotate).
New:
Support CSS filters for layers:
colorize,
colormatrix,
brightness,
contrast,
saturate,
hue,
invert,
sepia and
dropshadow.
Note - these filters can be helpful for customizing UI elements, e.g. changing the color and/or adding shadows,
but also comes with a performance-costs.
A special note also the colorize and
colormatrix filters, as they are normally not directly
available in CSS.
New:cssstyle - Directly set/add CSS styles to the element.
New:
The align and edge settings
can now also use relative points.
New:onaddchild and
onremovechild events -
Get callbacks when children layers were added or removed.
New:stopeventflow - A setting for stopping the current event flow
(e.g. to stop a click would be processed by a parent or children element).
New:getchildzorder() -
Get the smallest or the largest zorder value from the children elements.
New:flowchildrenexpand -
Expand all flowing children elements to the parent size (in the non-flowing direction).
E.g. to give all vertical flowing elements the same width.
Change:
The flowoverflow starts the next row now when the current row is at least 1px larger then the available space.
Previously it also overflowed when the needed and available space had the same size.
Change:
Rename layer._assignEvents() to layer.assignEvents() (old name still supported).
Fix:
The stagex/stagey coordinates were wrong in some scale/stagescale combinations.
Fix:
Percent sizes inside layers with scalechildren=false were wrong.
Fix:
When a layer has a predefined width/height size (using width, height or crop),
directly use that size when doing automatic 'flow' layouts instead of waiting until the layer is fully loaded.
Fix:
Store and reuse the flowed x/y position, to avoid getting the wrong position in cases when no full reflow is done.
New:
Use a template for automatic text generation.
When variables that are used/linked in the template will change, then the text will be automatically regenerated.
New:trimwhitespace -
Trim leading and trailing whitespace from all lines.
This could be helpful on monospace texts to skip the xml indentations.
New:
Improved textfield [a href="event:..."] touch handling -
trigger the action after releasing the touch and only when not moved too far instead of triggering the action directly on the touch-down.
Fix:
Keep the cursor position when changing/updating the textfield content during editing.
Fix:
The Chrome Browser automatically modifies/escapes the content in links after the ? character,
therefore automatically unescape it when using the special krpano links.
Fix:
Use '#actionlink' instead of 'javascript:void(0)' in href action links
(looks better in the Browsers status-bar when hovering a link).
Fix:
Wrong textfield textalign position when combining parent-scaling and stagescale.
New:hittest - Allow using hotspots for raycasting / hit-testing / collision-check (optionally).
New:
The hit object returned by raycast() actions,
contains now also a new 'hs' property to check if a hotspot was hit.
New:
The hotspot itself also contains a hit object
with information about the last hittest or raycast
(only when hittest is enabled).
New:
The getnormalvec() function for getting the current normal vector
of a 3D-distorted hotspots, supports now also polygonal hotspots.
New:isblending - Check if the hotspot is currently in the keep=false blending (and getting removed) phase.
New:
Improved SVG-rendered polygonal hotspots:
support viewing offsets, support 3D-polygons, improved prealign/torigin support.
New:
Automatically renderer 2D/spherical-polygonal line-hotspots as 3D-polygon line-hotspots to allow them covering an larger area
and not be limited to a 180 degree coverage anymore.
Fix:
WebGL textfield hotspots - Avoid overlapping rounded edges when using
too large bgroundedge values.
Fix:
Avoid flickering when dynamically changing the url.
New:image.wraparound -
Support flat multires images that 'wrap around' horizontally.
The image will be automatically repeated and when panning horizontally around,
the view.hlookat position and the hotspots will be automatically adjusted
(example).
New:image.objectsize -
Set the size of the internal 3D-Model of the pano-image.
This could be used for customizing the 3D transitions
or for 3D-enviroements.
With a value of 0 or an invalid Number, the 3D-Model will be rendered infinity far away.
This can be used for background panos in 3D-scenes that shouldn't move with the view.
New:
Use Mipmapping also in the cubemap rendering mode.
New:
The default cubemap resolution has been increased from 2048 to 4096.
If the hardware doesn't support the size, it will be automatically limited to a lower value.
Fix:
The preview-pano rendering of multi-res Cylinder panos was wrong.
Fix:
Stereo Fisheye images/videos were not working.
New:krpano.webGL.redirectBackbuffer()
- A new API to ensure rendering into a given framebuffer. Can be used to integrate third-party WebGL software
and ensure rendering to the correct framebuffers.
New:krpano.webGL.resetState()
- Restores several WebGL states to ones that krpano assumes and needs.
New:hotspot.alphahittest
- Use the actual alpha value of the hotspot image for hit-testing.
This means, allow clicking through transparent areas.
New:display.hotspotvrzoom -
Customize the appearance (scaling) of non-zooming and non-distorted hotspots in VR mode.
Change:
The hotspot.premultiplyalpha setting (not to confuse with hotspot.premultiplied) has been removed.
This was only used to apply the WebGL UNPACK_PREMULTIPLY_ALPHA setting,
but this was and is not necessary for any case in the krpano rendering system.
Change:
The way how the distorted view (fisheye/pannini) rendering works
when using viewing offsets (that means when not viewing from the pano center) has been slightly changed.
Previously each pano-type (e.g. cube or sphere) has a slightly different implementation to optimize the actual impression,
but that caused problems with 'mixed content', e.g. when hotspots or 3D-models should be rendered the same time.
Now the same projection/distortion/rendering methods are used for all cases.
Change:
The way how the distorted view (fisheye/pannini) rendering works
when using viewing offsets (that means when not viewing from the pano center) has been slightly changed.
Previously each pano-type (e.g. cube or sphere) has a slightly different implementation to optimize the actual impression,
but that caused problems with 'mixed content', e.g. when hotspots or 3D-models should be rendered the same time.
Now the same projection/distortion/rendering methods are used for all cases.
Change:
The default value for image.cubemapsize has been increased
from 2048 to 4096 (but not for iOS).
Fix:set3dtransition() -
Avoid that the 3D transition would move outside the cube/sphere.
Fix:
The view.maxpixelzoom behavior was incorrect on low-resolution images in
combination high-resolutions screens and wide side-aspects.
Fix:
When blending from one pano with transparent background (e.g. a partial-pano or a 3D-model) to another one,
there could be a short (1 frame) flicker (seeing the background color where it should be transparent).
Fix:
When using a 3D-model with multires cube-images where the smallest multires-level is larger than
image.cubemapsize plus some tolerance (device depended),
then the 3D-model wasn't displayed
(report).
Fix:
Several depthmap rendering problems were fixed (caused by various combinations of modes and settings).
Fix:
Do not unnecessarily redraw/rebuild the WebGL-hotspot-textfield image when only the hotspot scale changes
(can be a big performance improvement when animating the hotspot scale).
Fix:
The preview image from partial pano wasn't updated when changing the image hfov/vfov/voffset values.
Fix:
WebGL polyline hotspots that cover a large area were sometimes displayed wrong.
Fix:
Catch and report WebGL cross-origin texture errors.
Fix:
Size changes of the krpano viewer element were not always correctly detected when safe-area was used.
Fix:
The polygonal hotspot <point> Array
and the points/points3d String are better synchronized now.
Changing one will automatically update the other one on the next get/read request.
Additionally also ensure rendering updates in any editing/change-case.
Fix:
The alpha-blending of WebGL hotspots worked wrong on iOS, if a video was loaded as hotspots before
(report).
Fix:
The position of non-zooming and non-distorted hotspots in VR mode was wrong.
That non-scaling behavior itself was fixed and improved and is now optional
(to be enabled by display.hotspotvrzoom).
This allows sharing of encryption-keys and private-encrypted-files without
the need to share the license or any license-information.
E.g. a plugin developer can offer an encrypted file together with the key,
but the key will be stored hidden and protected inside the customers krpano viewer.
This avoids that some unauthorized could copy and use the encrypted file.
New:
krpano Tools app - the 'Protect Tool' settings (including custom keys) can be automatically applied when creating new tours.
New:htmlviewerpath - a new config setting
to set a custom path and filename for the krpano viewer output file.
New:xmltemplate - new xml placeholders:
[TYPE], [WIDTH], [HEIGHT]
New:
A new plugin for using the
ThreeJS 3D-graphics library inside krpano.
New:
With this plugin it is possible to use 3D Models (glb, gltf, obj+mtl files) as krpano Hotspots.
These hotspots can interact and intersect with the krpano content and automatically support all krpano hotspot controls and events.
New:
Additionally this plugin supports many helper functions for using 3D-content:
Special Light Hotspots for creating light and shadow effects.
It provides optionally using color temperatures for setting the lights colors.
A Shadow Floor plane to see shadows also on the pano-background.
Automatic Environment Mapping for lighting and reflections using the preview pano.
Getting the untransformed Bounding Box informations.
New:
The plugin has the ThreeJS library and some of its addons modules directly integrated and embedded.
This integration allows much faster loading and provides better browser compatibility.
New:
Beside the functions provided by this plugin, it is also possible to access
the ThreeJS library directly via Javascript and perform custom tasks with it.
New:
For even more customization and to help understanding how the integration works,
there is an Open Source version of the plugin available.
New:
A krpano-based Maps plugin that can use any map tiles.
New:
It uses the 'Open Street Map' images by default.
New:
It is compatible to the Googlemaps and
Bingmaps plugins and can be used a direct replacement.
New:
Additionally to the compatibility plugin actions,
the krpan Maps Plugin also offers some newer plugin actions
for more control and customizing.
New:
As krpano-based, open-source xml-only plugin, it allows way more customizing and is more flexible,
e.g. use any kind of krpano hotspots or krpano layers on the map
(example).
New:
The plugin was fully ported to a Javascript implementation.
New:
Combobox elements can now also be defined directly using <layer> elements
and by using: style="combobox".
This makes it easier to define them as sub-layer/child elements.
New:
Support hiding the marker by setting a zero width.
Fix:
When the combobox is a flowing element, disable the flow when opening the combobox.
New:stateurls.xml -
Extend <layer> or <hotspot> elements with 'overurl' and 'downurl' settings
for automatically changing the url image.
New:minimap_zoomrect.xml -
When dragging the minimap-rectangle, the pano-view will follow slightly delayed with a smooth animation.
Additionally there are more customization options, like showing the zoom-percentage
(example).
New:wakelock.xml -
Use the Browsers Wakelock API to prevent the screen from turning off, dimming or locking.
New:depthmap_measure3d.xml -
Allow to use also hotspots with hittest=true as raycast target.
New:googlemaps.js - new apiquery setting
for adding custom Strings to the Google Maps API script loading URL.
Change:bingmaps.js - The maptype control design has been slightly changed.
Change:googlemaps.js - use the dropdown-maptype control by default,
for using the previous 'horizontal maptype bar', the 'maptype_hbar' controls setting can be used.
The 'home/navigation' buttons/hotspots were not clickable by mouse/touch because they
were blocked by their background-hotspot, which was wrongly rendered as CSS3D element above them.