Post

Replies

Boosts

Views

Activity

AVCaptureDeviceSession MediaType/DeviceType confusion
I have some confusion over the definition of MediaType versus DeviceType on the calls. It seems to me that because of similarities between the various cameras and the vague dichotomy between TrueDepth and LiDARData for measuring Depth there may be some need for refinement of the calls. My own preference would be to pass an Attribution Mask based on the bit position of the various characteristics of the device and having the bits prioritized so the BEST selection of the available devices would be chosen. For example With True Depth and LiDAR cameras both have depth data but the LiDAR is preferrable for accuracy reasons but some applications could get by with the photogrammetry mode True Depth camera if the LiDAR camera was unusable for some reason. I could see an option that said "Depth but no LiDAR" being selected. The same thing would be true for telephoto lenses versus combined with Wide or Ultrawide (or Hyper-Wide later). Audio streaming would have the same kind of issues with performance levels for input and output being narrowly defined. The question also arises why Device Type allows an array to be passed but not Media Type. It would seem reasonable for both.
0
0
628
Mar ’23
Differences between WWDC Video and Sample Application
Why are there differences between the Sample application in the download and the code presented in the video? Specifically there are different Imports. I noticed that when I made references to some of the AR functions in. change I made it would not compile clean until I added an import of the ARKit and the Reality Kit even though both are in the RoomPlan import. Does the scope of definitinons get limited to that of the Imported symbols?
0
0
648
Mar ’23
The definition for PolygonCorners leaves much to be desired in terms of complexity.
The definition for PolygonCorners given in the document at the index https://developer.apple.com/documentation/roomplan/capturedroom/surface/polygoncorners. Is woefully lacking. To validly link the sides of a polygon from the definition of a corner there needs to be an incoming and outgoing line descriptor that points to the next subsequent corner of the polygon. Just like a line has two endpoints, the edges of a polygon have corners to which any corner may be linked and it is an ordered set forwards and backwards, in the case of a 2D polygon. In the case of a 3D polygon, such a corner would likely have at the very least third directional connection giving depth of that point. In a 3D geometry you may have one point that has multiple points going in another direction much like the facet cuts of a Brilliant Cut Diamond. This sibling relationship of the corner points would complicate the definition but not impossibly so.
2
0
780
Jun ’23
Great job on the IOS17/Xcode15 version of RoomPlan... except
I was happy to see the improvements in the Capture Side of RoomPlan, particularly the Polygon handling for the walls. Unfortunately, the Walls with 5 Vertices (Great Room Ceilings, Garage exteriors, etc) are projected in the viewers as having 4 Vertices and the top edge of the wall is projected upwards to the highest point between the two vertices leading to the peak. I am presuming that from this manifestation there must be some presumed 4-ness of all walls that leads to use of the Extent of the uppermost point rather than a projection of the lines to the point where the lines meet at the top. What viewer can be used that properly handles this misrepresentation of the imagery? I have imagery but your download only accepts pure files and will not take a USDZ file even retyped as TXT files
1
0
677
Jun ’23
RoomPlan Categories and Models
In the presentation there was a reference to a Parent/Child relationship. The parent for doors and Windows might be Walls but the relationship between Walls or multiple Windows or doors would be that of a "Sibling" or "Peer" component to maintain logical consistency of the objects. I would also recommend a Junction Object, which means more than an Edge because it would describe the two peer objects that were being joined, and the angle of that junction between the objects. The Junction could also describe the shape of the junction to capture any curvature or discontinuity of the junction. Multiple junctions might also be peers because they would have a junction between other adjoining surfaces giving a more complete description to the structure of the room. The parent of all of these surfaces and junctions would be the Room itself. Such a description would be useful in an architectural review of the room structure.
0
0
767
Jul ’23
Dynamic Metal Library build from download fails
The Dynamic library build for the Metal Library fails when built from the downloaded copy. It uses the name of the download as the directory name which has spaces and does not give a syntactically correct file name. Renaming the folder in which the build files reside seems to resolve that problem. Then the header files for the Dynamic library get an access denied error when trying to compile. Why are these demos released with such trivial problems? Surely someone has tried to run it previously and the demo should have been fixed or the short Readme should have been updated with instructions on how to set it up.
2
0
849
Sep ’23
Unsupported method: -[MTLComputeCommandEncoder. encodeStartWhile: offset: comparison: referenceValue:]
it appears that the Metal Debugging interface does not support this method, at least the function hashing algorithm does not have a pattern for it in the symbol dictionary as presented. Where do we get updated C- libraries and functions that sync with the things that are presented in the Demo Kits and Samples that Apple puts in the user domain? Why does this stuff get out into the wild insufficiently tested? It seems thet the demo kits made available to users should be included in the test domain used to verify new code releases. I came from a development environment where the 6 month release cycle involved automated execution of the test suite before it went beta or anywhere else.
1
0
917
Feb ’24
Could not locate file 'default-binaryarchive.metallib' in bundle.
I am running the RoomPlan Demo app and keep getting the above error and when I try to find someplace to get the archive in the Metal Libraries my searches come up blank. There are no files that show up in a search that contain such identifiers. A number of messages are displayed about "deprecated" interfaces also. Is it normal to send out demo apps that are hobbled in this way?
5
0
3.1k
Mar ’24
Priority Ordering of delegates for serving a Class with multiple delegates
It appears that when a class like the following: " class RoomCaptureViewController: UIViewController, RoomCaptureViewDelegate,ARSCNViewDelegate, MTKViewDelegate, ARSessionDelegate, RoomCaptureSessionDelegate. " has multiple delegates, the ordering of the priority of each message is delivered to a delegate by a priority sensitive order based algorithm and that one message can be processed by only one delegate and not passed off to other delegates if they don't have the proper entry points. Specifically I noted that changing the order seems to result in a delegate not getting a message that it should be seeing. Is there a "handoff" call that can be made after a delegate has seen a message but needs to pass it off to another delegate for processing? This is a protocol typically utilized in Interrupt handlers for PCIe and other messaging protocols and I have not been able to find a similar capability In the voluminous documentation available for IOS and Mac systems. I would also like to know how a message is dispatched by a class to the particular delegate for which the message was intended. Is there a detailed document that explains how the messaging protocol works that is not so fragmented as to require having multiple monitors open in order to form a coherent picture of the messaging interface for Delegates belonging to a class?
3
0
813
Apr ’24
Trying to analyze an apparently hung data collection for Room plan
Where do I start with this error? I am using the Metal Debugger and have.a bunch of stuck command buffers. how do I look at the command buffers to see the errors? My suspicion is that the cause is some sort of memory leak. Not having access to the source for Metal leaves me stuck. The following message shows up in the logging pane of the execution. Execution of the command buffer was aborted due to an error during execution. Ignored (for causing prior/excessive GPU errors) (00000004:kIOGPUCommandBufferCallbackErrorSubmissionsIgnored) Type: Error | Timestamp: 2024-04-11 14:16:13.464336-05:00 | Library: Metal | Subsystem: Metal | Category: Default | TID: 0x2a0b8c I just need some guidance
0
0
704
Apr ’24
Timestamped Xcode Log Message How do I parse this to find source of error?
with the latest Xcode that runs with Mac OS 14.5 Developer Beta has messages with a time and date in them There are also some other fields of an indeterminate origin/type. "2024-05-06 15:37:32.383996-0500 RoomPlanExampleApp[24190:1708576] [CAMetalLayerDrawable texture] should not be called after already presenting this drawable. Get a nextDrawable instead." specifically I need to know how the string [24190:1708576] relates to a location in my application so I can act on the message. I certainly can't find the text in the "[CAMetalLayerDrawable texture]". field anywhere in the user documentation OR the Development documentation. In order for a diagnostic message to be Actionable and remedied by a user it must identify the module and source line of the initiating code and there must be accessible documentation for users to access to get an explanation of potential remedies.. This interface fails to supply enough information to diagnose the problem. The label in [CAMetalLayerDrawable texture] cannot even be found in a search of the package information attached to the Xcode Release paired with the IOS and Mac OS system releases.
2
0
1.1k
May ’24