When the Tftcentral website says that chromaticity is what defines a colour gamut, they are doing so in the context of video screens which add light emitting primary colours, which are generated independently of each other. In that context it is true, but surface colours which reflect light work differently, so chromaticity can be misleading as a diagram to display Pointer’s gamut of surface colours. Unfortunately there is not an easy way to display a complex three dimensional shape like Pointer’s gamut.
RGB 255, 255, 255 may technically be outside of Pointer’s gamut if it is assumed to represent a surface which reflects 100% of white light, as I think even the purest white object only reflects around 98% of white light, but in general I would assume RGB 255, 255, 255 would represent the brightest white in the image, rather than theoretical pure white, so that technically correct definition might not be what is required in practice.
Chromaticity is technically accurate, but it can be misleading without the luminosity, as I will try and explain. Chromaticity was initially based on the study of coloured lights. Video screens work by combining different coloured lights. If you have a video screen which can display a light which is 20% of the luminosity of the sRGB blue component of white light without any red or green, then it can also display 80% or 100% of the luminosity without any red or green. This means the three dimensional gamut of a video screen has vertical sides with regards to luminosity until the limit of white is reached, so the triangle of chromaticity is giving a good idea of the shape of the gamut.
(see https://www.sciencedirect.com/topics/engineering/gamut-color for a 3D display of sRGB in chromaticity and luminosity)
This is not the case with reflected colours. You might have a pigment which reflects 20% of the luminosity of the blue component of white light without any red or green, but that does not mean that you will have a pigment which reflects 80% or 100% of the blue component without any red or green. It is always possible to mix black pigment and get a darker colour at the same chromaticity, but if you add white pigment, you will be adding red and green reflectivity and changing the chromaticity. This means that the surface colour gamut begins wider at lower luminosity, but unlike the video screen gamut the range of chromaticity reduces earlier as luminosity increases.
You might have an sRGB colour which has a chromaticity which is the same as the chromaticity which exists as a surface colour, but where the luminosity of the sRGB colour is too high to exist as a surface colour, and you will not be able to tell that from the two dimensional chromaticity chart, so it can be misleading.
The human visual system, and cameras which replicate the human visual system, treat the highest luminosity in view as pure white. You might need to assume that an sRGB 255, 255, 255 pixel could be of a surface which is only reflecting >90% of the white light. There is no way of knowing what percentage is actually being reflected. The moon appears white in the night sky despite being a dull gray in reality. This would in turn mean that all sRGB pixels in the image would need to be adjusted by 5% to 10% to get the actual surface colour of the object in the image in the tool you are checking. This should put the sRGB 255, 255, 255 pixels within pointer’s gamut in the tool as well.
(N.B. if you are not already doing so, you need to take into account that sRGB values are gamma encoded, and you should convert to linear sRGB for this adjustment.)
Edit to explain the limits of a camera measuring RGB values, and whitepoint:
When measuring colours in a laboratory, you will have a known light source, and can calibrate with a known chemical pigment such as Barium Sulfate (BaSO4), so you know what proportion of the light a surface is reflecting. By this measure no physical object will reflect 100% of light and be RGB (255, 255, 255). Let’s say you measure a surface which has reflectance equivalent to RGB (240, 238, 230), and you then display that RGB on a video screen. Now imagine you scale the RGB values by a fixed proportion so that the largest value is 255, so you get RGB (255, 253, 244), and display that on a second video screen, but turn the brightness down so that the images match. The physical light being displayed by these two screens is identical. If you take a picture with a camera responding to that physical light, there is no way to recreate the RGB values of (240, 238, 230) from the first screen. The chromaticity of both values is the same, but the luminosity relative to the original illuminating light has been lost. The camera must assume the highest RGB value is 255 and scale the other RGB values by the same proportion, otherwise the camera is just wasting storage space. This is what makes chromaticity useful, as it is the value that stays constant when you can’t determine the relative luminosity. When analysing the photograph, it is then more sensible to assume the highest RGB value should be a typical highest reflectance value of 240, though it will always be just an estimate.
White Point is usually handled separately from luminosity. Different illuminating lights have different proportions of R, G and B, different cameras have different proportional sensitivity to R, G and B, and different video screens have slightly different proportional strengths of R, G and B emitters. If you need to ensure the colour is physically the same, you need to know the white point of the illuminating light, camera and of the video screen. I think typically the G value is kept constant and the R and B values are adjusted up or down by some proportion.
The —tolerance parameter should allow for an error in both luminosity and white balance.
An illustration of Pointer’s gamut at different luminosities:
This might be easier to understand with illustrations, here is a chart of pointers gamut at various luminosities from https://www.dpreview.com/forums/thread/4230570 (though luminosity is not the best word in this context).
The smallest black outline going from white to yellow is at the highest luminosity, with the outline widening with decreasing luminosity, and then shrinking slightly towards blue-violet at lowest luminosities. In physical mixing of pigments, increasing luminosity by adding white will change the chromaticity towards the whitepoint at the centre of the chromaticity chart. The chromaticity of the whitepoint is also the chromaticity of all neutral greys, so is within the Pointer’s gamut outline at all luminosities. In theory the chromaticity gamut of surface colours should only increase with decreasing luminosity, but the outlines here depend on the range of samples which Pointer measured, and do not necessarily contain all possible dark greens and reds.
The sRGB gamut will also eventually reduce with increasing luminosity as each light emitter reaches the luminosity needed for white, but not as quickly as Pointer’s gamut, and not in such an irregular way.
There is also an article here https://chrisbrejon.com/articles/albedo-and-pointers-gamut/ approaching this subject from the point of view of cinematography. (Albedo means something similar to luminosity in this context.)